From: keie Date: Fri, 12 Apr 1985 16:40:22 +0000 (+0000) Subject: Initial revision X-Git-Tag: release-5-5~5501 X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=ee9c5be180729dfd58942a109704a41cfbf2dc89;p=ack.git Initial revision --- diff --git a/mach/z80/libmon/char.nas.s b/mach/z80/libmon/char.nas.s new file mode 100644 index 000000000..2966cdf15 --- /dev/null +++ b/mach/z80/libmon/char.nas.s @@ -0,0 +1,44 @@ +.define putchar,getchar +! output routine in monitor for the nascom +CRT = 0x013B +! output a charcter +! entry: ascii character in a +.text +putchar: + push hl + push bc + ld hl,tab + ld b,5 +1: cp (hl) + jr z,fetch + inc hl + inc hl + djnz 1b +2: call CRT + pop bc + pop hl + ret +fetch: inc hl + ld a,(hl) + jr 2b +! conversion table for nascom characters +tab: .byte 0x0D,0x00 + .byte 0x1B,0x1E + .byte 0x08,0x1D + .byte 0x0A,0x1F + .byte 0x7F,0x00 + +KBD = 0x69 + get character from keyboard +getchar: + call KBD + jr nc,getchar + cp 0x1F + jr z,CR + cp 0x1D + jr z,BS + ret +CR: ld a,0xA + ret +BS: ld a,0x8 + ret diff --git a/mach/z80/libsys/char.nas.s b/mach/z80/libsys/char.nas.s new file mode 100644 index 000000000..2966cdf15 --- /dev/null +++ b/mach/z80/libsys/char.nas.s @@ -0,0 +1,44 @@ +.define putchar,getchar +! output routine in monitor for the nascom +CRT = 0x013B +! output a charcter +! entry: ascii character in a +.text +putchar: + push hl + push bc + ld hl,tab + ld b,5 +1: cp (hl) + jr z,fetch + inc hl + inc hl + djnz 1b +2: call CRT + pop bc + pop hl + ret +fetch: inc hl + ld a,(hl) + jr 2b +! conversion table for nascom characters +tab: .byte 0x0D,0x00 + .byte 0x1B,0x1E + .byte 0x08,0x1D + .byte 0x0A,0x1F + .byte 0x7F,0x00 + +KBD = 0x69 + get character from keyboard +getchar: + call KBD + jr nc,getchar + cp 0x1F + jr z,CR + cp 0x1D + jr z,BS + ret +CR: ld a,0xA + ret +BS: ld a,0x8 + ret