The NABU Stand-Alone Computer Project Look Mom, No Network!
This page is a repository for all the firmware, and other information developed while hacking my vintage NABU Z80 Computer, meant to be used on a network, into a stand-alone computer, with built-in
BASIC, and maybe some other stuff too down the road. There will also
be links to the various videos I release as the computer comes
together, step by step. My ultimate goal is to make the NABU into a stand-alone computer, with built-in BASIC, and later mass storage and eventually the CP/M operating system. The entire journey from
initial unboxing, to however far I get on the project, will be chronicled here. Videos and other information will be posted in a latest first format here. Scroll to the bottom of the page to start from
the beginning.
NABU Computer Hacking Videos
NABU Computer Hacking Episode 13: Making Noise!
In this video I take some code snippets I found on the internet for making sound with the AY-3-8912 sound chip and make them into a simple program for playing sounds on my NABU computer.
This is R&D for a sound system for one of my other projects, the JAZ80 Z80-based breadboard computer system. I decided to use
the same family of sound chips in the NABU in the JAZ80. While waiting
parts to arrive and hardware to get built, I decided to start working on code for the system on the NABU. Even though this code was meant for the JAZ80, it may be built out in the future into
a more complete program for use on the NABU.
Note: This minor revision of the firmware adds the Chibisound program to the monitor EEPROM at position 0x1242. You can jump to it using the "G" option of the monitor. The original NABU firmware
and Grant Searl's BASIC interpreter are not included in this release. See entry below for that firmware. This experimental monitor firmware is available in either
Intel Hex format, ready to
burn into an EEPROM, or in Z80 assembly format for your hacking pleasure.
NABU Computer Hacking Episode 12: Now With Original Firmware Integrated
By popular demand, and since it's also a really good idea, I have integrated the *original NABU firmware into my bank-switched 32K EEPROM scheme in my Stand-Alone NABU Project. This
video shows the changes in action. By
original NABU firmware I mean a modified version of the standard 4K firmware that came with my stock NABU. I had to make some modifications and re-compile it to get it to work correctly
with my bank-switching scheme. The NABU firmware still works the same way. The problem was that every instance of the firmware writing to the control register needed to be modified, since
I am using the two unused bits of the control register for the bank switching.
These changes caused a bunch of other issues, plus screwed up the checksum of the firmware. I got around all
this by commenting out the section of code that verifies the firmware checksum, and adding a bunch of NOPs to get all the calls and jumps to line up correctly again. Then I added a command
to my custom monitor program to bank-switch to the area of ROM with the modified NABU code and restart. It works, though it does give a bogus "Adapter Failure" message while booting.
With this modification in place, the NABU can now access all the great software available on the NABU Retronet, as well as operate in stand-alone mode.
In this video I also discuss some other future hardware changes I want to make to the NABU, and also discuss joysticks.
The new version of the monitor is available in Z80 Assembly format for your hacking pleasure.
Also, here is an Intel hex image of the EEPROM I am using in this video. It contains my monitor starting at
0000h, Grant Searl's BASIC interpreter at 2000h and my modified NABU original firmware starting at 4000h. Burn this image into a
28C256 EEPROM and implement the super simple bank-switching modifications explained in this earlier video to enjoy this level of flexibility on your NABU.
Click to learn how
to meet them
NABU Computer Hacking Episode 11: Goal Achieved! NABU is stand-alone!
Here I show off The completed Stand-Alone NABU Computer Project. At last I have the NABU configured as a stand-alone computer with built-in BASIC. I even rigged up a system for
loading and saving BASIC programs to an external computer until I get native mass storage working on the NABU (a project which will happen in the future). I've finally achieved
my goal of making the NABU a stand-alone computer like those of the late 70s and early 80s. Just plug it into your TV, turn it on and immediately start hacking away in BASIC.
The BASIC is built in, with room left for lots more expansion now that I have implemented a 32K bank-switched EEPROM scheme on the NABU. No more 8K limit.
This may be the last NABU video for a while as I turn my attention back to other projects that were neglected while I worked almost exclusively on the NABU for the last couple of
months.
The firmware is available in both Z80 Assembly format for your hacking pleasure, and assembled Intel Hex format,
ready to be burned directly into an EPROM or EEPROM. Either a 27C256 EPROM or a 28C256 EEPROM will work. I'd be interested to know what you do to extend or modify this code. Changes since the last release
are numerous. Here is an excerpt from the comments at the top of the assembly file.
Here is a link to a page to download Grant Searle's BASIC interpreter. Unzip the archive and extract the BASIC.HEX file.
Load it into your EEPROM starting at 2000H. Load my monitor code into the EEPROM at 0000H, and you are good to go.
;The NABU is initialized in 40 x 24 two color text mode. A version
;message is first displayed. After that a menu of commands will be
;displayed. The commands currently available are: MEM_COPY, BASIC,
;MEM_DUMP, MEM_EDIT, MEM_EXEC, HELP, HEX_LOAD, In_PORT, OUT_PORT.
;CTRL-E, which clears (Erases) the screen. Also a CTRL-G will
;make a beep, and CTRL-A will display the available character set.
;Have fun and let me know if you find any errors or issues.
;astronomermike@gmail.com
;
;Changes in this version include re-writes of many existing
;procedures, importing of many procedures from my JAZ80 Monitor
;originally written for the Teletek Systemaster computer and
;new functions for communication and file transfers over the
;HCCA interface. PORT_SCAN was removed permanently. BLOAD and
;BDUMP have been removed until I can get them working properly
;with the HCCA interface. The upper 128 characters of the
;character set have been returned. New code to support
;hardware changes allowing bank switching of up to 32K of
;EPROM/EEPROM have been added. This monitor and Grant Searle's
;BASIC interpreter are loaded at startup. BASIC files can
;be loaded from and saved to another computer using the HCCA
;interface and a suitable terminal program like Tera Term.
NABU Computer Hacking Episode 9: Is that a BASIC Prompt I See?
In this video I show off more recent firmware changes and upgrades, including a way to finally get BASIC up and running on the machine! Wow, that's an accomplishment, IMHO. The code is all
hacked together and ugly at this point, just to get things to mostly work. I need to make some changes and really clean it up before the next firmware release. I may need a bit of a break
from the NABU project for a while though. I've been working on it pretty much exclusively, and neglecting other things. So it may be a bit before I do another release. I'm getting really
close to my goal of making the NABU a stand-alone computer though. Stay tuned for future developments.
Click to learn how
to meet them
NABU Computer Hacking Episode 8: A Darn Nice TV Typewriter, And A Preview Of The Future
Okay, it's been a while since my last firmware release. Took a little vacation with my wife. When we got back, my EPROM programmer decided to die. So I had to order a new one and wait
for it to arrive before I could get back to work on the NABU firmware in my attempt to turn it into a stand-alone computer. For this firmware release I've added a few things, cleaned up a lot of things, and spent
way too much time tracking down and fixing a couple of annoying and really hard to find bugs. I also changed the background color to dark blue, which I think is more pleasant to
look at. There are much more detailed discussions of the changes in the video. At last, I think I have a decent terminal program here. It has a few quirks, that may get
ironed out in future releases. The next step is to integrate monitor functions into the code, so the computer will be able to do more than just display type-written text.
I've already gotten a few things working, and I give a sneak preview of the future monitor in this video. Getting the terminal functions and monitor functions to all play nice together will
probably be a challenge. Plus a lot of the monitor
functions were originally written for an 80 column screen. They need re-writing so they don't present as an unintelligible mess in 40 columns on the NABU. Stay tuned for future developments.
From the comments at the top of the code: NABU Stand-Alone Monitor Ver 0.7.0 By Michael Davis www.mdpub.com
With sections contributed from various others and attributed.
Free for any non-commercial use by anyone.
This is a very early version. The NABU is initialized in 40 x 24
two color text mode with keyboard input. A version message is
first displayed. After that you may type on the keyboard and your
typed text will be displayed. The display will scroll up one line
every time the last line of text is filled. The DELETE key now works
as a BACKSPACE key. There is also now a blinking underscore cursor to
show where the next character will be printed on the screen. The
only commands currently available are CTRL_A to display all characters
and CTRL-E, which clears (Erases) the screen. Also a CTRL-G will
make a beep sound like on the old-style terminals.
Have fun and let me know if you find any errors or issues.
astronomermike@gmail.com
Changes in this version include re-writes of many existing
procedures. Tracked down a couple of very elusive bugs.
Added beep at startup to verify sound working. Added
PRINT_CHARS procedure. Integrated OUT_TEXT sub from JAZ80
monitor. Changed background color and generally cleaned up stuff.
The firmware is available in both Z80 Assembly format for your hacking pleasure, and assembled Intel Hex format,
ready to be burned directly into an EPROM or EEPROM. Either a 2732 EPROM or a 28C64 EEPROM will work. I'd be interested to know what you do to extend or modify this code.
NABU Computer Hacking Episode 7: Blinking Cursor! Bigger EEPROM And Other Changes
In this video I show off some recent changes to my custom NABU monitor firmware, after a week of downtime. The cursor now blinks. Thank you Friendly Neighborhood Jesus Freak for explaining
how to do it without using interrupts. Watch the video to learn the trick. I also filtered out that annoying strange character that came up whenever I accidentally pressed two keys at once
on the keyboard. After doing some
research and experimenting, I found that a 28C256 EEPROM will work in the NABU in place of the somewhat harder to find 28C64 EEPROM. There are a few "gotcha's" to be aware of though.
The NABU EPROM socket is wired so that A13 is permanently high, and A14 floats high. Since the two high order address lines are high, the code can't be burned in at 0000h as per usual. You
will need to burn it in at 6000h instead. That is the location NABU will think is 0000h. Also, A14 sometimes isn't high immediately after a cold boot. Sometimes a reset or restart may be
needed to get the NABU to boot correctly with the 28C256.
The firmware changes made since the last release are relatively minor. so I won't be doing a new firmware release at this time. I am plowing ahead with integrating parts of my JAZ80 Monitor
into the firmware and a lot still doesn't work right. I'll do another release once things are cleaned up and working correctly. It may be a while because my EEPROM programmer died. I'm still
writing code, but with no way to test my changes, I can't get too far ahead. A new programmer should arrive shortly.
NABU Computer Hacking Episode 6: Cursor! And Another Firmware Release
By popular demand, I am releasing the firmware I have created so far while attempting to hack my NABU computer into a stand-alone system. Lots more terminal functions have been implemented.
There is now a cursor, and backspace now works.
I'm getting closer to having a stand-alone system. The next step is going to be integrating a monitor I wrote for the Teletek Systemaster project.
This firmware is in a rough, early state, with very limited functionality so far. But I get people asking for copies of it all the time. So here it is.
I am calling it Mike's NABU Monitor. This is only version 0.5.5. Still pretty basic, but people want to see examples of initializing and using the NABU video, sound and I/O.
This is a very early version. The NABU is initialized in 40 x 24
two color text mode with keyboard input. A version message is
first displayed. After that you may type on the keyboard and your
typed text will be displayed. The display will scroll up one line
every time the last line of text is filled. The DELETE key now works
as a BACKSPACE key. There is also now an underscore cursor to show
where the next character will be printed on the screen. The
only command currently available is CTRL-E, which clears
(Erases) the screen. Also a CTRL-G will make a beep.
Have fun and let me know if you find any
errors or issues. astronomermike@gmail.com
Changes in this version include re-writes of many existing
procedures, new backspace, cursor, reconcile and set position
procedures have been added. One or two experimental procedures
like PRINT_AT may or may not make it into future versions.
The firmware is available in both Z80 Assembly format for your hacking pleasure, and assembled Intel Hex format,
ready to be burned directly into an EPROM or EEPROM. Either a 2732 EPROM or a 28C64 EEPROM will work. I'd be interested to know what you do to extend or modify this code.
NABU Computer Hacking Episode 5: Another Firmware Release!
By popular demand, I am releasing the firmware I have created so far while attempting to hack my NABU computer into a stand-alone system. Lots more terminal functions have been implemented
in this firmware release.
This firmware is in a rough, early state, with very limited functionality so far. But I get people asking for copies of it all the time. So here it is.
I am calling it Mike's NABU Monitor. This is only version 0.4.3. Still pretty basic, but people want to see examples of initializing and using the NABU video, sound and I/O.
This is a very early version. The NABU is initialized in 40 x 24
two color text mode with keyboard input. A version message is
first displayed. After that you may type on the keyboard and your
typed text will be displayed. The display will scroll up one line
every time the last line of text is filled. CR_LF now works and
further typing will begin at the far left of the next row. There is
now a bell (beep) sound whenever a CTRL-G is printed. The
only command currently available is CTRL-E, which clears
(Erases) the screen. Have fun and let me know if you find any
errors or issues. astronomermike@gmail.com
Changes in this version include new scrolling and CR-LF
functions added. Also a bell sound for CTRL_G. Removed
DISP_ALL_CHARS and SKIP_AHEAD functions.
The firmware is available in both Z80 Assembly format for your hacking pleasure, and assembled Intel Hex format,
ready to be burned directly into an EPROM or EEPROM. Either a 2732 EPROM or a 28C64 EEPROM will work. I'd be interested to know what you do to extend or modify this code.
NABU Computer Hacking Episode 4: Initial Firmware Release!
By popular demand, I am releasing the firmware I have created so far while attempting to hack my NABU computer into a stand-alone system. This firmware is in a rough, early state, with very
limited functionality so far. But I get people asking for copies of it all the time. So here it is.
I am calling it Mike's NABU Monitor. This is only version 0.3.0. Pretty basic, but people want to see examples of initializing and using the NABU video and I/O.
This is a very early version of the firmware. The NABU is initialized in 40 x 24
two color text mode with keyboard input. A welcome message is
first displayed, then the entire 256 character font is displayed.
After that you may type on the keyboard and your typed text will
be displayed. There is no scrolling or cursor control yet. The
only command currently available is CTRL-E, which clears
(Erases) the screen. Have fun and let me know if you find any
errors or issues. Also let me know what you do to extend or expand on this code.
The firmware is available in both Z80 Assembly format for your hacking pleasure, and assembled Intel Hex format,
ready to be burned directly into an EPROM or EEPROM. Either a 2732 EPROM or a 28C64 EEPROM will work.
NABU Computer Hacking Episode 3: Keyboard Working & Full Font Installed
Here I continue the serious hacking on my NABU computer. I made a lot of progress on the video. The NABU now has a full 256 character font and
the keyboard is working. I can type on the keyboard and the text appears on the screen. My ultimate goal is to make this into a stand-alone computer with built-in BASIC.
NABU Computer Hacking Episode 2: Hello World!!
Here I continue the serious hacking on my brand new 40 year old NABU computer. I make a lot of progress on the video, and along the way get distracted by the sound
generator. My ultimate goal is to make this into a stand-alone computer with built-in BASIC.
NABU Computer Hacking Episode 1: Initializing The Video
Here I start serious hacking on my brand new 40 year old NABU computer. First I pull and dump the EPROM, then I begin hacking my own firmware for the machine.
My ultimate goal is to make this into a stand-alone computer with built-in BASIC.
Unboxing My NABU Computer
NABU Computer Unboxing & Testing: Let The Hacking Begin
Here I unbox my brand new 40 year old NABU computer, test it out and discuss what I'd like to do with it in the future. The computer is spotless, and works perfectly,
as much as it works without the NABU Network anyway. I was pleasantly surprised to find the computer in good cosmetic and working condition given the ugly state of the
box it came in. 40 years in a dank warehouse left the box moldy, but fortunately the contents were perfect.
More videos and firmware code as I build the NABU up in increments will be coming here soon. Check back for updates.