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:
choplifter1

choplifter2

choplifter3

robotron1

robotron2

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
*C600G

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

Status

Colecovision/Atari 2600 MiST core updates

The colecovision and Atari VCS MiST cores got small updates.

The colecovison core now supports joystick control for one player. I also made the OSD a little prettier by making it a little smaller and with a light blue background.

The Atari 2600 core now supports the difficulty setting for left and right player via the OSD.

Get the cores here: https://code.google.com/p/mist-board/source/browse/trunk/bin/cores/

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

PACE: A colecoVision core for the MiST fpga

colecoVison video game system

I decided to finish the pacedev colecovison port for the MiST. I used the platform to update the mist related pacedev files and stick the data io and osd into the framework. I wanted to use variables for the data_io ram file but mixing verilog with vhdl isn’t that easy so I used hardcoded values for now. Hopefully I can clean that up a little in the future. For now it works fine. The osd is a little wide but my clock divider can only half the frequency of the used video clock of 21.333 MHz. Enough talk just let the pictures speak for themselves:

Pitfall II on colecovison for the MiST

Zaxxon on colecovison for the MiST

From the readme:

Source files: https://github.com/wsoltys/pacedev/tree/master/sw/synth/platform/colecovision/mist
Original Source: https://svn.pacedev.net/repos/pace/sw/synth/platform/colecovision/

Update 08.07.2014:
Updated the readme with the missing keys and uploaded a new core which fixed the missing keys 5-0.