Преглед на файлове

recipes/trs80: fix double line feeds

Lines should be terminated only with a CR on this system, not CRLF.
pull/94/head
Virgil Dupras преди 4 години
родител
ревизия
bd38d46892
променени са 3 файла, в които са добавени 23 реда и са изтрити 0 реда
  1. +3
    -0
      kernel/stdio.asm
  2. +10
    -0
      recipes/trs80/README.md
  3. +10
    -0
      recipes/trs80/glue.asm

+ 3
- 0
kernel/stdio.asm Целия файл

@@ -76,6 +76,9 @@ printnstr:
pop bc
ret

; Prints a line terminator. This routine is a bit of a misnomer because it's
; designed to be overridable to, for example, printlf, but we'll live with it
; for now...
printcrlf:
push af
ld a, CR


+ 10
- 0
recipes/trs80/README.md Целия файл

@@ -151,6 +151,10 @@ A memory range dumped this way will be re-loaded at the same offset through
using the `RUN` command. Therefore, you can avoid all this work above in later
sessions by simply typing `recv` in the DOS prompt.

Note that you might want to turn `debug` off for these commands to run. I'm not
sure why, but when the debugger is on, launching the command triggers the
debugger.

## Sending binary through the RS-232 port

Once you're finished punching your program in memory, you can run it with
@@ -186,6 +190,12 @@ If there was no error during `pingpong`, the content should be exact.
Nevertheless, I recommend that you manually validate a few bytes using TRSDOS
debugger before carrying on.

*debugging tip*: Sometimes, the communication channel can be a bit stubborn and
always fail, as if some leftover data was consistently blocking the channel. It
would cause a data mismatch at the very beginning of the process, all the time.
What I do in these cases is start a `COMM *cl` session on one side and a screen
session on the other, type a few characters, and try `pingpong` again.

## Running Collapse OS

If everything went well, you can run Collapse OS with `g3000<space>`. You'll


+ 10
- 0
recipes/trs80/glue.asm Целия файл

@@ -18,6 +18,9 @@
.equ STDIO_PUTC trs80PutC
.inc "stdio.asm"

; The TRS-80 generates a double line feed if we give it both CR and LF.
.equ printcrlf printcr

; *** BASIC ***

; RAM space used in different routines for short term processing.
@@ -44,4 +47,11 @@ init:
call basInit
jp basStart

printcr:
push af
ld a, CR
call STDIO_PUTC
pop af
ret

RAMSTART:

Loading…
Отказ
Запис