User Tools

Site Tools


vc-3_system_interrupt_table

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: 22×23 console
  • Mode 1: 40×25 console
  • Mode 2: 80×25 console
  • Mode 3: still thinking, graphics, or superterminal? 1280×800 “128×40“font via 10×20 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.txt · Last modified: by appledog

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki