Initial revision
This commit is contained in:
parent
ca9a6feeb0
commit
ee9c5be180
2 changed files with 88 additions and 0 deletions
44
mach/z80/libmon/char.nas.s
Normal file
44
mach/z80/libmon/char.nas.s
Normal file
|
@ -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
|
44
mach/z80/libsys/char.nas.s
Normal file
44
mach/z80/libsys/char.nas.s
Normal file
|
@ -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
|
Loading…
Add table
Reference in a new issue