Files, Schematics, Etc
Schematics, tools, and the kitchen sink. Found a bug or design flaw? I want to hear about it!
BMOW 1
This covers virtually everything there is to know about the workings of BMOW 1. The true masochist could build a working BMOW 1 clone from these documents.
- BMOW Block Diagram - Shows the system busses and data paths for BMOW 1’s custom CPU.
- Video System Block Diagram - Shows the design of BMOW 1’s video display circuitry, the most complex subsystem in the machine.
- Layout - Shows the location of every chip on the BMOW 1 system board, color-coded by subsystem. More discussion of the layout is in this post.
- Schematic Diagrams - The whole enchilada: detailed diagrams showing every chip, every pin, and every connection.
- Wire List - A spreadsheet documenting every wire in the machine, its endpoints, and the order the wires were added. Essential for navigating the insane rat’s nest of wiring beneath the board. (The spreadsheet has embedded macros. Excel may warn you about this.)
- GAL Programming Equations - Data on the various programmable logic elements used throughout BMOW 1.
- Microcode - Source listing for the microcode that implements BMOW 1’s high-level machine instructions. Each high-level (programmer visible) instruction is implemented as a tiny program of 1 to 16 micro-instructions. The high-level instruction set that’s implemented in this microcode is a close cousin to 6502 assembly language.
- Microcode Assembler - A PC-hosted tool that reads the microcode source listing, and generates the binary data to be programmed into the microcode ROMs. It’s a custom assembler for microcode.
- BMOW simulator (requires the Microsoft .NET Framework 2.0 runtime) - A PC-hosted GUI-based BMOW 1 hardware simulator. Load a ROM image, single step the simulated machine, set breakpoints, view callstacks, reference source code, and much more.
- PC Bootloader - A PC-hosted GUI tool for downloading a program to BMOW 1’s RAM and executing it.
- Program Assembler - A PC-hosted command-line tool for assembling BMOW 1 source code into executable programs. It’s a customized version of the Acme 6502 assembler, with BMOW 1-specific extensions.
- Software Examples - Source listings from BMOW 1 programs, including the bootloader client that runs on the BMOW 1 hardware, and audio/video demos.
- Prototype Verilog Description - A Verilog model for an early prototype of the BMOW 1 CPU core. This is badly out of date now, and there are a couple of places where I cheated and wrote non-synthesizable code, so you couldn’t make hardware directly from this. Mainly for historical interest.
13 Comments so far
Leave a reply. Comments may take a few minutes to appear.
Steve, will you be posting your original verilog description also?
Sure, I’ll post it, but it’s pretty far out of date with respect to the actual hardware. I think there are a couple of non-synthesizable constructs used too.
I posted the Verilog files, but I’m afraid they’re a bit of a mess. I no longer have the microcode ROM images that date from the time of the Verilog model, and I think enough hardware details changed since then that the ROMs I posted may not be compatible with the Verilog hardware simulation. I also included the source code for test program I used to exercise the hardware, and an assembled version of the test, but I’m not sure they actually match. Bottom line: look at the .v files to see what I was thinking, but don’t be surprised if it fails horribly when you try to run it.
Great, thanks. Actually the .v files are enough to see how you initially designed it.
Congrats on your project! I was wondering: will you release an electronic (PDF?) version of your book? It seemed really interesting, visually speaking…
Three Words: BMOW Desktop Wallpaper.
Great work!
Best of luck for today at the fair!
What you’ve done is wonderful. It does my heart good to see that there are still people interested in homebrew experimentation and creation. Wire wrap! Awesome! Congratulations and thank you for letting us share in what you’ve accomplished. Bravo!
Классный комп, хочу такой.
dude,you’re good,when bmow2 come out?
你好!
简直就是绝了,你真尿性!
太牛b了!!niubility!!!crazy!i love it!