; =================================================== ; Orion-128 computer ; MONITOR Program symbols ; ; ram:f800-ram:ffff ; Disassembled by Romychs @ 2026-10-05 ; =================================================== ; Font bitmap storage area MON_CHARGEN EQU 0xf000 ; -------------------------------------------------- ; System Calls ; -------------------------------------------------- ; Keyboard read ; Out: A - key code MON_KBRD EQU 0xf803 ; Read byte from tape ; Inp: A = 0xff - with search syncro byte, 0x00 - without ; Out: A = byte from tape MON_TRD EQU 0xf806 ; Character output to screen ; Inp: C - char code MON_TV2 EQU 0xf809 ; Tape write byte ; Inp: C - byte to write MON_TWR EQU 0xf80c ; Write char to screen ; Inp: A - char MON_OUT EQU 0xf80f ; Get keyboard status ; Out: A = 0xff - key pressed ; A = 0x00 - no key pressed MON_STTS EQU 0xf812 ; Out byte in HEX form to screen ; Inp: A - byte to print MON_ASC EQU 0xf815 ; Output string ; Inp: HL -> asciiz string MON_MSG EQU 0xf818 ; Input key wo wait ; Out: A = 0xff no key pressed ; A = 0xfe rus/lat key pressed ; else A = key code MON_INKEY EQU 0xf81b ; Read cursor position ; Out: H - Y ; L - X MON_GETCUR EQU 0xf81e MON_USR_DRV EQU 0xf821 ; Read file from tape MON_TRDF EQU 0xf824 ; Write file to tape ; Inp: HL - start addres of code ; DE - end address of code MON_TWRF EQU 0xf827 ; Calculate checksum ; Inp: HL - start addres of code ; DE - end address of code ; Out: BC - checksum MON_CHKSUM EQU 0xf82a ; Unpack internal character generator MON_UNPAK EQU 0xf82d ; Read last free RAM address ; Out: HL - address MON_LASTADDR EQU 0xf830 MON_RESET EQU 0xf833 ; Read byte from RAM page ; Inp: HL - Address ; A - page 0..3 ; Out: C - result MON_RBDS EQU 0xf836 ; Write byte to RAM page ; Inp: HL - Address ; A - page 0..3 ; C - byte to write to MON_WBDS EQU 0xf839 ; Set cursor position ; Inp: H - row ; L - column MON_SET_CUR EQU 0xf83c ; Make beep sound MON_SOUND EQU 0xf83f