= VC-3 System Interrupt Table The VC-3 is a system, running on the SD-8516. == Introduction I guess this interrupt system is part of the KERNAL, so should be more "VC-3" as it is system software. What follows is a simple list of the interrupt, what it does, it's calling parameters and it's return codes. I guess this should be called "Stellar BIOS V1". == INT 10h - Video Services ; ============================================================================ ; INT 10h - VIDEO SERVICES ; Stellar BIOS Video interrupt handler ; ============================================================================ ; Function dispatch via AH register: ; AH=00h: Set video mode ; AH=01h: Set cursor shape (reserved) ; AH=02h: Set cursor position ; AH=03h: Get cursor position ; AH=0Eh: Write character at cursor (teletype) ; AH=0Fh: Get current video mode ; AH=13h: Write string at cursor ; AH=14h: Scroll screen up ; AH=15h: Clear screen ; AH=16h: Get video parameters (rows, cols) ; ============================================================================ === AH=00h: Set video mode * Returns: AL is 00 on success, 01 if the mode failed to init. Available modes: * Mode 0: 22x23 console * Mode 1: 40x25 console * Mode 2: 80x25 console * Mode 3: still thinking, graphics, or superterminal? 1280x800 "128x40"font via 10x20 charset?? === AH=01h: Set cursor shape === AH=02h: Set cursor position === AH=03h: Get cursor position === AH=0Eh: Write character (teletype) === AH=13h: Write string == INT 11h - Keyboard Services === AH=00h: Read character (non-blocking) * returns character code in AL and keyboard flags in BL. === AH=01h: Read character (blocking) * returns character code in AL, keyboard flags in BL, and time spent waiting in ms in C === AH=02h: Get keyboard flags * returns keyboard flags in AL. === AH=03h: Check if key available * returns the number of keys waiting in AL. I.E. 0=no keys available, 1+= has keys waiting. == INT 12h - String Services === AH=00h: strlen === AH=01h: strcpy === AH=02h: strcmp === AH=03h: strcat === AH=04h: atoi === AH=05h: itoa == INT 13h - Math Services === AH=00h: Multiply 16-bit === AH=01h: Divide 16-bit === AH=02h: Random number === AH=03h: Absolute value == INT 14h - Memory Services === AH=00h: memcpy === AH=01h: memset === AH=02h: memcmp == INT 15h - File/Storage (future)