petwifi/README.md
2022-07-21 22:36:35 +02:00

38 lines
1.6 KiB
Markdown

# petwifi
An ESP8266 expansion for the Commodore PET / CBM.
Unlike the C64, the Commodore PET does not have a serial port.
For that reason, most serial port adapters for the C64 don't work, and an
alternate interface must be found. Furthermore, the user port on the PET
doesn't supply any power, so an external power supply would be necessary.
There is hope, however: The cassette port supplies 5V power and has
suitable logic lines that can be used to emulate a serial port.
The drawback is that serial communication must be fully emulated in
software.
Due to the different voltage levels of the ESP8266 and the PET,
some voltage conversion is necessary. Luckily, this can be achieved with
minimal circuitry: Converting from 5V to 3.3V can be done with a
resistor divider. For the opposite direction, no conversion is
necessary, because the voltage swing from 3.3V CMOS output drivers
is sufficient to drive NMOS input gates.
Special care must be taken for the MOTOR control line (which is used as
CTS control input on the ESP): It is driven by a darlington array on
a 9V supply rail.
The other pin mappings are as follows:
| PET pin | ESP pin | Direction | Internal connection |
|----------------|---------|-----------|---------------------|
| Cassette Write | RXD | PET->ESP | VIA PB3 |
| Cassette Read | TXD | ESP->PET | PIA1 CA1 |
| Cassette Motor | CTS | PET->ESP | PIA1 CB2 |
| Cassette Sense | RTS | ESP->PET | PIA PA4 |
A suitable serial signal (RS-232-like) must be generated/decoded in
software. Make sure that no cassette port #1 access is generated while
the adapter is connected.