Category Archives: Hardware

Fixed a bug in the FPGA-Elf

My friend Ken pointed out that unlike a real Elf, my FPGA-Elf didn’t display the contents of memory if you repeatedly press the input button while in load mode with memory protect enabled.  At first I couldn’t figure out how … Continue reading

Posted in FPGA, RetroChallenge | 3 Comments

FPGA-Elf is 100 times faster than original COSMAC Elf

The original COSMAC Elf ran at 1 to 2 MHz.  Every machine cycle required eight oscillator cycles, and each instruction required two or three machine cycles, so each instruction took 8 to 12 microseconds at 2 MHz, or 16 to … Continue reading

Posted in FPGA, RetroChallenge | 1 Comment

Video of demo of FPGA-Elf

Richard Ottosen used my cell phone to shoot a short video of me demonstrating the FPGA-Elf, toggling in and running the dice demo. Thanks to Jim Donnelly, Richard Ottosen, and Jim Phillips for helping me put together the FPGA-Elf front … Continue reading

Posted in FPGA, RetroChallenge | Leave a comment

New demo for FPGA-Elf: dice

I needed a demo program for the FPGA-Elf that was at least a little more interesting than simply counting, so I wrote a dice program.  When you press the input button, it simulates rolling a pair of six-sided dice.  Perfect … Continue reading

Posted in FPGA, RetroChallenge | 2 Comments

FPGA-Elf now fully working!

After much gnashing of teeth and pulling of hair, I finally figured out what was causing load mode to fail on the real hardware despite working on the simulator.  My “next state” logic didn’t have a default value, so both … Continue reading

Posted in FPGA, RetroChallenge | Leave a comment

More FPGA-Elf photos and a video

I’ve added some photos of the completed hardware, showing the Avago hexadecimal displays to my FPGA-Elf set.  I also shot a brief video showing an LED test, though it is not using the 1802 core.  (I got the 1802 core … Continue reading

Posted in FPGA, RetroChallenge | Leave a comment

FPGA-Elf success! Well, mostly.

I got the switches wired up and working, with a little help from Richard Ottosen.  I tested the debouncer, which worked.  Then I went for broke and loaded the complete Elf system into the FPGA.  After a bit more debugging, … Continue reading

Posted in FPGA, RetroChallenge | Leave a comment

Hexadecimal LEDs wired and working

I’ve wired up the Avago hexadecimal LEDs to the FPGA board and verified that they work with some VHDL test code (not yet tried with the VHDL Elf code). Now I need to wire up the switches. Does anyone have … Continue reading

Posted in FPGA, RetroChallenge | Leave a comment

FPGA-Elf load mode fixed, now can load and run program in simulation

I changed the state machine in my Elf code to something much simpler, based on the observation that in load mode the DMA input cycle *always* is acknowledged immediately, and that I don’t have to wait for the 1802 core … Continue reading

Posted in FPGA, RetroChallenge | Leave a comment

Debugging 1802 “load mode”

I threw together a testbench for the Elf, with the switch debouncing disabled.  The testbench tries to use load mode to load a program that has an infinite loop setting and clearing the Q flag, which is available as an … Continue reading

Posted in FPGA, RetroChallenge | Leave a comment