Live data from Hacker News

Open Source FPGA Expansion Card for the Apple II

wiki.reactivemicro.com

11–18 of 18 posts

Re: Open Source FPGA Expansion Card for the Apple II

#11
post #6
post #4

If you are as curious as I were what the card looks like, then have a look at this: https://github.com/a2fpga/a2fpga_core/blob/main/boards/a2n20... I always find it impressive how integrated our electronics have become and how few components are required to achieve what would have taken large, crowded PCBs in the past.

Project co-creator here - that's actually the V1 board, the V2 board is here https://github.com/a2fpga/a2fpga_core/blob/main/boards/a2n20... and uses a slightly larger CPLD (complex programmable logic device) which is what's used to map and level shift the 5V signals from the Apple II bus to the 3.3V pins on the FPGA module. We use the Sipeed Tang Nano 20K FPGA module for the FPGA. Using a pre-built module like this…

Very cool project - I'd be all over this if I was lucky enough to own an Apple II!

(I think there's a typo in the credits section of the github Readme: you have alanswx listed as Alex Steremberg instead of Alan?)

Re: Open Source FPGA Expansion Card for the Apple II

#12
This is fantastic. I once dreamed of making a generic interface card that could be programmed at will, using, say, a raspberry pi. However, a look through the timing diagrams in Sather shows surprisingly tiny latencies between the address and r/w signals hitting the bus, and the memory value needing to be presented. I concluded that an fpga would probably be required. Always fun when you can wait a few years and someone smarter than you builds the thing you imagined!

Re: Open Source FPGA Expansion Card for the Apple II

#13
post #6

Earlier quoted context omitted.

Project co-creator here - that's actually the V1 board, the V2 board is here https://github.com/a2fpga/a2fpga_core/blob/main/boards/a2n20... and uses a slightly larger CPLD (complex programmable logic device) which is what's used to map and level shift the 5V signals from the Apple II bus to the 3.3V pins on the FPGA module. We use the Sipeed Tang Nano 20K FPGA module for the FPGA. Using a pre-built module like this…

Very cool project - I'd be all over this if I was lucky enough to own an Apple II! (I think there's a typo in the credits section of the github Readme: you have alanswx listed as Alex Steremberg instead of Alan?)

Yup, definitely Alan not Alex! Alan has been the person who has brought a lot of attention to the Apple II core in the Mister FPGA platform.

Re: Open Source FPGA Expansion Card for the Apple II

#14
post #12

This is fantastic. I once dreamed of making a generic interface card that could be programmed at will, using, say, a raspberry pi. However, a look through the timing diagrams in Sather shows surprisingly tiny latencies between the address and r/w signals hitting the bus, and the memory value needing to be presented. I concluded that an fpga would probably be required. Always fun when you can wait a few years and some…

Project co-creator here - This was something I'd wanted to do since I first started playing with FPGAs 20 years ago but the idea was resurrected during the pandemic. It's definitely easier with an FPGA but there are other projects that interface an ESP32 or RP2040 to the Apple II bus. The FPGA approach allows you to architect your logic in ways that are much closer aligned to the original hardware design and in many cases, you can directly translate Sather's logic diagrams to Verilog code. BTW, Sather's book has recently been reissued: https://www.callapple.org/books-3/understanding-the-apple-ii...

Re: Open Source FPGA Expansion Card for the Apple II

#15
Great to see the Sipeed Tang Nano modules being used - they are based on a Gowin FPGA chip and the dev modules (with HDMI and a stack of GPIO pins broken out) cost peanuts on aliexpress compared to equivalent FPGAs from more popular vendors. The vendor IDE is usable and open source tools are improving. Exciting times for embedded hobbyists.

Re: Open Source FPGA Expansion Card for the Apple II

#16
post #6
post #4

If you are as curious as I were what the card looks like, then have a look at this: https://github.com/a2fpga/a2fpga_core/blob/main/boards/a2n20... I always find it impressive how integrated our electronics have become and how few components are required to achieve what would have taken large, crowded PCBs in the past.

Project co-creator here - that's actually the V1 board, the V2 board is here https://github.com/a2fpga/a2fpga_core/blob/main/boards/a2n20... and uses a slightly larger CPLD (complex programmable logic device) which is what's used to map and level shift the 5V signals from the Apple II bus to the 3.3V pins on the FPGA module. We use the Sipeed Tang Nano 20K FPGA module for the FPGA. Using a pre-built module like this…

Quick question: my ROM03 IIgs has a Transwarp GS, SCSI card-hard disk and GGlabs 8MB RAM card. Think this would work with that configuration, or would it likely have conflicts?

Re: Open Source FPGA Expansion Card for the Apple II

#17
post #6

Earlier quoted context omitted.

Project co-creator here - that's actually the V1 board, the V2 board is here https://github.com/a2fpga/a2fpga_core/blob/main/boards/a2n20... and uses a slightly larger CPLD (complex programmable logic device) which is what's used to map and level shift the 5V signals from the Apple II bus to the 3.3V pins on the FPGA module. We use the Sipeed Tang Nano 20K FPGA module for the FPGA. Using a pre-built module like this…

Quick question: my ROM03 IIgs has a Transwarp GS, SCSI card-hard disk and GGlabs 8MB RAM card. Think this would work with that configuration, or would it likely have conflicts?

I have the exact same setup except for the SCSI card and it works with that. The issue will be if the SCSI card is in one of the slots that has been virtualized on the FPGA (4 and 7 by default), in which case there will be address range conflicts. For example, if the SCSI card is in slot 7, then it will conflict with the SuperSprite functionality which uses the address range for Slot 7. There is a "No-Sprite" version of the firmware which disables the SuperSprite or you can move the SCSI card to Slot 3 and put the A2FPGA in Slot 7. ROM03 GS units have the necessary address line signals that the A2FPGA needs on all the slots whereas previous models of the GS only had those on Slot 3.

Re: Open Source FPGA Expansion Card for the Apple II

#18
post #17

Earlier quoted context omitted.

Quick question: my ROM03 IIgs has a Transwarp GS, SCSI card-hard disk and GGlabs 8MB RAM card. Think this would work with that configuration, or would it likely have conflicts?

I have the exact same setup except for the SCSI card and it works with that. The issue will be if the SCSI card is in one of the slots that has been virtualized on the FPGA (4 and 7 by default), in which case there will be address range conflicts. For example, if the SCSI card is in slot 7, then it will conflict with the SuperSprite functionality which uses the address range for Slot 7. There is a "No-Sprite" version…

I think it's in 6 (or was it 3?), but I'll verify. Thanks for the info!
Post reply on HN