User Tools

Site Tools


vc-3_system_interrupt_table

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
vc-3_system_interrupt_table [2026/01/21 01:40] appledogvc-3_system_interrupt_table [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1
Line 1: Line 1:
-= 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". 
- 
-== Calling Convention 
-Each INT subsystem has it's own convention. However, the INT 05h system was done first so it represents a general convention you can expect going forward. 
- 
-Parameters: 
-- Function number: `AH` 
-- Small values: `AL`, `B`, `C` 
-- Pointers: `ELM`, `ELD`, `ELX` (EL-group) 
- 
-Returns: 
-- Values: `B` (or `A` if needed) 
-- Status: Carry flag 
-- Updated pointers: Same register (ELM/ELD) 
- 
-Example Code: 
-<codify armasm> 
-LDAL #'A' 
-LDB #1234 
-LDAH $11        ; VAR_SET 
-INT $05 
- 
-LDELD @string 
-LDAH $62        ; IO_GETNUM   
-INT $05 
-; B has parsed number 
-</codify> 
- 
-== 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) 
vc-3_system_interrupt_table.1768959629.txt.gz · Last modified: by appledog

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki