Recently I tried to implement the ram expansion for the Apple II+ but failed again. The test suite didn’t recognize the additional ram or the additional memory access interfered with the disc access which lays in the sdram as well.
A little disappointed I was in need of a simple new project for my little free time. The vic20 was the obvious choice as it has low demand on memory and should be easy to port. But I was wrong.
The first difficulty was to find the right sources. Unfortunately there were no sources on the fpgaarcade site where it derives from. An Internet search revealed several places with several different implementations of the same original sources.
I started with the Papilio port but didn’t succeed. I got a screen output but only with a lot of “@”s.
Even though the sources were almost identically I got more success with the de2 sources. I used BRAM instead of SRAM and the vic20 on the MiST was alive:
But there’s still a lot do to to make it usable. The refresh rate is a little odd and needs a little tuning.
An internal test cartridge and one uploaded via the MiST osd didn’t start.
Due to this the sound output isn’t tested. The vic20 is only unexpanded and needs some memory expansions.
And finally the boot time is rather long and I dunno what’s doing there (testing ram?).
Fortunately I found some resources on the net which might help me to got those topics done:
http://paradroid.automac.se/vic20ram/
http://ftp.giga.or.at/pub/c64/library/vic20.doc
The sources can be found here:
https://github.com/wsoltys/mist-cores/tree/master/vic20
Other sources:
http://forum.gadgetfactory.net/index.php?/topic/1284-vic20/
https://fador.be/fpga/vic20/
http://jderogee.tripod.com/projects/minimig_altcores/Minimig_altcores.html
Too bad about the Apple II+ core. Have you seen this link (http://www.applefritter.com/node/19543)? It may have some suggestions on how to get the RAM multiplexing working.
I won’t give up but need more time which I don’t have currently. I looked at different sources your link included and implemented it like Alex freed did (you remember the ramcard.v?) and have specs from the apple manuals. So in theory it should work 😉 either I missed something or it’s still about the shared sdram between the disk interface and the ram extension due to missing static ram.
Maybe I’ll try to port the applefritter sources one day. But we could have similar problems there as we might not have the right hardware specs which are needed there. Maybe a starter project for you? 🙂
I’m not really understanding HDL yet 🙁 what do you use to develop aside form the MiST and Quartus II? Do you have any USB cable to debug? (for example). As for specs, this manual is pretty famous: https://archive.org/details/understanding_the_apple_ii
Thanks for the link. I used the following document which is also very good: http://www.applelogic.org/files/LANGCARDMAN.pdf
For developing I use the MiST, Quartus II and an USB BLaster to upload cores directly. Similar to debugging in visual studio you can gather signal informations out of the core in real time. But I have to admit that I used that rather late as for most things I miss the fundamentals.
As you can see from my blog I started in February to compile the first cores and tried to port the first arcade core in March. I had no clue of HDL before and even now I still have basic knowledge. But you grow on your tasks and you need to take a simple core and try to port it to the mist.
Granted not many cores are left but why not start with a simple arcade core?