Planned functionality:
1. Hard drive emulation (mostly working already)
2. Real time clock for ProDOS
3. Terminal access to the Raspberry Pi
4. Web service calls from the Apple II
5. Possibly execute graphical applications on the RPi and render Apple II compatible graphics, sending them to the II for display
https://github.com/tjboldt/Apple2-IO-RPi
I think that an IO board is a really great concept for Apple II!
This is
like taking the CFFA or MicroDrive cards for storage, and extending the idea >so that there are more possibilities for IO.
I like the idea of having a multi-access file store that's backed by some >Linux/Mac OS X machine where the modern OS can access the files in its
native format, and the Apple II can also access these files via what appears >to be a ProDOS volume-- all coordinated by your IO card.
I have designed a new expansion card for the Apple II that takes a Raspberr= >y Pi Zero W as a daughter board.
1. Hard drive emulation (mostly working already)
2. Real time clock for ProDOS
3. Terminal access to the Raspberry Pi
4. Web service calls from the Apple II
5. Possibly execute graphical applications on the RPi and render Apple II c= >ompatible graphics, sending them to the II for display
https://github.com/tjboldt/Apple2-IO-RPi
I certainly don't want to hijack this thread but I think it might make
sense to briefly present the ideas I had so far. Maybe there's
something in them inspires somebody else...
1.1 One option is a FTDI USB chip in a parallel FIFO operation mode,
e.g. the FT245R in 'USB to MCU FIFO Interface' mode. These chips have
1.2 Another at first sight pretty strange option is a WIZnet W5100
combined with a SMSC LAN9512. The Ethernet PHYs of the two chips are
2. One of the things I like about the A2 is how quickly/easily it
reboots. On the other hand the RPi boots pretty slowly. It isn't fun
to have the RPi reboot everytime the A2 is power-cycled. I imagine
that supercapacitors might be a very elegant way to keep the RPi alive
while powercycling the A2.
Like ADTPro - https://adtpro.com/protocolv1.html#Read3 ;-)
3. Terminal access to the Raspberry PiAnd from my POV even more interesting connecting from there via SSH to "everywhere". What are your plans on the A2 software? A PROterm custom interface driver? In case you're more after a small, fast, bare bones
code base than a feature monster you might consider https://github.com/cc65/ip65/blob/master/drivers/a2vt100.s an
option...
4. Web service calls from the Apple IIYeah, I was thinking about an RPC interface to (a subset of) the cURL functions.
5. Possibly execute graphical applications on the RPi and render Apple II c= >ompatible graphics, sending them to the II for displayThought about that one a lot. With an interface like I it describe in
1.) and an A2 program moving bytes directly from the interface into
the A2 hires screen RAM even decent frame rates are possible.
Unforunately I'm far from being a Linux hacker but I presume a
'virtual framebuffer' driver would be the suitable approach for the
sending side on the RPi.
6. Printer emulation based on https://github.com/RWAP/PrinterToPDF
1.1 One option is a FTDI USB chip in a parallel FIFO operation mode,=20
e.g. the FT245R in 'USB to MCU FIFO Interface' mode. These chips have=20
1.2 Another at first sight pretty strange option is a WIZnet W5100=20
combined with a SMSC LAN9512. The Ethernet PHYs of the two chips are=20
The primary reason for creating this project was for something to do during=
the winter and COVID-19 lockdown. I had considered ways of making the boar=
d much faster (for sure the Apple II is the bottleneck) but also wanted to = >keep it simple to create as a hobby. The current design is slow but is easy=
to understand and anyone with moderate soldering skills can put it togethe=
r themselves.
2. One of the things I like about the A2 is how quickly/easily it=20
reboots. On the other hand the RPi boots pretty slowly. It isn't fun=20
to have the RPi reboot everytime the A2 is power-cycled. I imagine=20
that supercapacitors might be a very elegant way to keep the RPi alive=20
while powercycling the A2.
The RPi does not seem to reboot when I restart the Apple II. It only pulls = >the reset line low, not disconnect power.
So really only the initial boot o=
n power-up is slow. I get around this by using one of my previous projects.=
It boots quickly on power-up (ProDOS boot + BASIC.SYSTEM in 1.5 seconds). =
It's not ideal but helps take away some of the slow initial boot frustratio= >n. Someday I might combine the two designs... Boot out of ROM and then pres= >ent a second drive from the RPi.
4. Web service calls from the Apple IIYeah, I was thinking about an RPC interface to (a subset of) the cURL=20
functions.=20
I need to think of some use cases for this.
It seems like something useful =
in general but having the II have to fill out and parse JSON seems a bit mu= >ch.
Once again, it's just a rough idea in my head. Perhaps something similar to=
a VNC protocol, sending changed chunks of graphics instead of rendering th=
e entire page. Maybe even leverage the open source VNC and customize it to = >work with the card. That could potentially allow connections to other machi= >nes, not just the RPi. The RPi would act as a bridge between a machine serv= >ing VNC and the Apple II. This might be easier than hacking into graphics l= >ocally.
I assume you are the same Oliver Schmidt I have to thank for your work on c= >c65 that I use to write my 6502 assembler with.
Hi Oliver, hi Terence,
I really love the ideas you are discussing. And I am not a hardware guy. But wouldn't be the compute module be an better option as basis for your project instead of the Zero?
https://www.raspberrypi.org/products/compute-module-4/?variant=raspberry-pi-cm4001000
Regards,
Christian
I have designed a new expansion card for the Apple II that takes a Raspberry Pi Zero W as a daughter board. It's an early stage of the project but I have put all the hardware design and software on GitHub so anyone can follow along with the project. Sofar, with the driver in RAM, I have successfully got both reads and writes to a 32 MB virtual hard drive image stored on the Raspberry Pi. Next steps are preparing the driver for EPROM. There is a lot of work needed to improve the code including error
Planned functionality:
1. Hard drive emulation (mostly working already)
2. Real time clock for ProDOS
3. Terminal access to the Raspberry Pi
4. Web service calls from the Apple II
5. Possibly execute graphical applications on the RPi and render Apple II compatible graphics, sending them to the II for display
https://github.com/tjboldt/Apple2-IO-RPi
Regards,
Terence J. Boldt
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 546 |
Nodes: | 16 (2 / 14) |
Uptime: | 42:49:18 |
Calls: | 10,392 |
Files: | 14,064 |
Messages: | 6,417,215 |