Files
ATX64-ROMs/kernal/nbsout.s
T
2026-05-07 10:03:27 +12:00

64 lines
1.3 KiB
ArmAsm

.segment "NBSOUT"
;***************************************
;* bsout -- out character to channel *
;* determined by variable dflto: *
;* 0 -- invalid *
;* 1 -- cassette #1 *
;* 2 -- rs232 *
;* 3 -- screen *
;* 4-31 -- serial bus *
;***************************************
;
nbsout pha ;preserve .a
lda dflto ;check device
cmp #3 ;is it the screen?
;print to crt
;
pla ;restore data
jmp prt ;print on crt
;
;
;print to serial bus
;
pla
jmp ciout
bcs rstor ;abort on stop key
;
;reset buffer pointer
;
iny ;make .y=1
sty bufpt ;bufpt=1
;
;
;print to crt
;
pla ;restore data
jmp prt ;print on crt
;
;
;print to serial bus
;
pla
jmp ciout
bcs rstor ;abort on stop key
;
;reset buffer pointer
;
iny ;make .y=1
sty bufpt ;bufpt=1
;
;restore .x and .y
;
rstoa clc ;good return
rstor pla
tay
pla
tax
lda t1 ;get .a for return
bcc rstor1 ;no error
lda #00 ;stop error if c-set
rstor1 rts
read rts
wrtn rts
wrtz rts