Mercurial > repos > blastem
view fake_cpm.sz8 @ 999:238141756e67
Set sprite overflow flag if we completely consume sprite rendering capacity for the line even if there is nothing left to draw. This graphical corruption in the vertical stretching scroll section. Needs hardware confirmation.
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 30 Apr 2016 16:19:19 -0700 |
parents | cf6149b7c6e5 |
children |
line wrap: on
line source
CONSOLE_PORT equ 0 STATUS_PORT equ 1 EXIT_PORT equ 2 org $E400 jp handle_call ld a, (should_exit) dec a jr z, do_exit ld a, 1 ld (should_exit), a jp $100 do_exit: no_impl out (EXIT_PORT), a should_exit: dc.b 0 console_in: in a, (CONSOLE_PORT) ld l, a ret console_out: ld a, e out (CONSOLE_PORT), a ret get_iobyte: ld a, (3) ld l, a ret set_iobyte: ld a, e ld (3), a ret write_string: ld c, '$' jp .start .continue out (CONSOLE_PORT), a inc de .start ld a, (de) cp c jr nz, .continue ;flush output out (STATUS_PORT),a ret read_string: ld a, (de) ld c, a ld b, $A ;newline inc c inc de push de inc de jp .start .continue in a, (CONSOLE_PORT) cp b jr z, .end ld (de), a inc de .start dec c jr nz, .continue ;todo: consume excess characters .end pop hl ex de, hl sbc hl, de ld a, l ld (de), a ret console_status: in a, (STATUS_PORT) ld l, a ret handle_call: ld a, c or a jr z, do_exit dec a jr z, console_in dec a jr z, console_out dec a jr z, no_impl ;aux reader input dec a jr z, no_impl ;aux punch output dec a jr z, no_impl ;printer output dec a jr z, no_impl ;direct console IO dec a jr z, get_iobyte dec a jr z, set_iobyte dec a jr z, write_string dec a jr z, read_string dec a jr z, console_status jp no_impl