16KB RAM expansion for the Apple II+ fpga port

I’ve added a 16KB RAM expansion to the MiST port of the Apple II+. It’s seen as a language card in slot 0.

AppleII+ with language card 2
AppleII+ with language card 1

I’m also working on a Saturn 128KB RAM expansion but it’s not working yet and need some more work.
To implement both I made use of some manuals available on the net which show the control codes for those cards which need to be implemented in the hardware.

See: LANGCARDMAN.pdf Appendix D page 25
and: Saturn Systems 64K and 128K RAM Board – Operations Manual.pdf Chapter 9 page 68

Binaries are now on the MiST github repository: https://github.com/mist-devel/mist-binaries
Source: https://github.com/wsoltys/mist-cores/tree/master/apple2fpga


Apple II+ core update in december

The AppleII+ core for the MiST got a small update. I’ve added scanline support which can be enabled via the OSD.
Didn’t know that it was so easy to implement. Retromaster did some good tutorials about his control module and one feature of the osd overlay is scanline support. I looked into the source and adapt it for the MiST.
I can add it to other cores as well if there’s demand.




Apple II+ core update

And another one for today. Also the MiST Apple II+ core got a small update.
I’ve added analog joystick support which is a new feature of the recent firmware. It’s only supported for usb joysticks and not for DB9 joysticks.
I’ve added the possibility to swap joysticks via OSD. This way the usb joystick becomes joystick 0 and can be used instead of the DB9 joystick to play the games.
Unfortunately the analog joystick support is currently untested as I don’t own one.


MiST Apple II+ ready for prime

Update 18.08.2014
I’ve uploaded a new core with fixed color output and with an attempt to fix the joystick.

Finally I got the read only disk emulation working. Since the nibblelized disks are around 228KB I need to store them on the MiST sdram. This didn’t work until recently Till updated the sdram and data_io controller for another project. It was a really great moment when the Apple II booted into the dos3.3 disk 🙂
The joystick is connected but not working nicely as the Apple expects analogue signals for the x and y axis which I can’t provide yet. Below are some new screen shots:





From the readme:
This the MiST port of a reconstruction of an 1980s-era Apple ][+ implemented in VHDL for FPGAs.
Original for the DE2: http://www1.cs.columbia.edu/~sedwards/apple2fpga/
Port for the MiST: https://ws0.org/tag/apple2/

On the “Apple ][” boot screen open the OSD with F12 and choose a nibblelized disk. It will boot
the disk automatically. Use dsk2nib to convert AppleII disk images to .nib images.
The disk emulation is read only.

If you press reset (the right button on the MiST) you’ll enter Applesoft with the ] prompt.
From here you have some limited commands. See: http://www.landsnail.com/a2ref.htm
If you want to boot another disk choose a .nib image via the osd and type the following:

]CALL -151

The call command will enter the Monitor. Type the call a second time if the * prompt won’t
show the first time.
At the Monitor you can also type 6 and then Ctrl-P followed by return.
See http://vectronicsappleworld.com/appleii/dos.html#bootdos

Apple II+ running on the MiST

I’m still trying to learn on FPGA’s by porting simple stuff. Consoles and some 8 Bit home computers are easy to port as often the bios, vram and ram fits in the block ram of the EP3C25E144C8 (Cyclone III) used in the MiST.
The MiST doesn’t have any sram nor flash which is used by some ports for the ram and the bios. The fpga used in the MiST has 608,256 kbits block ram which makes around 76 kbyte addressable space which I can use to ease porting 🙂
And again I found my next project in the big pacedev source archive. It has a few Apple II projects including the II+ and the IIe. One of the Apple II+ sources seemed to be an usable candidate and I took the project of Stephen A. Edwards 1980s-era Apple II+ for porting it to the MiST.
Its not ready for prime yet as it needs some cleanup and there’s no support for external disks or programs but you can already type in some simple basic programs:

Apple2 running on the MiST

Apple2 running on the MiST

Sourcefiles: https://github.com/wsoltys/mist-cores/tree/master/apple2fpga