Apple-I Checkers AI & USB to Serial & FPGA programmer for Olimex iCE40HX8K-EVB

Started by mobluse, May 20, 2018, 09:07:51 PM

Previous topic - Next topic

mobluse

Checkers with AI for Apple 1 on FPGA, and USB to serial using programmer. YouTube video that demonstrates the system: https://youtu.be/Io8544H-qKM

I have made a fork of the FPGA programmer firmware for Olimexino-32U4 (Arduino Leonardo clone) so that it is now also a USB to serial converter. This is useful when developing FPGA-projects that use serial communication with the computer that you used to program it with. You don't have to buy an extra USB to serial converter or use an extra USB cable or port.

Set to 3.3 V before connecting it to FPGA. Start USB to serial by using BUT+RST. Hold BUT down until last restart, i.e. for a rather long time. Think of BUT as a shift-button to RST, but that must be held down a long time after RST has been released.

In order to use it as a programmer for FPGA again you have to press RST without BUT.

I use it with Apple I in Verilog. Connect D0 to GPIO7 and D1 to GPIO5 for Olimexino-32U4 and iCE40HX8K-EVB, respectively. CTS (GPIO9) is not yet implemented. Note: You must also edit rtl/boards/olimex_ice40hx8k/apple1_hx8k.v so that PS/2 is excluded, and make and program the iCE with the new apple1.bin.

To send files: Transmit delay: 200 msec/char, 700 msec/line (slow speed due to lack of support for CTS).

My intention was to load a FORTH (programming language). It seems VolksFORTH is 16 KB in size which is loaded into RAM, and then it probably requires some RAM to run. Apple I for FPGA currently only has 8 KB RAM (BRAM). Apple 1js, where I tested volksFORTH, probably has 32 KB RAM. Olimex iCE40HX8K-EVB has 512 KB external SRAM, but that is not used in Apple One for FPGA. They are interested in a pull request about this feature: https://github.com/alangarf/apple-one/issues/31 .

https://github.com/mobluse/iCE40HX1K-EVB/tree/master/programmer/olimexino-32u4%20firmware

https://github.com/alangarf/apple-one

https://github.com/alangarf/apple-one/tree/master/boards/olimex_ice40hx8k_evb_ice40-io

Checkers chapter: https://www.atariarchives.org/basicgames/showpage.php?page=40

Checkers.bas: https://linuxcoffee.com/apple1/software/

The book with Checkers in Swedish in libraries: http://libris.kb.se/bib/7755839
iCE40HX8K-EVB w/ iCE40-IO, DuinoMite-Mini, DuinoMite w/ DuinoMite-IO, Olimexino-32U4