1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-05-31 22:41:37 +00:00

Framework for Apple /// (#4)

* Skeletal support for Apple ///
This commit is contained in:
David Schmidt 2018-09-28 19:10:05 -04:00 committed by Andy McFadden
parent 76c532c6a6
commit 6d5a4cdb7d
5 changed files with 114 additions and 0 deletions

3
.gitignore vendored
View File

@ -310,3 +310,6 @@ __pycache__/
# OpenCover UI analysis results
OpenCover/
# Eclipse gorp
/.project

View File

@ -0,0 +1,29 @@
; Copyright 2018 David Schmidt. All Rights Reserved.
; See the LICENSE.txt file for distribution terms (Apache 2.0).
;
; Adapted from Apple /// reference materials
;
*SYNOPSIS Symbols from hardware I/O areas
KBD @ $C000 ;last key pressed + 128
; Other hardware registers
Z_REG @ $FFD0
D_DDRB @ $FFD2
D_DDRA @ $FFD3
TIMER1L @ $FFD8
TIMLATCH @ $FFD9
D_ACR @ $FFDB
D_PCR @ $FFDC
D_IFR @ $FFDD
D_IER @ $FFDE
E_REG @ $FFDF ;environment register (r/w)
E_IORB @ $FFE0
E_DDRB @ $FFE2
E_DDRA @ $FFE3
E_ACR @ $FFEB
E_PCR @ $FFEC
E_IFR @ $FFED
E_IER @ $FFEE
B_REG @ $FFEF

View File

@ -0,0 +1,18 @@
; Copyright 2018 David Schmidt. All Rights Reserved.
; See the LICENSE.txt file for distribution terms (Apache 2.0).
;
; Sources:
; David T. Craig's disassembly projects
*SYNOPSIS Symbols from the Apple /// monitor ROM
LMARGIN @ $58 ;left viewport margin
RMARGIN @ $59 ;right viewport margin
WINTOP @ $5A ;top of viewport
WINBTM @ $5B ;bottom of viewport
;
; Useful ROM routines.
;
REGRWTS @ $F000 ;
DRIVSEL @ $F035 ;

View File

@ -0,0 +1,47 @@
; Copyright 2018 David Schmidt. All Rights Reserved.
; See the LICENSE.txt file for distribution terms (Apache 2.0).
;
; Source: SOS programmer's guide
*SYNOPSIS SOS public addresses and constants.
; SOS MLI function codes.
*TAG SOS-MLI-Functions
SOS_REQUEST_SEG = $40
SOS_FIND_SEG = $41
SOS_CHANGE_SEG = $42
SOS_GET_SEG_INFO = $43
SOS_GET_SEG_NUM = $44
SOS_RELEASE_SEG = $45
SOS_QUIT = $65
SOS_READBLOCK = $80
SOS_WRITEBLOCK = $81
SOS_GET_TIME = $82
SOS_D_STATUS = $82
SOS_D_CONTROL = $83
SOS_GET_DEV_NUM = $84
SOS_D_INFO = $85
SOS_CREATE = $C0
SOS_DESTROY = $C1
SOS_RENAME = $C2
SOS_SET_FILE_INFO = $C3
SOS_GET_FILE_INFO = $C4
SOS_VOLUME = $C5
SOS_SET_PREFIX = $C6
SOS_GET_PREFIX = $C7
SOS_OPEN = $C8
SOS_NEWLINE = $C9
SOS_READFILE = $CA
SOS_WRITEFILE = $CB
SOS_CLOSE = $CC
SOS_FLUSH = $CD
SOS_SET_MARK = $CE
SOS_GET_MARK = $CF
SOS_SET_EOF = $D0
SOS_GET_EOF = $D1
SOS_SET_LEVEL = $D2
SOS_GET_LEVEL = $D3

View File

@ -78,6 +78,23 @@
"entry-flags":"native-long"
}
},
{
"Name" : "Apple ///",
"GroupName" : "Apple",
"Cpu" : "6502",
"Speed" : "2",
"Description" : "Apple /// system, configured for SOS.",
"SymbolFiles" : [
"RT:Apple/A3-ROM.sym65",
"RT:Apple/A3-IO.sym65",
"RT:Apple/SOS.sym65"
],
"ExtensionScripts" : [
],
"Parameters" : {
"load-address":"0x2000"
}
},
{
"Name" : "Atari 800",
"GroupName" : "Atari",