@@ -4,8 +4,7 @@ Support code for the TRS-80 recipe. Contains drivers for the | |||||
keyboard, video and floppy. At the moment, they are thin layer | keyboard, video and floppy. At the moment, they are thin layer | ||||
over the drivers provided by TRSDOS' SVC. | over the drivers provided by TRSDOS' SVC. | ||||
Load the Z80 words with "492 LOAD" and the high level part | |||||
with "498 LOAD". | |||||
Load with "492 LOAD". | |||||
There is also the RECV program at B502 and the XCOMP unit at | There is also the RECV program at B502 and the XCOMP unit at | ||||
B504 | B504 |
@@ -1 +1 @@ | |||||
1 5 LOADR+ | |||||
1 8 LOADR+ |
@@ -1 +0,0 @@ | |||||
1 2 LOADR+ |
@@ -1,4 +1,4 @@ | |||||
: _err ABORT" FDerr" ; | |||||
: _err LIT" FDerr" ERR ; | |||||
: _cylsec ( sec -- cs, return sector/cylinder for given secid ) | : _cylsec ( sec -- cs, return sector/cylinder for given secid ) | ||||
( 4 256b sectors per block, 10 sec per cyl, 40 cyl max ) | ( 4 256b sectors per block, 10 sec per cyl, 40 cyl max ) | ||||
10 /MOD ( sec cyl ) | 10 /MOD ( sec cyl ) | ||||
@@ -2,6 +2,6 @@ | |||||
: FD! ['] @WRSEC SWAP FD@! ; | : FD! ['] @WRSEC SWAP FD@! ; | ||||
: FD$ ['] FD@ BLK@* ! ['] FD! BLK!* ! ; | : FD$ ['] FD@ BLK@* ! ['] FD! BLK!* ! ; | ||||
: _err ABORT" *CLerr" ; | |||||
: _err LIT" *CLerr" ERR ; | |||||
: *CL< 0 BEGIN DROP 0x0238 @GET UNTIL ; | : *CL< 0 BEGIN DROP 0x0238 @GET UNTIL ; | ||||
: *CL> 0x0238 @PUT NOT IF _err THEN ; | : *CL> 0x0238 @PUT NOT IF _err THEN ; |
@@ -1,4 +1,4 @@ | |||||
TARGET = stage1.bin | |||||
TARGET = os.bin | |||||
EDIR = ../../emul | EDIR = ../../emul | ||||
STAGE = $(EDIR)/stage | STAGE = $(EDIR)/stage | ||||
@@ -67,10 +67,10 @@ kind of reception! You're gonna feel real badass about it too... | |||||
* `_` is `CLEAR+ENTER`. | * `_` is `CLEAR+ENTER`. | ||||
## Building the stage 1 | |||||
## Building the binary | |||||
You can start the process by building the stage 1 binary. Running `make` in | |||||
this folder will yield a `stage1.bin` file. You'll need it later. | |||||
You can build the binary to send to the TRS-80 with `make`, which will yield | |||||
`os.bin`. You'll need it later. | |||||
## Testing serial communication | ## Testing serial communication | ||||
@@ -7,14 +7,13 @@ RS_ADDR 0x80 - CONSTANT RAMSTART | |||||
0x3000 BIN( ! | 0x3000 BIN( ! | ||||
282 LOAD ( boot.z80 ) | 282 LOAD ( boot.z80 ) | ||||
492 LOAD ( trs80.z80 ) | |||||
393 LOAD ( xcomp core low ) | 393 LOAD ( xcomp core low ) | ||||
492 LOAD ( trs80 ) | |||||
420 LOAD ( xcomp core high ) | 420 LOAD ( xcomp core high ) | ||||
(entry) _ | (entry) _ | ||||
( Update LATEST ) | ( Update LATEST ) | ||||
PC ORG @ 8 + ! | PC ORG @ 8 + ! | ||||
," CURRENT @ HERE ! " | ," CURRENT @ HERE ! " | ||||
499 500 XPACKR ( trs80.fs ) | |||||
( 0x0a == NLPTR. TRS-80 wants CR-only newlines ) | ( 0x0a == NLPTR. TRS-80 wants CR-only newlines ) | ||||
," : _ ['] CR 0x0a RAM+ ! BLK$ FD$ (ok) RDLN$ ; _ " | ," : _ ['] CR 0x0a RAM+ ! BLK$ FD$ (ok) RDLN$ ; _ " | ||||
ORG @ 256 /MOD 2 PC! 2 PC! | ORG @ 256 /MOD 2 PC! 2 PC! | ||||