VolksForth/msdos/bios.vid

1 line
9.0 KiB
Plaintext
Raw Normal View History

2020-06-19 20:32:10 +00:00
This video display interface utilizes the ROM BIOS call $10. The display is fairly fast and should work on most IBM compatible computers \ BIOS display interface ks 1 secas 09jun20 Onlyforth \needs Assembler 2 loadfrom asm.fb Variable dpage dpage off Variable top top off Code (at ( lin col -- ) A pop R push U push dpage #) R+ mov A- D+ mov 2 # A+ mov $10 int U pop R pop D pop Next end-code Code (at? ( -- lin col ) D push R push U push dpage #) R+ mov 3 # A+ mov $10 int U pop R pop D+ A- mov 0 # A+ mov A+ D+ mov A push Next end-code 1 6 +thru .( BIOS display interface active) cr \ BIOS normal invers blankline ks 1 sep 86 : full top off ; Variable attribut 7 attribut ! : normal 7 attribut ! ; : invers $70 attribut ! ; : underline 1 attribut ! ; : bright $F attribut ! ; Code blankline D push R push U push dpage #) R+ mov attribut #) R- mov 3 # A+ mov $10 int ' c/row >body #) C mov D- C- sub bl # A- mov 9 # A+ mov $10 int U pop R pop D pop Next end-code | : lineerase 0 (at blankline ; \ curshape setpage curat? ks 8 mar 88 Code curshape ( top bot -- ) D C mov D pop D- C+ mov 1 # A+ mov $10 int D pop Next end-code Code setpage ( n -- ) $503 # A mov D- A- and $10 int D pop Next end-code ' (at? Alias curat?