I’ve been working on a new card for the Apple II that would extend its capabilities using my favorite Wi-Fi module: the ESP32. I decided to called it a soft card, because similarly to the original Z80 SoftCard it contains its own processor allowing it to run software not originally meant for the Apple II. And similarly to the original 80-column card that was needed, it produces its own composite video enabled through a soft switch. Both NTSC and PAL are supported and can be switched using a command. In addition it can produce 8-bit sound that is mixed and played through the Apple II speaker. For most of its applications the card also needs a FAT32 formatted microSD card.
So far it has the following capabilities:
- Connect to the Internet through Wi-Fi.
- Listen to Internet radio or play MP3 files stored on the SD card or streamed from a URL. Playback can remain in the background while running Apple II programs.
- Play videos stored on the SD card or streamed from a URL. The maximum resolution is 320x240.
- Run Doom. Its shareware or full WAD files and MP3 music need to be placed in a folder of the SD card.
- Run Wolfenstein 3D. A shareware or a full version of the game needs to be in a folder of the SD card.
- Emulate a Macintosh classic. The ROM and floppy/hard drive images need to be on the SD card.
- Emulate SEGA and NES. Game ROMs need to be on the SD card.
- A rudimentary 80x25 text mode command console with DOS-like commands.
- A rudimentary text based FTP client.
- Support for an Apple II joystick. The joystick can be used in Doom, Wolfenstein 3D, SEGA, NES and the Macintosh emulator, where it can either be a regular joystick or emulate a mouse.
- Support for grayscale mode for monochrome monitors.
- In progress: support for the Apple Mouse II.
- In progress: horizontal and vertical centering of the picture and overscan/underscan adjustments and persistence.
- In progress: over-the-air firmware update capability.
This card does not have a boot capability and it uses a program that I wrote in Basic and compiled in Einstein, which locates the card and interfaces with it. So far it has been tested on Apple IIe, Apple II+ and Pravetz 82. It doesn’t require ProDOS and it can run on 48K.
Most of the work and challenges so far have been on the software side, so until now I have been developing it using a prototype board and kept the schematics in Paint. However inspired by the Dan ][ Controller’s retro look, I decided it's finally time to put everything in KiCad and do the PCB. I am planning to order the first 5 boards within the next day or two.