I ordered a Cyclone two board to give Grant Searle's Multicomputer a try. I also ordered an RS-232 level converter and the USB Blaster which brought the total up to about $50 from Amazon. I followed Grant's instructions on the code, found a bit of guidance on building and loading the code, and was surprised as I could be when I power it up, loaded it, and it came up working the first time.
But then...
I had been working on a monitor and some revisions to BASIC that I had tested on the Symon Emulator. I couldn't seem to get them working but eventually discovered that I not only had to change the ACIA address, but that a pair of BEQs had to be changed to BNEs based on the code Grant provided. (Eventually had to hand disassemble the routines before I noticed the difference.)
Attachment:
File comment: Boot Screen
pup.jpg [ 51.09 KiB | Viewed 3515 times ]
The to-do list is to add external RAM and also to give his UK101 implementation a try. (Want to try to get the UK101 running NTSC which I think I can with some of his sample code. Basically my goal is to try to build an FPGA based Ohio Scientific C1P which was the first computer I owned back in 1980.)
Have a couple of other projects in the queue (including a Dodo kit I hope to get to this week while I'm off on vacation).
I have to admit that once you invest the time to figure out the FPGA and the money in the USB Blaster, there seems to be a lot of potential.
Thanks,
Jim W4JBM
EDIT
Here is an updated picture of the project:
Attachment:
IMG_20170617_133958.jpg [ 415.02 KiB | Viewed 3347 times ]
It is mounted on a breadboard as a base. That is mainly for convenience and mechanical stability. From the lower left-hand corner going clockwise there is a Cyclone II FPGA board (EP2C for around $20), a board with external memory (AS6C1008 that I got 5 of them for $15 shipped), a board with composite video out and PS/2 keyboard in jacks, and a pre-built TTL to RS-232 level converter for the serial port (about $10 for the one that includes the jumper block to configure handshaking).
I did get the UK 101 working with NTSC video out and have also made modifications to the VHDL code for the video to give me 24 rows by 25 lines. I want to try the original Ohio Scientific C1P ROMs next.
For the regular 6502 machine, the only thing I wish is that I had room on the FPGA for a 16K ROM instead of an 8K ROM. I could fit 12K on it, but because of the way address decoding is handled it would be three 4K ROMs. I'm debating whether to do that or just change to a single 4K ROM that includes a machine monitor that can download hex files for the rest of the things I want to do.
There is an interesting dilemma in that--I bought a USBblaster because I needed it for this board. That cost around $25. I could have bought a more powerful board with a built in JTAG programmer and USB port for what I spend on the simple board and the programmer. But, at the same time, following Grant's instructions was nearly flawless for me. The only thing I messed up was the clock and data lines on the PS/2 port and that was because I guessed the pinout of the jack wrong. (I didn't even bother to do a continuity check so that one is on me.) The only thing I've added is a pair of small capacitors--on on the memory board and the other on the PS/2 and composite board. It can run at an equivalent speed of 16.67 MHz.
Still pretty excited and geeked about this thing and trying to decide which FPGA board to move to for a bit more tinkering.
Thanks,
Jim