parent
94ed01086a
commit
a7660fba0e
13
recipes/z80mbc2/Makefile
Normal file
13
recipes/z80mbc2/Makefile
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
TARGET = os.bin
|
||||||
|
BASEDIR = ../..
|
||||||
|
EDIR = $(BASEDIR)/emul
|
||||||
|
STAGE = $(EDIR)/stage
|
||||||
|
|
||||||
|
.PHONY: all
|
||||||
|
all: $(TARGET)
|
||||||
|
$(TARGET): xcomp.fs $(STAGE)
|
||||||
|
cat xcomp.fs | $(STAGE) > $@
|
||||||
|
|
||||||
|
$(STAGE):
|
||||||
|
$(MAKE) -C $(EDIR) stage
|
||||||
|
|
41
recipes/z80mbc2/README.md
Normal file
41
recipes/z80mbc2/README.md
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
# Z80-MBC2
|
||||||
|
|
||||||
|
The [Z80-MBC2][link] combines a Z80 and an ATMEGA32A to provide a CP/m capable
|
||||||
|
computing environment. It features a SD card bootloader which makes running
|
||||||
|
Collapse OS on it rather simple.
|
||||||
|
|
||||||
|
## Recipe
|
||||||
|
|
||||||
|
In this recipe, we're going to run Collapse OS on the Z80-MBC2, interfacing
|
||||||
|
through its serial port. We're going to use the MBC's API to implement BLK on
|
||||||
|
the SD card. (the BLK part isn't done yet. TODO)
|
||||||
|
|
||||||
|
### Gathering parts
|
||||||
|
|
||||||
|
* A Z80-MBC2 computer with its SD card module and a properly flashed "IOS" on
|
||||||
|
the ATMega32A.
|
||||||
|
* A FTDI-to-TTL cable to connect to the serial port.
|
||||||
|
|
||||||
|
### Building the binary
|
||||||
|
|
||||||
|
Running `make` will yield `os.bin` which is what we want.
|
||||||
|
|
||||||
|
### Running on the Z80-MBC2
|
||||||
|
|
||||||
|
Mount the SD card on your modern computer and copy `os.bin` as `autoboot.bin`,
|
||||||
|
overwriting the binary that was previously there.
|
||||||
|
|
||||||
|
Put back the SD card in the Z80-MBC2 and power it up by connecting the FTDI
|
||||||
|
adapter to it (red: VCC, black: GND, green: TX, white: RX).
|
||||||
|
|
||||||
|
The FTDI adapter will show up as something like `ttyUSB0` (or `ttyU0` on
|
||||||
|
OpenBSD). Connect to it with `screen` or `cu` or whatever you like. Baud rate of
|
||||||
|
the Z80-MBC2 appears to be hardcoded to 115200.
|
||||||
|
|
||||||
|
Then, enable IOS program selection by holding RESET and USER at the same time,
|
||||||
|
wait 2 seconds, releasing RESET, wait 2 seconds, releasing USER. You should then
|
||||||
|
be given a 1-8 choice, with 4 being "Autoboot". Type 4.
|
||||||
|
|
||||||
|
You are now in Collapse OS.
|
||||||
|
|
||||||
|
[link]: https://hackaday.io/project/159973-z80-mbc2-a-4-ics-homebrew-z80-computer
|
19
recipes/z80mbc2/xcomp.fs
Normal file
19
recipes/z80mbc2/xcomp.fs
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
0xff00 CONSTANT RS_ADDR 0xfffa CONSTANT PS_ADDR
|
||||||
|
RS_ADDR 0x80 - CONSTANT RAMSTART
|
||||||
|
212 LOAD ( z80 assembler )
|
||||||
|
262 LOAD ( xcomp ) 270 LOAD ( xcomp overrides )
|
||||||
|
282 LOAD ( boot.z80 ) 353 LOAD ( xcomp core low )
|
||||||
|
CODE (emit)
|
||||||
|
A 1 LDrn, 1 OUTnA, HL POPqq, A L LDrr, 0 OUTnA,
|
||||||
|
;CODE
|
||||||
|
CODE (key)
|
||||||
|
BEGIN, 1 INAn, A INCr, JRZ, AGAIN,
|
||||||
|
A DECr, PUSHA,
|
||||||
|
;CODE
|
||||||
|
380 LOAD ( xcomp core high )
|
||||||
|
(entry) _
|
||||||
|
( Update LATEST )
|
||||||
|
PC ORG @ 8 + !
|
||||||
|
," CURRENT @ HERE ! " EOT,
|
||||||
|
ORG @ 256 /MOD 2 PC! 2 PC!
|
||||||
|
H@ 256 /MOD 2 PC! 2 PC!
|
Loading…
Reference in New Issue
Block a user