Compare commits

...

2 Commits

Author SHA1 Message Date
Virgil Dupras
581c6d015c Fix blk overflow in usage guide index 2020-05-22 20:39:28 -04:00
Virgil Dupras
a2136e604d rc2014/eeprom: adjust instructions
Now that adev is directly in core, things are easier.
2020-05-22 20:35:01 -04:00
4 changed files with 22 additions and 27 deletions

View File

@ -10,8 +10,7 @@ the dictionary (B30) for a word reference.
Contents Contents
4 Number literals 6 Compilation vs meta-comp. 5 Number literals 6 Compilation vs meta-comp.
8 Interpreter I/O 11 Signed-ness 8 Interpreter I/O 11 Signed-ness
14 Addressed devices 17 DOES> 14 Addressed devices 17 DOES>
18 Disk blocks 21 How blocks are organized 18 Disk blocks (cont.)
22 Addressed devices

12
blk/004
View File

@ -1,11 +1 @@
Number literals 21 How blocks are organized 22 Addressed devices
Traditional Forth often use HEX/DEC switches to go from decimal
to hexadecimal parsing. Collapse OS parses literals in a way
that is closer to C.
Straight numbers are decimals, numbers starting with "0x"
are hexadecimals (example "0x12ef"), "0b" prefixes indicate
binary (example "0b1010"), char literals are single characters
surrounded by ' (example 'X'). Char literals can't be used for
whitespaces.

12
blk/005 Normal file
View File

@ -0,0 +1,12 @@
Number literals
Traditional Forth often use HEX/DEC switches to go from decimal
to hexadecimal parsing. Collapse OS parses literals in a way
that is closer to C.
Straight numbers are decimals, numbers starting with "0x"
are hexadecimals (example "0x12ef"), "0b" prefixes indicate
binary (example "0b1010"), char literals are single characters
surrounded by ' (example 'X'). Char literals can't be used for
whitespaces.

View File

@ -34,19 +34,13 @@ I don't think you need a schematic. It's really simple.
### Building the binary ### Building the binary
You build the binary by modifying the base recipe's `xcomp` unit. This binary The binary from the base recipe has almost all it needs to write to EEPROM. The
is missing 2 things: Addressed devices and the AT28 Driver. only thing it needs is the AT28 driver from B590. You could add it to the
`xcomp` unit and rebuild, but the driver is so tiny, you're probably better off
loading it at runtime.
Addressed devices are at B140. If you read that block, you'll see that it tells If your system has mass storage, it's as easy as a LOAD. If it doesn't, you
you to load block 142. Open the `xcomp` unit and locate the ACIA driver loading can use `/tools/exec` to send `blk/591` to the RC2014.
line. Insert your new load line after that one.
Do the same thing with the AT28 driver (B590)
You also have to modify the initialization sequence at the end of the `xcomp`
unit to include `ADEV$`.
Build again, write `os.com` to EEPROM.
## Writing contents to the AT28 ## Writing contents to the AT28
@ -58,7 +52,7 @@ run this from your modern computer:
./upload <tty device> a000 <filename> ./upload <tty device> a000 <filename>
Then, activate `AT28!` with `' AT28! A!* !` and then run Then, activate `AT28!` with `' AT28! A!* !` and then run
`0xa000 0x2000 <size-of-bin> AMOVE`. `AT28!` checks every myte for integrity, `0xa000 0x2000 <size-of-bin> AMOVE`. `AT28!` checks every byte for integrity,
so it there's no error, you should be fine. Your content is now on the EEPROM! so it there's no error, you should be fine. Your content is now on the EEPROM!
Why not upload content directly to `0x2000` after having activated `AT28!`? Why not upload content directly to `0x2000` after having activated `AT28!`?