X-Git-Url: http://cloudbase.mooo.com/gitweb/z180-stamp.git/blobdiff_plain/4caee1ec599c6d78f5234b218e2ccf5e23eb4bf0..a4f40a904ef9475b007e650c2ac501d16346feb1:/z180/console.180 diff --git a/z180/console.180 b/z180/console.180 index d7b5ef6..1241d5a 100644 --- a/z180/console.180 +++ b/z180/console.180 @@ -2,47 +2,136 @@ .z80 - global $coninit - global $cists,$ci - global $co +; iobyte: +; 0 = console on AVR-System +; 1 = console on SIO/ASCI - extrn ser.init,ser.instat,ser.in,ser.out -; extrn f.init,f.in,f.out,f.i.st -; extrn msg.co + extrn iobyte + extrn ff.init,ff.i.st,ff.in + extrn ff.o.st,ff.out + if CPU_Z180 + extrn as0init,as0ista,as0inp,as0osta,as0out + extrn as1init,as1ista,as1inp,as1osta,as1out + else + extrn ser.init,ser.ist,ser.in,ser.ost,ser.out + endif + public charini + public ?const,?conin + public ?conos,?cono include config.inc + if CPU_Z180 include z180reg.inc + endif cseg -; -; -$coninit: -; call f.init + if CPU_Z180 +charini: + call ff.init + call as0init + jp as1init + +?const: + ld a,(iobyte) + and 03h + jp z,ff.i.st + dec a + jp z,as0ista + dec a + jp z,as1ista + jr nullstatus + +?conin: + ld a,(iobyte) + and 03h + jp z,ff.in + dec a + jp z,as0inp + dec a + jp z,as1inp + jr nullinput + +?conos: + ld a,(iobyte) + and 03h + jp z,ff.o.st + dec a + jp z,as0osta + dec a + jp z,as1osta + jr rettrue + +?cono: + ld a,(iobyte) + and 03h + jp z,ff.out + dec a + jp z,as0out + dec a + jp z,as1out + jr nulloutput + + else + +charini: + call ff.init + ld c,0 call ser.init + ld c,1 + jp ser.init + +?const: + ld a,(iobyte) + and 03h + jp z,ff.i.st + dec a + ld b,a + jp ser.ist + +?conin: + ld a,(iobyte) + and 03h + jp z,ff.in + dec a + ld b,a + jp ser.in + +?conos: + ld a,(iobyte) + and 03h + jp z,ff.o.st + dec a + ld b,a + jp ser.ost + +?cono: + ld a,(iobyte) + and 03h + jp z,ff.out + dec a + ld b,a + jp ser.out + endif + + +nullinput: + ld a,1Ah ret - -$cists: -; call f.i.st -; ret nz - call ser.instat + +nulloutput: + ld a,c ret - -$ci: -; call f.i.st -; jp nz,f.in - call ser.instat - jp nz,ser.in - jr $ci - -;$costs: -; jp f.o.st - -$co: -; call msg.co - jp ser.out - + +rettrue: + or 0FFh + ret + +nullstatus: + xor a + ret + end