2022-07-21 22:36:35 +02:00
|
|
|
# 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.
|
2022-07-21 22:42:22 +02:00
|
|
|
|
|
|
|
For programming info, refer to this excellent document:
|
|
|
|
http://www.6502.org/users/andre/petindex/local/pet-io-2.txt
|