Files
open-roms/STATUS.md
T

4.4 KiB

New features

Here are the features of the Open ROMs not found in the original ROMs from the 80s:

  • improved keyboard scanning, supports multi-key roll-over and rejection of spurious joystick input
  • joystick (port 1) can be used to move text cursor
  • banking in the BASIC interpreter: 61436 bytes free
  • LOAD start/end addresses are displayed, in the Final cartridge style
  • LOAD command with just the file name tries to use the last device if it's number seems sane; otherwise uses 8
  • LOAD secondary address over 255 is considered a start address; NOTE: syntax will most likely change here in the future!

Features missing

The following ROM features are currently missing:

  • most BASIC commands
  • BASIC variables
  • BASIC expression parsing
  • floating point routines
  • tape support
  • RS-232 support
  • warm start (RUN/STOP + RESTORE) - NMI is not implemented at all
  • breaking Kernal routines with RUN/STOP key

Features currently being worked on:

  • IEC support
  • DOS wedge

API status

Status of the various APIs and variables from the original ROMs

Page 0

TODO

Pages 2 & 3

TODO

BASIC

TODO

Kernal

Note: only the jump table addresses are currently supported, real routine addresses are different!

Official Kernal routines

NOTE: Even the 'DONE' routines won't support features described as missing in one of the previous chapters!

Address Name Status Remarks
$FF81 CINT PARTIAL at least PAL/NTSC detection is missing
$FF84 IOINIT PARTIAL at least SID volume handling is missing
$FF87 RAMTAS DONE
$FF8A RESTOR PARTIAL CBINV, NMINV, and USRCMD missing
$FF8D VECTOR DONE
$FF90 SETMSG DONE
$FF93 SECOND DONE
$FF96 TKSA PARTIAL should it do a turnaround?
$FF99 MEMTOP DONE
$FF9C MEMBOT DONE
$FF9F SCNKEY DONE could be better integrated with ROM
$FFA2 SETTMO NOT DONE
$FFA5 ACPTR NOT DONE * work in progress
$FFA8 CIOUT DONE
$FFAB UNTLK PARITAL * work in progress
$FFAE UNLSN DONE
$FFB1 LISTEN DONE
$FFB4 TALK PARTIAL should it do a turnaround?
$FFB7 READST DONE
$FFBA SETFLS DONE
$FFBD SETNAM DONE
$FFC0 OPEN DONE
$FFC3 CLOSE PARTIAL * work in progress
$FFC6 CHKIN PARTIAL * work in progress
$FFC9 CHKOUT PARTIAL * work in progress
$FFCC CLRCHN PARTIAL * work in progress
$FFCF CHRIN NOT DONE * work in progress
$FFD2 CHROUT NOT DONE * work in progress
$FFD5 LOAD PARTIAL no VERIFY support yet
$FFD8 SAVE NOT DONE * work in progress
$FFDB SETTIM NOT DONE
$FFDE RDTIM NOT DONE
$FFE1 STOP PARTIAL no connection with UDTIM
$FFE4 GETIN PARTIAL * work in progress
$FFE7 CLALL PARTIAL * work in progress
$FFEA UDTIM NOT DONE
$FFED SCREEN DONE
$FFF0 PLOT NOT DONE
$FFF3 IOBASE DONE

Unofficial Kernal locations

TODO