mirror of
https://github.com/sehugg/8bitworkshop.git
synced 2024-12-21 06:29:48 +00:00
atari8: started on js platform
This commit is contained in:
parent
e4af92927d
commit
ed7758d7e0
@ -203,7 +203,7 @@ if (window.location.host.endsWith('8bitworkshop.com')) {
|
|||||||
<li class="dropdown dropdown-submenu">
|
<li class="dropdown dropdown-submenu">
|
||||||
<a tabindex="-1" href="#">MAME/Other</a>
|
<a tabindex="-1" href="#">MAME/Other</a>
|
||||||
<ul class="dropdown-menu">
|
<ul class="dropdown-menu">
|
||||||
<li><a class="dropdown-item" href="?platform=atari8-800xl.mame">Atari 800XL (MAME)</a></li>
|
<li><a class="dropdown-item" href="?platform=atari8-800.xlmame">Atari 800XL (MAME)</a></li>
|
||||||
<li><a class="dropdown-item" href="?platform=atari8-5200.mame">Atari 5200 (MAME)</a></li>
|
<li><a class="dropdown-item" href="?platform=atari8-5200.mame">Atari 5200 (MAME)</a></li>
|
||||||
<hr>
|
<hr>
|
||||||
<li><a class="dropdown-item" href="?platform=vcs.stellerator">Atari 2600 (Stellerator)</a></li>
|
<li><a class="dropdown-item" href="?platform=vcs.stellerator">Atari 2600 (Stellerator)</a></li>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
|
|
||||||
; Atari 8-bit "Hello World" sample code
|
; Atari 8-bit "Hello World" sample code
|
||||||
; Written by Daniel Boris (danlb_2000@yahoo.com)
|
; Written by Daniel Boris (danlb_2000@yahoo.com)
|
||||||
; Modified by Steven Hugg @8bitworkshop
|
; Modified by Steven Hugg @8bitworkshop
|
||||||
@ -10,7 +10,7 @@
|
|||||||
include "atari.inc"
|
include "atari.inc"
|
||||||
|
|
||||||
org $a000 ;Start of left cartridge area
|
org $a000 ;Start of left cartridge area
|
||||||
Start
|
Start
|
||||||
ldx #(dlistend-dlist)
|
ldx #(dlistend-dlist)
|
||||||
dlloop ;Create Display List
|
dlloop ;Create Display List
|
||||||
lda dlist,x ;Get byte
|
lda dlist,x ;Get byte
|
||||||
@ -20,15 +20,16 @@ dlloop ;Create Display List
|
|||||||
|
|
||||||
lda #$06
|
lda #$06
|
||||||
sta CHACTL ;Set Character Control
|
sta CHACTL ;Set Character Control
|
||||||
lda #$84 ;Set color PF2
|
lda #$28
|
||||||
sta COLOR0+2
|
|
||||||
sta COLOR0+4 ; bakground
|
|
||||||
lda #$0F ;Set color PF1
|
|
||||||
sta COLOR0+1
|
|
||||||
lda #$3f
|
|
||||||
sta COLOR0+0
|
sta COLOR0+0
|
||||||
|
lda #$0F
|
||||||
|
sta COLOR0+1
|
||||||
|
lda #$d6
|
||||||
|
sta COLOR0+2
|
||||||
lda #$58
|
lda #$58
|
||||||
sta COLOR0+3
|
sta COLOR0+3
|
||||||
|
lda #$84
|
||||||
|
sta COLOR0+4 ; bakground
|
||||||
lda #$00 ;Set Display list pointer
|
lda #$00 ;Set Display list pointer
|
||||||
sta SDLSTL ;Shadow DLISTL
|
sta SDLSTL ;Shadow DLISTL
|
||||||
lda #$10
|
lda #$10
|
||||||
@ -36,6 +37,7 @@ dlloop ;Create Display List
|
|||||||
lda #$e0 ;Set Charcter Set Base
|
lda #$e0 ;Set Charcter Set Base
|
||||||
sta CHBAS
|
sta CHBAS
|
||||||
lda #$22 ;Enable DMA
|
lda #$22 ;Enable DMA
|
||||||
|
lda #$21
|
||||||
sta SDMCTL ;Shadow DMACTL
|
sta SDMCTL ;Shadow DMACTL
|
||||||
|
|
||||||
print
|
print
|
||||||
@ -53,23 +55,38 @@ lower
|
|||||||
iny ;Next character
|
iny ;Next character
|
||||||
bne prloop
|
bne prloop
|
||||||
wait
|
wait
|
||||||
|
lda $d40b
|
||||||
|
lda $d20f
|
||||||
|
sta COLBK
|
||||||
nop
|
nop
|
||||||
jmp wait
|
jmp wait
|
||||||
|
|
||||||
;Display list data (starts at $1000)
|
;Display list data (starts at $1000)
|
||||||
dlist .byte $70,$70,$70 ;24 blank scanlines
|
dlist .byte $70,$70 ;16 blank scanlines
|
||||||
.byte $42,$00,$18,$02 ;mode 2 @ $1800
|
.byte $42,$00,$18,$02,$70 ;mode 2 @ $1800
|
||||||
.byte $43,$00,$18,$02 ;mode 3 @ $1800
|
.byte $43,$00,$18,$70 ;mode 3 @ $1800
|
||||||
.byte $44,$00,$18,$02 ;mode 4 @ $1800
|
.byte $44,$00,$18,$70 ;mode 4 @ $1800
|
||||||
.byte $45,$00,$18,$02 ;mode 5 @ $1800
|
.byte $45,$00,$18,$70 ;mode 5 @ $1800
|
||||||
.byte $46,$00,$18,$06 ;mode 6 @ $1800
|
.byte $46,$00,$18,$70 ;mode 6 @ $1800
|
||||||
.byte $47,$00,$18,$06 ;mode 7 @ $1800
|
.byte $47,$00,$18,$70 ;mode 7 @ $1800
|
||||||
|
.byte $48,$00,$18,$08,$70 ;mode 2 @ $1800
|
||||||
|
.byte $49,$00,$18,$70 ;mode 3 @ $1800
|
||||||
|
.byte $4a,$00,$18,$70 ;mode 4 @ $1800
|
||||||
|
.byte $4b,$00,$18,$70 ;mode 5 @ $1800
|
||||||
|
.byte $4c,$00,$18,$70 ;mode 6 @ $1800
|
||||||
|
.byte $4d,$00,$18,$70 ;mode 7 @ $1800
|
||||||
|
.byte $4e,$00,$18,$70 ;mode 7 @ $1800
|
||||||
|
.byte $4f,$00,$18,$70 ;mode 7 @ $1800
|
||||||
.byte $41,$00,$10 ;JMP -> $1000
|
.byte $41,$00,$10 ;JMP -> $1000
|
||||||
dlistend
|
dlistend
|
||||||
|
|
||||||
;Text data
|
;Text data
|
||||||
text1 .byte "Hello World! "
|
text1 .byte "Hejjo World! "
|
||||||
.byte $a1,$a2,$a3
|
.byte $a1,$a2,$a3
|
||||||
|
.repeat 40
|
||||||
|
.byte 32
|
||||||
|
.repend
|
||||||
|
.byte "oops!"
|
||||||
.byte 0
|
.byte 0
|
||||||
|
|
||||||
;Cartridge footer
|
;Cartridge footer
|
839
res/altirra/kernel.lab
Normal file
839
res/altirra/kernel.lab
Normal file
@ -0,0 +1,839 @@
|
|||||||
|
mads 2.1.0
|
||||||
|
Label table:
|
||||||
|
00 0000 _KERNEL_PBI_SUPPORT
|
||||||
|
00 0000 _KERNEL_USE_BOOT_SCREEN
|
||||||
|
00 0001 _KERNEL_PRINTER_SUPPORT
|
||||||
|
00 D800 _AFP
|
||||||
|
00 D800 AFP
|
||||||
|
00 00E6 AFP.DOTFLAG
|
||||||
|
00 00E7 AFP.XINVERT
|
||||||
|
00 00E8 AFP.CIX0
|
||||||
|
00 00E9 AFP.SIGN
|
||||||
|
00 00EA AFP.DIGIT2
|
||||||
|
00 D820 AFP.ISPLUS
|
||||||
|
00 D821 AFP.POSTSIGN
|
||||||
|
00 D835 AFP.TINY_DENORM_LOOP
|
||||||
|
00 D83E AFP.TINY_DENORM_LOOP_EXIT
|
||||||
|
00 D83E AFP.NOT_TINY
|
||||||
|
00 D840 AFP.NEXTDIGIT
|
||||||
|
00 D862 AFP.WRITEHI
|
||||||
|
00 D86A AFP.AFTERWRITE
|
||||||
|
00 D873 AFP.ISDOT
|
||||||
|
00 D87B AFP.TERMCHECK
|
||||||
|
00 D880 AFP.TERM
|
||||||
|
00 D882 AFP.TERM_ROLLBACK_EXP
|
||||||
|
00 D88A AFP.DIGITSHIFT
|
||||||
|
00 D897 AFP.NODIGITSHIFT
|
||||||
|
00 D89A AFP.ERR_CARRYSET
|
||||||
|
00 D89B AFP.ISEXP
|
||||||
|
00 D8AF AFP.ISEXPPLUS
|
||||||
|
00 D8B0 AFP.POSTEXPSIGN
|
||||||
|
00 D8C3 AFP.NOTEXPZERO2
|
||||||
|
00 D8CE AFP.EXPTERM
|
||||||
|
00 D8D1 FP_FMUL_CARRYUP
|
||||||
|
00 D8D1 FP_FMUL_CARRYUP.ROUND_LOOP
|
||||||
|
00 D8D5 FP_FMUL_CARRYUP.DEC_ENTRY
|
||||||
|
00 D8DB FP_TAB_LO_100
|
||||||
|
00 D8E6 _FASC
|
||||||
|
00 D8E6 FASC
|
||||||
|
00 00F7 FASC.DOTCNTR
|
||||||
|
00 00F8 FASC.EXPVAL
|
||||||
|
00 00F9 FASC.TRIMBASE
|
||||||
|
00 D8F4 FASC.NOTZERO
|
||||||
|
00 D906 FASC.ISPOS
|
||||||
|
00 D91A FASC.NOEXP
|
||||||
|
00 D921 FASC.NOT_TINY
|
||||||
|
00 D935 FASC.DIGITLOOP
|
||||||
|
00 D93E FASC.NO_HIDOT
|
||||||
|
00 D949 FASC.WRITELOW
|
||||||
|
00 D952 FASC.NO_LODOT
|
||||||
|
00 D964 FASC.LZLOOP
|
||||||
|
00 D96D FASC.STOP_ZERO_TRIM
|
||||||
|
00 D973 FASC.SKIP_ZERO_TRIM
|
||||||
|
00 D976 FASC.NO_TRAILING_DOT
|
||||||
|
00 D989 FASC.EXPPOS
|
||||||
|
00 D98B FASC.EXPNEG
|
||||||
|
00 D992 FASC.TENSLOOP
|
||||||
|
00 D9A0 FASC.NOEXP2
|
||||||
|
00 D9AA IPF
|
||||||
|
00 D9B4 IPF.BYTELOOP
|
||||||
|
00 D9D2 FPI
|
||||||
|
00 00E6 FPI._ACC0
|
||||||
|
00 00E7 FPI._ACC1
|
||||||
|
00 DA36 FPI.DONE
|
||||||
|
00 DA38 FPI.ERR
|
||||||
|
00 DA39 FP_MUL10
|
||||||
|
00 DA44 ZFR0
|
||||||
|
00 DA46 ZF1
|
||||||
|
00 DA48 ZFL
|
||||||
|
00 DA4A ZFLLOOP
|
||||||
|
00 DA51 LDBUFA
|
||||||
|
00 DA5A FPILL_SHL16
|
||||||
|
00 DA66 FADD
|
||||||
|
00 DA60 FSUB
|
||||||
|
00 00E0 FSUB._DIFFMODE
|
||||||
|
00 DA66 FSUB._FADD
|
||||||
|
00 DA7C FSUB.SWAP
|
||||||
|
00 DA81 FSUB.NOSWAP
|
||||||
|
00 DA96 FSUB.ADD_NO_ROUND
|
||||||
|
00 DA9B FSUB.ADD_LOOP
|
||||||
|
00 DAA6 FSUB.POST_ADD_LOOP
|
||||||
|
00 DAAA FSUB.SUM_CARRYLOOP
|
||||||
|
00 DAB2 FSUB.SUM_CARRYLOOP_START
|
||||||
|
00 DAB8 FSUB.SUM_XIT
|
||||||
|
00 DABB FSUB.DO_SUBTRACT
|
||||||
|
00 DABF FSUB.SUB_LOOP
|
||||||
|
00 DAC7 FSUB.SUB_LOOP_ENTRY
|
||||||
|
00 DACD FP_DECTOBIN
|
||||||
|
00 DAD4 FP_EXIT_SUCCESS
|
||||||
|
00 DAD6 FP_FLD1R_CONST_FMUL
|
||||||
|
00 DAD8 FP_FLD1R_FMUL
|
||||||
|
00 DADB FMUL
|
||||||
|
00 00DF FMUL._OFFSET
|
||||||
|
00 00E6 FMUL._OFFSET2
|
||||||
|
00 DAF9 UNDERFLOW_OVERFLOW
|
||||||
|
00 DAFB FP_EXIT_ZERO
|
||||||
|
00 DAFE FP_ADJUST_EXPONENT
|
||||||
|
00 DAFE FP_ADJUST_EXPONENT.FDIV_ENTRY
|
||||||
|
00 DB03 FP_ADJUST_EXPONENT.FMUL_ENTRY
|
||||||
|
00 DB1C FPCONST_TEN
|
||||||
|
00 DB22 FPCONST_LN10
|
||||||
|
00 DB28 FDIV
|
||||||
|
00 00DB FDIV._DIGIT
|
||||||
|
00 00DC FDIV._INDEX
|
||||||
|
00 DB36 FDIV.DIGITLOOP
|
||||||
|
00 DB43 FDIV.INCLOOP
|
||||||
|
00 DB49 FDIV.DOWNLOOP
|
||||||
|
00 DB79 FDIV.NEXTDIGIT
|
||||||
|
00 DB7C FDIV.BITLOOP
|
||||||
|
00 DB9C FDIV.OK
|
||||||
|
00 DB9E FDIV.ERR
|
||||||
|
00 DBA1 SKPSPC
|
||||||
|
00 DBA5 FP_SKIPCHAR
|
||||||
|
00 DBA5 SKPSPC_LOOP
|
||||||
|
00 DBAC SKPSPC_XIT
|
||||||
|
00 DBAF ISDIGT
|
||||||
|
00 DBAF _ISDIGT
|
||||||
|
00 DBB1 FP_ISDIGIT_Y
|
||||||
|
00 DBB9 FP_FDIV_DECLOOP
|
||||||
|
00 DBB9 FP_FDIV_DECLOOP.DECLOOP
|
||||||
|
00 DBBD FP_FDIV_DECLOOP.UPLOOP
|
||||||
|
00 DBEE FP_FDIV_COMPLETE
|
||||||
|
00 DBF8 FP_FDIV_COMPLETE.NO_NORMSTEP
|
||||||
|
00 DBFF FP_NORMALIZE_CLD
|
||||||
|
00 DC00 FP_NORMALIZE
|
||||||
|
00 DC00 NORMALIZE
|
||||||
|
00 DC02 NORMALIZE.NORMLOOP
|
||||||
|
00 DC13 NORMALIZE.NEED_NORM
|
||||||
|
00 DC17 NORMALIZE.NORMLOOP2
|
||||||
|
00 DC27 NORMALIZE.XIT
|
||||||
|
00 DC29 NORMALIZE.UNDERFLOW2
|
||||||
|
00 DC2A NORMALIZE.UNDERFLOW
|
||||||
|
00 DC2D FP_FDIV_INIT
|
||||||
|
00 DC46 FP_FDIV_INIT.BITLOOP
|
||||||
|
00 DC55 FP_FDIV_INIT.START_WITH_ONES
|
||||||
|
00 DC5E FP_FSUB_CONT
|
||||||
|
00 DC62 FP_FSUB_CONT.BORROW_LOOP
|
||||||
|
00 DC6A FP_FSUB_CONT.BORROW_LOOP_START
|
||||||
|
00 DC70 FP_FSUB_CONT.DIFF_BORROW
|
||||||
|
00 DC7F FP_FSUB_CONT.SUB_XIT
|
||||||
|
00 DC7F FP_FSUB_CONT.NORM_LOOP
|
||||||
|
00 DC97 FP_FSUB_CONT.NO_ROUND
|
||||||
|
00 DC9A FP_FSUB_CONT.NEED_NORM
|
||||||
|
00 DC9C FP_FSUB_CONT.SCAN_LOOP
|
||||||
|
00 DCA5 FP_FSUB_CONT.UNDERFLOW2
|
||||||
|
00 DCA6 FP_FSUB_CONT.UNDERFLOW
|
||||||
|
00 DCAA FP_FSUB_CONT.FOUND_POS
|
||||||
|
00 DCAC FP_FSUB_CONT.SHIFT_LOOP
|
||||||
|
00 DCB5 FP_FSUB_CONT.CLEAR_LOOP
|
||||||
|
00 DCBE FP_FSUB_CONT.ROUND_UP
|
||||||
|
00 DCC3 FP_FMUL_INNERLOOP
|
||||||
|
00 00DF FP_FMUL_INNERLOOP._OFFSET
|
||||||
|
00 00E6 FP_FMUL_INNERLOOP._OFFSET2
|
||||||
|
00 DCCC FP_FMUL_INNERLOOP.OFFLOOP
|
||||||
|
00 DCCE FP_FMUL_INNERLOOP.OFFLOOP2
|
||||||
|
00 DCFF FP_FMUL_INNERLOOP.NO_CARRY
|
||||||
|
00 DCFF FP_FMUL_INNERLOOP.NOADD
|
||||||
|
00 DD35 FP_FMUL_INNERLOOP.RENORM_NEEDED
|
||||||
|
00 DD3E FP_PLYEVL_10
|
||||||
|
00 DD40 PLYEVL
|
||||||
|
00 DD50 PLYEVL.LOOP
|
||||||
|
00 DD73 PLYEVL.XIT
|
||||||
|
00 DD74 FP_SWAP
|
||||||
|
00 DD76 FP_SWAP.SWAPLOOP
|
||||||
|
00 DD87 FLD0R_ZP
|
||||||
|
00 DD89 FLD0R
|
||||||
|
00 DD8D FLD0P
|
||||||
|
00 DD8F FLD0PLOOP
|
||||||
|
00 DD98 FLD1R
|
||||||
|
00 DD9C FLD1P
|
||||||
|
00 DD9E FLD1PLOOP
|
||||||
|
00 DDA7 FST0R
|
||||||
|
00 DDAB FST0P
|
||||||
|
00 DDAD FST0PLOOP
|
||||||
|
00 DDB6 FMOVE
|
||||||
|
00 DDB8 FMOVELOOP
|
||||||
|
00 DDCC EXP10
|
||||||
|
00 DDC0 EXP
|
||||||
|
00 DDCC EXP._EXP10
|
||||||
|
00 DDDC EXP.ABS_TOO_BIG
|
||||||
|
00 DDE4 EXP.ABS_LARGE
|
||||||
|
00 DDF8 EXP.ABS_OK
|
||||||
|
00 DE0C EXP.EVEN
|
||||||
|
00 DE27 EXP.ERR2
|
||||||
|
00 DE27 EXP.XIT2
|
||||||
|
00 DE28 EXP.COEFF
|
||||||
|
00 DE64 FPCONST_LOG10_E
|
||||||
|
00 DE6A FP_CARRY_EXPUP
|
||||||
|
00 DE6E FP_CARRY_EXPUP.SUM_SHIFTLOOP
|
||||||
|
00 DE79 FP_FMUL_FR0_TO_BINFR2
|
||||||
|
00 DE7B FP_FMUL_FR0_TO_BINFR2.LOOP
|
||||||
|
00 DE8F FP_RTS1
|
||||||
|
00 DE95 REDRNG
|
||||||
|
00 DE95 _REDRNG
|
||||||
|
00 DE8F _REDRNG.FAIL
|
||||||
|
00 DED1 LOG10
|
||||||
|
00 DECD LOG
|
||||||
|
00 DED1 LOG._LOG10
|
||||||
|
00 DED4 LOG.ENTRY
|
||||||
|
00 DEF1 LOG.MID_RANGE
|
||||||
|
00 DEF8 LOG.ADJUST_EXPONENT
|
||||||
|
00 DEFC LOG.POST_RANGE_ADJUST
|
||||||
|
00 DF2F LOG.EXPADJ_POSITIVE
|
||||||
|
00 DF46 LOG.ERR
|
||||||
|
00 DF47 LOG.XIT2
|
||||||
|
00 DF47 LOG.ERR2
|
||||||
|
00 DF48 FP_TAB_LO_1000
|
||||||
|
00 DF52 FP_TAB_HI_1000
|
||||||
|
00 DF5C FP_TAB_HI_100
|
||||||
|
00 DF66 FP_TAB_HI_10000
|
||||||
|
00 DF6C FPCONST_HALF
|
||||||
|
00 DF72 FPCONST_LOG10COEFF
|
||||||
|
00 DFAE ATNCOEF
|
||||||
|
00 DFEA FP_ONE
|
||||||
|
00 DFF0 FP_PI4
|
||||||
|
00 DFF6 FP_DECTOBIN_TAB
|
||||||
|
00 E400 EDITRV
|
||||||
|
00 E410 SCRENV
|
||||||
|
00 E420 KEYBDV
|
||||||
|
00 E430 PRINTV
|
||||||
|
00 E440 CASETV
|
||||||
|
00 E450 DISKIV
|
||||||
|
00 E453 DSKINV
|
||||||
|
00 E456 CIOV
|
||||||
|
00 E459 SIOV
|
||||||
|
00 E45C SETVBV
|
||||||
|
00 E45F SYSVBV
|
||||||
|
00 E462 XITVBV
|
||||||
|
00 E465 SIOINV
|
||||||
|
00 E468 SENDEV
|
||||||
|
00 E46B INTINV
|
||||||
|
00 E46E CIOINV
|
||||||
|
00 E471 BLKBDV
|
||||||
|
00 E474 WARMSV
|
||||||
|
00 E477 COLDSV
|
||||||
|
00 E47A RBLOKV
|
||||||
|
00 E47D CSOPIV
|
||||||
|
00 E480 BLACKBOARD
|
||||||
|
00 E494 BLACKBOARD.ECHOLOOP
|
||||||
|
00 E4A6 BLACKBOARD_BANNER
|
||||||
|
00 E4C0 KNOWNRTS
|
||||||
|
00 E4C1 REVERSEDBITMASKS
|
||||||
|
00 E4C9 CIOEXITSUCCESS
|
||||||
|
00 E4CB CIOEXITSUCCESS.EXIT_NOT_SUPPORTED
|
||||||
|
00 E4CB CIOEXITNOTSUPPORTED
|
||||||
|
00 E4CC BELL
|
||||||
|
00 E4CF BELL.SOUNDLOOP
|
||||||
|
00 E4D2 BELL.DELAY
|
||||||
|
00 E4EA CIOINIT
|
||||||
|
00 E4ED CIOINIT.IOCB_LOOP
|
||||||
|
00 E4FC CIO
|
||||||
|
00 E503 CIO.XIT
|
||||||
|
00 E50E CIO.PROCESS
|
||||||
|
00 E516 CIO.CMDINVALID
|
||||||
|
00 E519 CIO.VALIDIOCB
|
||||||
|
00 E528 CIO.NOT_OPEN
|
||||||
|
00 E534 CIO.NOT_OPEN_HANDLER
|
||||||
|
00 E536 CIO.IGNOREOPEN
|
||||||
|
00 E537 CIO.PREOPEN
|
||||||
|
00 E544 CIO.ISOPEN
|
||||||
|
00 E555 CIO.SKIP_PERM_CHECK
|
||||||
|
00 E560 CIO.LOAD_VECTOR
|
||||||
|
00 E57B CIO.PERM_CHECK_FAIL
|
||||||
|
00 E580 CIO.CMDGETSTATUSSOFTOPEN
|
||||||
|
00 E583 CIO.CMDSPECIALSOFTOPEN
|
||||||
|
00 E585 CIO.INVOKE_AND_SOFT_CLOSE_XIT
|
||||||
|
00 E588 CIO.CMDOPEN
|
||||||
|
00 E590 CIO.NOTALREADYOPEN
|
||||||
|
00 E593 CIO.OPEN_ENTRY
|
||||||
|
00 E5A8 CIO.OPENOK
|
||||||
|
00 E6C2 CIO.CMDGETSTATUS
|
||||||
|
00 E5C6 CIO.CMDSPECIAL
|
||||||
|
00 E5D6 CIO.CMDGETRECORD
|
||||||
|
00 E5D8 CIO.CMDGETRECORDLOOP
|
||||||
|
00 E5D8 CIO.CMDGETRECORDGETBYTE
|
||||||
|
00 E5EE CIO.CMDGETRECORDBUFFERFULL
|
||||||
|
00 E5FB CIO.CMDGETRECORDXIT
|
||||||
|
00 E5FB CIO.CMDGETPUTDONE
|
||||||
|
00 E61D CIO.CMDGETCHARS
|
||||||
|
00 E61F CIO.CMDGETCHARSLOOP
|
||||||
|
00 E631 CIO.CMDGETCHARSERROR
|
||||||
|
00 E634 CIO.CMDGETCHARSSINGLE
|
||||||
|
00 E63A CIO.CMDPUTRECORD
|
||||||
|
00 E63C CIO.CMDPUTRECORDLOOP
|
||||||
|
00 E653 CIO.CMDPUTRECORDEOL
|
||||||
|
00 E658 CIO.CMDPUTRECORDERROR
|
||||||
|
00 E658 CIO.CMDPUTRECORDDONE
|
||||||
|
00 E65B CIO.CMDPUTCHARS
|
||||||
|
00 E65D CIO.CMDPUTCHARSLOOP
|
||||||
|
00 E66F CIO.CMDPUTCHARSSINGLE
|
||||||
|
00 E672 CIO.ADVANCE_POINTERS
|
||||||
|
00 E685 CIO.CMDCLOSE
|
||||||
|
00 E688 CIO.CMDCLOSEPROVISIONAL
|
||||||
|
00 E693 CIO.PERM_CHECK_TABLE
|
||||||
|
00 E69E CIO.VECTOR_PRELOAD_TABLE
|
||||||
|
00 E6A9 CIO.COMMAND_TABLE_LO
|
||||||
|
00 E6B4 CIO.COMMAND_TABLE_HI
|
||||||
|
00 E6BF CIOINVOKE
|
||||||
|
00 E6C2 CIOINVOKE.INVOKE_VECTOR
|
||||||
|
00 E6C4 CIOINVOKE.INVOKE_VECTOR_CIOCHR
|
||||||
|
00 E6D1 CIOLOADZIOCB
|
||||||
|
00 E6D3 CIOLOADZIOCB.COPYTOZIOCB
|
||||||
|
00 E6E0 CIOPARSEPATH
|
||||||
|
00 E6F5 CIOPARSEPATH.NODEVNUM
|
||||||
|
00 E6FC CIOPARSEPATH.UNKNOWN_DEVICE
|
||||||
|
00 E700 CIOPARSEPATH.FOUND
|
||||||
|
00 E701 CIOSETPUTBYTECLOSED
|
||||||
|
00 E70C CIOFINDHANDLER
|
||||||
|
00 E710 CIOFINDHANDLER.FINDHANDLER
|
||||||
|
00 E71A CIOFINDHANDLER.FOUNDHANDLER
|
||||||
|
00 E761 VBIEXIT
|
||||||
|
00 E71D VBISTAGE1
|
||||||
|
00 E772 VBISTAGE2
|
||||||
|
00 E71D VBIPROCESS
|
||||||
|
00 E71D VBIPROCESS.STAGE_1
|
||||||
|
00 E729 VBIPROCESS.CLOCK_DONE
|
||||||
|
00 E737 VBIPROCESS.ATTRACT_OFF
|
||||||
|
00 E750 VBIPROCESS.TIMER1_LOBYTEZERO
|
||||||
|
00 E75D VBIPROCESS.TIMER1_DONE
|
||||||
|
00 E761 VBIPROCESS.XIT
|
||||||
|
00 E765 VBIPROCESS.EXIT_A
|
||||||
|
00 E766 VBIPROCESS.EXIT_NONE
|
||||||
|
00 E767 VBIPROCESS.TIMER1_DISPATCH
|
||||||
|
00 E76A VBIPROCESS.NO_CRITIC
|
||||||
|
00 E772 VBIPROCESS.STAGE_2
|
||||||
|
00 E79C VBIPROCESS.COLORLOOP
|
||||||
|
00 E7B5 VBIPROCESS.TIMER_N_LOOP
|
||||||
|
00 E7BF VBIPROCESS.TIMER_N_NOT_EXPIRED
|
||||||
|
00 E7C2 VBIPROCESS.TIMER_N_NOT_RUNNING
|
||||||
|
00 E7E1 VBIPROCESS.NO_REPEAT_KEY
|
||||||
|
00 E7E6 VBIPROCESS.NO_REPEAT
|
||||||
|
00 E7EE VBIPROCESS.NO_KEYDEL
|
||||||
|
00 E7F0 VBIPROCESS.POT_LOOP
|
||||||
|
00 E800 VBIPROCESS.TRIG_LOOP
|
||||||
|
00 E82F VBIPROCESS.TIMER2DISPATCH
|
||||||
|
00 E832 VBIPROCESS.DO_STICK_PTRIGS
|
||||||
|
00 E851 VBIDECREMENTTIMER
|
||||||
|
00 E85D VBIDECREMENTTIMER.LOZERO_HINONZERO
|
||||||
|
00 E860 VBIDECREMENTTIMER.LONONZERO
|
||||||
|
00 E868 VBIDECREMENTTIMER.STILL_RUNNING
|
||||||
|
00 E869 VBISETVECTOR
|
||||||
|
00 E87F INTINITINTERRUPTS
|
||||||
|
00 E885 INTDISPATCHNMI
|
||||||
|
00 E88D INTDISPATCHNMI.IS_SYSTEM_RESET
|
||||||
|
00 E890 INTDISPATCHNMI.NOT_DLI
|
||||||
|
00 E8A2 INTDISPATCHIRQ
|
||||||
|
00 E765 INTEXITHANDLER_A
|
||||||
|
00 E766 INTEXITHANDLER_NONE
|
||||||
|
00 E8CD IRQHANDLER
|
||||||
|
00 E8A5 _IRQHANDLER
|
||||||
|
00 E8A5 _IRQHANDLER.DISPATCH_SEROUT
|
||||||
|
00 E8AD _IRQHANDLER.CHECK_SEROC
|
||||||
|
00 E8B2 _IRQHANDLER.DISPATCH_SEROC
|
||||||
|
00 E8B5 _IRQHANDLER.DISPATCH_TIMER1
|
||||||
|
00 E8BD _IRQHANDLER.DISPATCH_TIMER2
|
||||||
|
00 E8C5 _IRQHANDLER.DISPATCH_TIMER4
|
||||||
|
00 E8CD _IRQHANDLER._ENTRY
|
||||||
|
00 E8E2 _IRQHANDLER.NOT_SERIN
|
||||||
|
00 E8EE _IRQHANDLER.NOT_SEROC
|
||||||
|
00 E91C _IRQHANDLER.NOT_BRK
|
||||||
|
00 E920 _IRQHANDLER.DISPATCH_KEYBOARD
|
||||||
|
00 E928 _IRQHANDLER.DISPATCH_BREAK
|
||||||
|
00 E930 _IRQHANDLER.DISPATCH_PIA_IRQA
|
||||||
|
00 E936 _IRQHANDLER.DISPATCH_PIA_IRQB
|
||||||
|
00 E93C IRQACKNOWLEDGE
|
||||||
|
00 E945 SIOINIT
|
||||||
|
00 E950 SIO
|
||||||
|
00 E976 SIO.RETRY_COMMAND
|
||||||
|
00 E97B SIO.RETRY_COMMAND_2
|
||||||
|
00 E9A4 SIO.CMDDELAY
|
||||||
|
00 E9C9 SIO.COMMAND_ERROR
|
||||||
|
00 E9D3 SIO.ACKOK
|
||||||
|
00 E9E5 SIO.NO_SEND_FRAME
|
||||||
|
00 EA1C SIO.DEVICE_ERROR
|
||||||
|
00 EA1E SIO.TRANSFER_ERROR
|
||||||
|
00 EA29 SIO.DEVICE_RETRIES_EXHAUSTED
|
||||||
|
00 EA29 SIO.XIT
|
||||||
|
00 EA3A SIO.LEAVE_CASSETTE_AUDIO_ON
|
||||||
|
00 EA3E SIO.XIT_PBI
|
||||||
|
00 EA4A SIO.COMPLETEOK
|
||||||
|
00 EA57 SIO.NO_RECEIVE_FRAME
|
||||||
|
00 EA65 SIOSETTIMEOUTVECTOR
|
||||||
|
00 EA70 SIOWAITFORACK
|
||||||
|
00 EA98 SIOWAITFORACK.XIT
|
||||||
|
00 EAB8 SIOINITHARDWARE
|
||||||
|
00 EA99 SIOSENDENABLE
|
||||||
|
00 EAA4 SIOSENDENABLE.NO_IRQ_SETUP
|
||||||
|
00 EAB8 SIOSENDENABLE.INIT_HARDWARE
|
||||||
|
00 EAC1 SIOSENDENABLE.NOT_CASSETTE
|
||||||
|
00 EAC1 SIOINITPOKEYWITHREGOFFSETX
|
||||||
|
00 EAE8 SIOSENDENABLE.NO_NOISE
|
||||||
|
00 EAEC SIOSENDENABLE.REGDATA
|
||||||
|
00 EAEC SIOSENDENABLE.REGDATA_NORMAL
|
||||||
|
00 EAF5 SIOSENDENABLE.REGDATA_CASSETTE_WRITE
|
||||||
|
00 EAFE SIOSENDENABLE.REGDATA_CASSETTE_READ
|
||||||
|
00 EB07 SIOSETUPBUFFERPOINTERS
|
||||||
|
00 EB1D SIOSEND
|
||||||
|
00 EB31 SIOSEND.WAIT
|
||||||
|
00 EB3B SIOSEND.BREAK_DETECTED
|
||||||
|
00 EB3F SIOSEND.SEND_COMPLETED
|
||||||
|
00 EB4C SIORECEIVE
|
||||||
|
00 EB4E SIORECEIVE.USE_CHECKSUM
|
||||||
|
00 EB76 SIORECEIVE.WAIT
|
||||||
|
00 EB84 SIORECEIVE.ERROR
|
||||||
|
00 EB86 SIORECEIVE.TIMEOUT
|
||||||
|
00 EB8A SIORECEIVESTOP
|
||||||
|
00 EB95 SIOINPUTREADYHANDLER
|
||||||
|
00 EBC1 SIOINPUTREADYHANDLER.XIT
|
||||||
|
00 EBC3 SIOINPUTREADYHANDLER.RECEIVECHECKSUM
|
||||||
|
00 EBCA SIOINPUTREADYHANDLER.SIGNAL_END
|
||||||
|
00 EBD0 SIOINPUTREADYHANDLER.CHECKSUM_FAIL
|
||||||
|
00 EBD6 SIOINPUTREADYHANDLER.SKIPCHECKSUM
|
||||||
|
00 EBDE SIOOUTPUTREADYHANDLER
|
||||||
|
00 EBE4 SIOOUTPUTREADYHANDLER.ADDRCC
|
||||||
|
00 EC01 SIOOUTPUTREADYHANDLER.DOCHECKSUM
|
||||||
|
00 EC17 SIOOUTPUTCOMPLETEHANDLER
|
||||||
|
00 EC26 SIOOUTPUTCOMPLETEHANDLER.XIT
|
||||||
|
00 EC28 SIOCOUNTDOWN1HANDLER
|
||||||
|
00 EC2E SIOCASSETTE
|
||||||
|
00 EC3E SIOCASSETTE.ISWRITE
|
||||||
|
00 EC44 SIOCASSETTE.ISREAD
|
||||||
|
00 EC4A SIOCASSETTEWRITEFRAME
|
||||||
|
00 EC5B SIOCASSETTEREADFRAME
|
||||||
|
00 EC7F SIOCASSETTEREADFRAME.WAITZEROSTART
|
||||||
|
00 EC96 SIOCASSETTEREADFRAME.WAITONE
|
||||||
|
00 ECA3 SIOCASSETTEREADFRAME.WAITZERO
|
||||||
|
00 ECAF SIOCASSETTEREADFRAME.TIMEOUT
|
||||||
|
00 ECB4 SIOCASSETTEREADFRAME.WAITDONE
|
||||||
|
00 ECEE SIOCASSETTEREADFRAME.ADD_FRAME_LOOP
|
||||||
|
00 ECF8 SIOCASSETTEREADFRAME.NO_FRAMES
|
||||||
|
00 ED35 SIOCASSETTEREADFRAME.AALOOP
|
||||||
|
00 ED49 SIOCASSETTEREADFRAME.READTIMER
|
||||||
|
00 ED57 SIOCASSETTEREADFRAME.CORRECT_TIME
|
||||||
|
00 ED5F SIOCASSETTEREADFRAME.TIME_OK
|
||||||
|
00 ED60 DISKINIT
|
||||||
|
00 ED61 DISKHANDLER
|
||||||
|
00 ED94 DISKHANDLER.XIT
|
||||||
|
00 ED95 DISKHANDLER.NOTSTATUS
|
||||||
|
00 EDAD DISKHANDLER.DO_READ
|
||||||
|
00 EDAF DISKHANDLER.DO_IO
|
||||||
|
00 EDBC DISKHANDLER.DO_WRITE
|
||||||
|
00 EDC0 PRINTERINIT
|
||||||
|
00 EDC6 PRINTEROPEN
|
||||||
|
00 EDD8 PRINTEROPEN.XIT
|
||||||
|
00 EDDB PRINTERCLOSE
|
||||||
|
00 EDE2 PRINTERPUTBYTE
|
||||||
|
00 EDDB _PRINTERPUTBYTE
|
||||||
|
00 EDDB _PRINTERPUTBYTE.CLOSE_ENTRY
|
||||||
|
00 EDE2 _PRINTERPUTBYTE.PUT_ENTRY
|
||||||
|
00 EDF7 _PRINTERPUTBYTE.DO_EOL
|
||||||
|
00 EDF9 _PRINTERPUTBYTE.FILL_LOOP
|
||||||
|
00 EE04 _PRINTERPUTBYTE.FILL_DONE
|
||||||
|
00 EE1D _PRINTERPUTBYTE.DO_IO
|
||||||
|
00 EE26 _PRINTERPUTBYTE.IOCBDAT
|
||||||
|
00 EE30 PRINTERGETSTATUS
|
||||||
|
00 EE46 PRINTERGETSTATUS.ERROR
|
||||||
|
00 EE47 PRINTERGETSTATUS.IOCBDAT
|
||||||
|
00 E4CB PRINTERGETBYTE
|
||||||
|
00 E4CB PRINTERSPECIAL
|
||||||
|
00 EE51 CASSETTEINIT
|
||||||
|
00 EE6F CASSETTEOPENREAD
|
||||||
|
00 EE5C CASSETTEOPEN
|
||||||
|
00 EE6F CASSETTEOPEN.DO_OPEN_READ
|
||||||
|
00 EE6F CASSETTEOPEN.FOUND_READ_MODE
|
||||||
|
00 EE71 CASSETTEOPEN.FOUND_WRITE_MODE
|
||||||
|
00 EE88 CASSETTEOPEN.ONE_PING_ONLY
|
||||||
|
00 EE9D CASSETTEOPEN.NO_WRITE_INIT
|
||||||
|
00 EEB0 CASSETTEOPEN.ABORTED
|
||||||
|
00 EEB1 CASSETTECLOSE
|
||||||
|
00 EEBD CASSETTECLOSE.NOPARTIAL
|
||||||
|
00 EEC0 CASSETTECLOSE.NOTWRITE
|
||||||
|
00 EED2 CASSETTEGETBYTE
|
||||||
|
00 EED6 CASSETTEGETBYTE.FETCHBYTE
|
||||||
|
00 EEE5 CASSETTEGETBYTE.NOBYTES
|
||||||
|
00 EEF3 CASSETTEGETBYTE.XIT_EOF
|
||||||
|
00 EEF5 CASSETTEGETBYTE.ERROR
|
||||||
|
00 EEF6 CASSETTEGETBYTE.NOTEOFBYTE
|
||||||
|
00 EF00 CASSETTEGETBYTE.INIT_NEW_BLOCK
|
||||||
|
00 EF06 CASSETTEGETBYTE.NOT_FULL_BLOCK
|
||||||
|
00 EF0F CASSETTEGETBYTE.NOT_PARTIAL_BLOCK
|
||||||
|
00 EF12 CASSETTEPUTBYTE
|
||||||
|
00 EF22 CASSETTEFLUSH
|
||||||
|
00 EF32 CASSETTEFLUSH.NOT_EMPTY
|
||||||
|
00 EF3E CASSETTEFLUSH.IS_COMPLETE
|
||||||
|
00 EF3E CASSETTEFLUSH.IS_EMPTY
|
||||||
|
00 E4C9 CASSETTEGETSTATUS
|
||||||
|
00 E4CB CASSETTESPECIAL
|
||||||
|
00 EF56 CASSETTEDOIO
|
||||||
|
00 EF52 CASSETTEREADBLOCK
|
||||||
|
00 EF52 _CASSETTEDOIO
|
||||||
|
00 EF52 _CASSETTEDOIO.READ_BLOCK
|
||||||
|
00 EF56 _CASSETTEDOIO.DO_IO
|
||||||
|
00 EF95 _CASSETTEDOIO.NO_PWT
|
||||||
|
00 EF9A _CASSETTEDOIO.ROLLING_STOP
|
||||||
|
00 EFA3 CASSETTEWAIT
|
||||||
|
00 EF9D CASSETTEWAITLONGSHORTCHECK
|
||||||
|
00 EFA3 CASSETTEWAITLONGSHORTCHECK.NORMAL_ENTRY
|
||||||
|
00 EFBB CASSETTEWAITLONGSHORTCHECK.WAIT_TABLE_LO
|
||||||
|
00 EFC2 CASSETTEWAITLONGSHORTCHECK.WAIT_TABLE_HI
|
||||||
|
00 EFC9 CASSETTEBELL
|
||||||
|
00 EFCC CASSETTEBELL.SOUNDLOOP
|
||||||
|
00 EFCF CASSETTEBELL.DELAY
|
||||||
|
00 EFE6 INITHANDLERTABLE
|
||||||
|
00 EFF5 _INITRESET
|
||||||
|
00 EFF5 _INITRESET.RUN_DIAG
|
||||||
|
00 EFF8 INITRESET
|
||||||
|
00 EFFD INITCOLDSTART
|
||||||
|
00 EFFD _INITRESET.COLD_BOOT
|
||||||
|
00 F021 _INITRESET.NOT_DIAG
|
||||||
|
00 F031 _INITRESET.CLEARLOOP
|
||||||
|
00 F049 INITWARMSTART
|
||||||
|
00 F064 INITWARMSTART.DBCLEAR
|
||||||
|
00 F070 INITHARDWARERESET
|
||||||
|
00 F073 INITHARDWARERESET.HWCLEAR
|
||||||
|
00 F09C INITMEMORY
|
||||||
|
00 F0A2 INITMEMORY.PAGELOOP
|
||||||
|
00 F0B7 INITMEMORY.NOTRAM
|
||||||
|
00 F0BA INITVECTORTABLE1
|
||||||
|
00 F0D2 INITVECTORTABLE1.END
|
||||||
|
00 F0D2 INITVECTORTABLE2
|
||||||
|
00 F0D8 KRPDEL_TABLE
|
||||||
|
00 F0DA INITENVIRONMENT
|
||||||
|
00 F168 INITENVIRONMENT.SKIPCARTBINIT
|
||||||
|
00 F189 INITENVIRONMENT.SKIPCARTAINIT
|
||||||
|
00 F1A7 INITENVIRONMENT.WAITVBL
|
||||||
|
00 F1BA INITENVIRONMENT.REINITCAS
|
||||||
|
00 F1C3 INITENVIRONMENT.POSTCASBOOT
|
||||||
|
00 F1D1 INITENVIRONMENT.HAVE_CART_B
|
||||||
|
00 F1D8 INITENVIRONMENT.HAVE_CART_A
|
||||||
|
00 F1DB INITENVIRONMENT.NO_CART_A
|
||||||
|
00 F1DE INITENVIRONMENT.BOOT_DISK
|
||||||
|
00 F1E4 INITENVIRONMENT.REINITDISK
|
||||||
|
00 F1EC INITENVIRONMENT.POST_DISK_BOOT
|
||||||
|
00 F1EC INITENVIRONMENT.SKIP_DISK_BOOT
|
||||||
|
00 F1FF INITENVIRONMENT.NOBOOTCARTA
|
||||||
|
00 F20B INITENVIRONMENT.NOBOOTCARTB
|
||||||
|
00 F20E INITENVIRONMENT.INITCARTA
|
||||||
|
00 F211 INITENVIRONMENT.INITCARTB
|
||||||
|
00 F214 INITENVIRONMENT.SCREENEDITORNAME
|
||||||
|
00 F215 INITDISKBOOT
|
||||||
|
00 F218 INITCASSETTEBOOT
|
||||||
|
00 F21C BOOTDISK
|
||||||
|
00 F249 BOOTDISK.SECTOR1_OK
|
||||||
|
00 F24E BOOTDISK.SECTORLOOP
|
||||||
|
00 F263 BOOTDISK.FAIL
|
||||||
|
00 F267 BOOTDISK.XIT
|
||||||
|
00 F268 BOOTDISK.FAILMSG
|
||||||
|
00 F26E BOOTDISK.LOADDONE
|
||||||
|
00 F27B BOOTCASSETTE
|
||||||
|
00 F28C BOOTCASSETTE.BLOCK_LOOP
|
||||||
|
00 F2AB BOOTCASSETTE.LOAD_FAILURE
|
||||||
|
00 F2B6 BOOTINITHEADERS
|
||||||
|
00 F2D3 BOOTRUNLOADER
|
||||||
|
00 F2E3 BOOTCOPYBLOCK
|
||||||
|
00 F2F8 BOOTSHOWERROR
|
||||||
|
00 F2FA BOOTSHOWERROR.MSGLOOP
|
||||||
|
00 F308 BOOTSHOWERROR.ERRORMSG
|
||||||
|
00 F9C7 SCREENHEIGHTSSPLIT
|
||||||
|
00 F9C8 SCREENPIXELWIDTHSLO
|
||||||
|
00 F3F6 SCREENOPEN
|
||||||
|
00 F3F2 SCREENOPENMODE0
|
||||||
|
00 F3EE SCREENOPENGR0
|
||||||
|
00 F3F2 SCREENOPENGR0.USE_MODE0
|
||||||
|
00 F3F6 SCREENOPENGR0.USE_IOCB
|
||||||
|
00 F405 SCREENOPENGR0.CLEAR_PARMS
|
||||||
|
00 F42E SCREENOPENGR0.KILL_SPLIT
|
||||||
|
00 F430 SCREENOPENGR0.NOT_GTIA_MODE_OR_GR0
|
||||||
|
00 F44C SCREENOPENGR0.ALLOC_FAIL
|
||||||
|
00 F452 SCREENOPENGR0.CANT_REOPEN_GR0
|
||||||
|
00 F455 SCREENOPENGR0.PF_ALLOC_OK
|
||||||
|
00 F468 SCREENOPENGR0.NO_DLIST_PAGE_CROSSING
|
||||||
|
00 F496 SCREENOPENGR0.ALLOC_OK
|
||||||
|
00 F4D4 SCREENOPENGR0.NOT_GR11
|
||||||
|
00 F4F2 SCREENOPENGR0.NOSPLIT
|
||||||
|
00 F52C SCREENOPENGR0.NO_CURSOR
|
||||||
|
00 F532 SCREENOPENGR0.SETUP_DISPLAY
|
||||||
|
00 F56D SCREENOPENGR0.NO_LMS_SPLIT
|
||||||
|
00 F56D SCREENOPENGR0.WRITE_REPEAT
|
||||||
|
00 F573 SCREENOPENGR0.NO_CLEAR
|
||||||
|
00 F574 SCREENOPENGR0.WRITE_WITH_ZP_ADDRESS
|
||||||
|
00 F582 SCREENOPENGR0.TRY_CLEAR
|
||||||
|
00 F589 SCREENOPENGR0.STANDARD_COLORS
|
||||||
|
00 F58D SCREENBITPOSFLIPTAB
|
||||||
|
00 F591 SCREENINIT
|
||||||
|
00 F59F SCREENGETBYTE
|
||||||
|
00 F5D9 SCREENGETBYTE.MODE0
|
||||||
|
00 F5DE SCREENGETBYTE.XIT
|
||||||
|
00 F5DF SCREENPUTBYTE
|
||||||
|
00 F5F3 SCREENPUTBYTE.ERROR
|
||||||
|
00 F5F4 SCREENPUTBYTE.GRAPHICS_EOL
|
||||||
|
00 F5F7 SCREENPUTBYTE.NOT_CLEAR
|
||||||
|
00 F5FC SCREENPUTBYTE.NOT_CLEAR_2
|
||||||
|
00 F624 SCREENPUTBYTE.MODE_0
|
||||||
|
00 F63D SCREENPUTBYTE.NOYWRAP
|
||||||
|
00 F640 SCREENPUTBYTE.NOT_EOL
|
||||||
|
00 F675 SCREENPUTBYTE.NO_SCROLL
|
||||||
|
00 F682 SCREENPUTBYTE.RECOMPUTE_SHOW_CURSOR_EXIT
|
||||||
|
00 F682 SCREENPUTBYTE.POST_SCROLL
|
||||||
|
00 F685 SCREENPUTBYTE.NOWRAP
|
||||||
|
00 F688 SCREENPUTBYTE.CHECK_EXTEND
|
||||||
|
00 E4C9 SCREENGETSTATUS
|
||||||
|
00 F69B SCREENFOLDCOLOR
|
||||||
|
00 F6B8 SCREENFOLDCOLOR.FOLD_BYTE
|
||||||
|
00 F6B8 SCREENCONVERTATASCIITOINTERNAL
|
||||||
|
00 F6C3 SCREENSPECIAL
|
||||||
|
00 F6CE SCREENDRAWLINEFILL
|
||||||
|
00 F6FF SCREENDRAWLINEFILL.GOING_DOWN
|
||||||
|
00 F724 SCREENDRAWLINEFILL.GOING_RIGHT
|
||||||
|
00 F755 SCREENDRAWLINEFILL.DX_LARGER
|
||||||
|
00 F75F SCREENDRAWLINEFILL.NOT_EMPTY
|
||||||
|
00 F762 SCREENDRAWLINEFILL.DONE
|
||||||
|
00 F76C SCREENDRAWLINEFILL.SKIP_SHOWCURSOR
|
||||||
|
00 F76F SCREENDRAWLINEFILL.FILL_DONE
|
||||||
|
00 F774 SCREENDRAWLINEFILL.DO_FILL
|
||||||
|
00 F77A SCREENDRAWLINEFILL.SHIFT_LO_TAB
|
||||||
|
00 F77E SCREENDRAWLINEFILL.LEFT_SHIFT_4
|
||||||
|
00 F780 SCREENDRAWLINEFILL.LEFT_SHIFT_2
|
||||||
|
00 F781 SCREENDRAWLINEFILL.LEFT_SHIFT_1
|
||||||
|
00 F784 SCREENDRAWLINEFILL.LEFT_SHIFT_8
|
||||||
|
00 F789 SCREENDRAWLINEFILL.LEFT_SHIFT_OK
|
||||||
|
00 F78B SCREENDRAWLINEFILL.FILL_RIGHT_4
|
||||||
|
00 F78D SCREENDRAWLINEFILL.FILL_RIGHT_2
|
||||||
|
00 F78E SCREENDRAWLINEFILL.FILL_RIGHT_1
|
||||||
|
00 F791 SCREENDRAWLINEFILL.FILL_RIGHT_8
|
||||||
|
00 F79A SCREENDRAWLINEFILL.FILL_RIGHT_OK
|
||||||
|
00 F79E SCREENDRAWLINEFILL.FILL_LOOP
|
||||||
|
00 F7AD SCREENDRAWLINEFILL.FILL_START
|
||||||
|
00 F7B2 SCREENDRAWLINEFILL.RIGHT_SHIFT_4
|
||||||
|
00 F7B4 SCREENDRAWLINEFILL.RIGHT_SHIFT_2
|
||||||
|
00 F7B5 SCREENDRAWLINEFILL.RIGHT_SHIFT_1
|
||||||
|
00 F7B8 SCREENDRAWLINEFILL.RIGHT_SHIFT_8
|
||||||
|
00 F7BC SCREENDRAWLINEFILL.RIGHT_SHIFT_OK
|
||||||
|
00 F7BC SCREENDRAWLINEFILL.POST_XINC
|
||||||
|
00 F7BE SCREENDRAWLINEFILL.NO_XINC
|
||||||
|
00 F7CF SCREENDRAWLINEFILL.NEXT_PIXEL
|
||||||
|
00 F7D7 SCREENDRAWLINEFILL.NEXT_PIXEL_2
|
||||||
|
00 F7D9 SCREENDRAWLINEFILL.PIXEL_LOOP
|
||||||
|
00 F7EB SCREENDRAWLINEFILL.DO_YINC
|
||||||
|
00 F7ED SCREENDRAWLINEFILL.YINC_LOOP
|
||||||
|
00 F7FE SCREENDRAWLINEFILL.NO_YINC
|
||||||
|
00 F817 SCREENCLEAR
|
||||||
|
00 F825 SCREENCLEAR.IS_TEXT_WINDOW
|
||||||
|
00 F82F SCREENCLEAR.IS_GR0
|
||||||
|
00 F83F SCREENCLEAR.LOOP
|
||||||
|
00 F855 SCREENCLEAR.IS_GRAPHIC_SCREEN
|
||||||
|
00 F85B SCREENINSERTLINE
|
||||||
|
00 F85A SCREENINSERTPHYSLINE
|
||||||
|
00 F85B SCREENINSERTPHYSLINE.USE_C
|
||||||
|
00 F86B SCREENINSERTPHYSLINE.LINE_LOOP
|
||||||
|
00 F86D SCREENINSERTPHYSLINE.CHAR_LOOP
|
||||||
|
00 F874 SCREENINSERTPHYSLINE.LINE_LOOP_START
|
||||||
|
00 F88A SCREENINSERTPHYSLINE.NO_COPY
|
||||||
|
00 F88E SCREENINSERTPHYSLINE.CLEAR_LOOP
|
||||||
|
00 F8BE SCREENHIDECURSOR
|
||||||
|
00 F8C6 SCREENHIDECURSOR.NO_CURSOR
|
||||||
|
00 F8C7 SCREENCHECKPOSITION
|
||||||
|
00 F8D4 SCREENCHECKPOSITION.ROWCHECK_GR0
|
||||||
|
00 F8DC SCREENCHECKPOSITION.RMARGN_OK
|
||||||
|
00 F8E1 SCREENCHECKPOSITION.INVALID_POSITION
|
||||||
|
00 F8EF SCREENCHECKPOSITION.ROWCHECK_PASS
|
||||||
|
00 F908 SCREENCHECKPOSITION.NO_BREAK
|
||||||
|
00 F90A EDITORSWAPTOTEXT
|
||||||
|
00 F90F SCREENSWAP
|
||||||
|
00 F918 EDITORSWAPTOTEXT.SWAP_LOOP
|
||||||
|
00 F92A EDITORSWAPTOTEXT.ALREADY_THERE
|
||||||
|
00 F92C SCREENCOMPUTEADDR
|
||||||
|
00 F944 SCREENCOMPUTETOADDR
|
||||||
|
00 F942 SCREENCOMPUTETOADDRX0
|
||||||
|
00 F944 SCREENCOMPUTETOADDRX0.WITH_X
|
||||||
|
00 F94C SCREENCOMPUTERANGESIZE
|
||||||
|
00 F96C SCREENCOMPUTERANGESIZE.SHIFT_LOOP
|
||||||
|
00 F978 SCREENALIGNPIXEL
|
||||||
|
00 F973 SCREENSETUPPLOTPIXEL
|
||||||
|
00 F978 SCREENSETUPPLOTPIXEL.RSHIFT_MASK
|
||||||
|
00 F97B SCREENSETUPPLOTPIXEL.XMASKSHIFT_LOOP
|
||||||
|
00 F97F SCREENSETUPPLOTPIXEL.XMASKSHIFT_DONE
|
||||||
|
00 F982 SCREENSETUPPIXELADDR
|
||||||
|
00 F98B SCREENSETUPPIXELADDR.PHASE2
|
||||||
|
00 F997 SCREENSETUPPIXELADDR.XSHIFT_LOOP
|
||||||
|
00 F99D SCREENSETUPPIXELADDR.NO_XSHIFT
|
||||||
|
00 F9A3 SCREENADVANCEPOSNONMODE0
|
||||||
|
00 F9BC SCREENADVANCEPOSNONMODE0.GRAPHICS_EOL
|
||||||
|
00 F9C4 SCREENADVANCEPOSNONMODE0.GRAPHICS_NO_WRAP
|
||||||
|
00 F9C7 SCREENWIDTHS
|
||||||
|
00 F9CD SCREENPIXELWIDTHSHI
|
||||||
|
00 F9D2 SCREENENCODINGTAB
|
||||||
|
00 F9E2 SCREENPIXELMASKS
|
||||||
|
00 F9EA EDITOROPEN
|
||||||
|
00 E4C9 EDITORCLOSE
|
||||||
|
00 F9F6 EDITORGETBYTE
|
||||||
|
00 FA00 EDITORGETBYTE.HAVE_LINE
|
||||||
|
00 FA10 EDITORGETBYTE.HAVE_CHAR
|
||||||
|
00 FA13 EDITORGETBYTE.DONE
|
||||||
|
00 FA16 EDITORGETLINE
|
||||||
|
00 006D EDITORGETLINE._START_X
|
||||||
|
00 006C EDITORGETLINE._START_Y
|
||||||
|
00 FA29 EDITORGETLINE.READ_LOOP
|
||||||
|
00 FA2E EDITORGETLINE.READ_ERROR
|
||||||
|
00 FA2F EDITORGETLINE.READ_OK
|
||||||
|
00 FA4E EDITORGETLINE.DO_EOL
|
||||||
|
00 FA50 EDITORGETLINE.IS_EOL
|
||||||
|
00 FA68 EDITORGETLINE.CHAR_LOOP
|
||||||
|
00 FA72 EDITORGETLINE.BLANK
|
||||||
|
00 FA8D EDITORGETLINE.SCAN_SCROLL
|
||||||
|
00 FA90 EDITORGETLINE.SCAN_DONE
|
||||||
|
00 FAA8 EDITORPUTBYTE
|
||||||
|
00 FAB8 EDITORPUTBYTE.SCREENOK
|
||||||
|
00 FAD2 EDITORPUTBYTE.SPECIAL_FOUND
|
||||||
|
00 FAE2 EDITORPUTBYTE.NOT_SPECIAL
|
||||||
|
00 FAE8 EDITORPUTBYTE.XIT2
|
||||||
|
00 FAEB EDITORPUTBYTE.SPECIAL_CODE_TAB
|
||||||
|
00 FAFA EDITORPUTBYTE.SPECIAL_CODE_TAB_END
|
||||||
|
00 FAFC EDITORPUTBYTE.SPECIAL_CODE_TAB_END_2
|
||||||
|
00 FAFC EDITORPUTBYTE.SPECIAL_DISPATCH_LO_TAB
|
||||||
|
00 FB0B EDITORPUTBYTE.SPECIAL_ESCAPE
|
||||||
|
00 FB11 EDITORPUTBYTE.SPECIAL_CLEAR
|
||||||
|
00 FB14 EDITORPUTBYTE.SPECIAL_UP
|
||||||
|
00 FB1B EDITORPUTBYTE.ISUP2
|
||||||
|
00 FB1E EDITORPUTBYTE.SPECIAL_DOWN
|
||||||
|
00 FB28 EDITORPUTBYTE.VMOVEEXIT
|
||||||
|
00 FB38 EDITORPUTBYTE.MOVEEXIT
|
||||||
|
00 FB39 EDITORPUTBYTE.SPECIAL_BACKSPACE
|
||||||
|
00 FB41 EDITORPUTBYTE.SBKS_RECOMP
|
||||||
|
00 FB49 EDITORPUTBYTE.SBKS_XIT
|
||||||
|
00 FB4A EDITORPUTBYTE.SBKS_WRAP
|
||||||
|
00 FB5A EDITORPUTBYTE.SPECIAL_BELL
|
||||||
|
00 FB5D EDITORPUTBYTE.SPECIAL_SET_TAB
|
||||||
|
00 FB65 EDITORPUTBYTE.SPECIAL_CLEAR_TAB
|
||||||
|
00 FB6D EDITORPUTBYTE.SPECIAL_COMMON_EXIT_TAB
|
||||||
|
00 FB71 EDITORPUTBYTE.SPECIAL_COMMON_TAB
|
||||||
|
00 FB78 EDITORPUTBYTE.SPECIAL_TAB
|
||||||
|
00 FB82 EDITORPUTBYTE.TAB_SCAN_LOOP
|
||||||
|
00 FB8F EDITORPUTBYTE.TAB_FOUND
|
||||||
|
00 FB91 EDITORPUTBYTE.TAB_ADJUST_ROW
|
||||||
|
00 FBAA EDITORPUTBYTE.TAB_ADJUST_SCROLL
|
||||||
|
00 FBAD EDITORPUTBYTE.TAB_ADJUST_LEFT
|
||||||
|
00 FBAD EDITORPUTBYTE.HMOVE_TO_LMARGN
|
||||||
|
00 FBAF EDITORPUTBYTE.HMOVE_TO_X
|
||||||
|
00 FBB1 EDITORPUTBYTE.TAB_ADJUST_DONE
|
||||||
|
00 FBB2 EDITORPUTBYTE.SPECIAL_LEFT
|
||||||
|
00 FBBB EDITORPUTBYTE.SLFT_TO_RIGHT
|
||||||
|
00 FBBF EDITORPUTBYTE.SPECIAL_RIGHT
|
||||||
|
00 FBC8 EDITORPUTBYTE.SPECIAL_DELETE_LINE
|
||||||
|
00 FBCE EDITORPUTBYTE.SPECIAL_INSERT_LINE
|
||||||
|
00 FBD5 EDITORPUTBYTE.SPECIAL_DELETE_CHAR
|
||||||
|
00 FBE1 EDITORPUTBYTE.SPECIAL_INSERT_CHAR
|
||||||
|
00 FBF6 EDITORPUTBYTE.INSERT_LINE_LOOP
|
||||||
|
00 FBFA EDITORPUTBYTE.INSERT_LINE_LOOP_ENTRY
|
||||||
|
00 FC02 EDITORPUTBYTE.INSERT_SHIFT_LOOP
|
||||||
|
00 FC21 EDITORPUTBYTE.INSERT_CROSSED_LLINE
|
||||||
|
00 FC3B EDITORPUTBYTE.INSERT_NO_SCROLL
|
||||||
|
00 FC4C EDITORPUTBYTE.INSERT_CANT_EXTEND
|
||||||
|
00 FC52 EDITORPUTBYTE.INSERT_DONE
|
||||||
|
00 FC53 EDITORPUTBYTE.DISPATCH
|
||||||
|
00 FC5B EDITORPUTBYTE.DELETE_LINE_LOOP
|
||||||
|
00 FC65 EDITORPUTBYTE.DELETE_SHIFT_LOOP
|
||||||
|
00 FC6C EDITORPUTBYTE.DELETE_SHIFT_LOOP_ENTRY
|
||||||
|
00 FC83 EDITORPUTBYTE.DELETE_STOP_SHIFTING
|
||||||
|
00 FC89 EDITORPUTBYTE.DELETE_BLANK_TEST_LOOP
|
||||||
|
00 FCA6 EDITORPUTBYTE.DELETE_NOT_BLANK
|
||||||
|
00 FCA7 EDITORISSPECIAL
|
||||||
|
00 FCA7 EDITORISSPECIAL.SPECIAL_BINSEARCH
|
||||||
|
00 FCAF EDITORISSPECIAL.SPECIAL_FOUND
|
||||||
|
00 FCB0 EDITORRECOMPUTECURSORADDR
|
||||||
|
00 FCBE EDITORDELETELINE
|
||||||
|
00 FCBC EDITORDELETELINE0
|
||||||
|
00 FCBE EDITORDELETELINE0.USE_LINE
|
||||||
|
00 FCC4 EDITORDELETELINE0.SCROLL_LOOP
|
||||||
|
00 FCCD EDITORDELETELINE0.LINE_LOOP
|
||||||
|
00 FCD9 EDITORDELETELINE0.LINE_LOOP_START
|
||||||
|
00 FCFF EDITORDELETELINE0.DO_MASK
|
||||||
|
00 FD1A EDITORDELETELINE0.UPDATE_TABLE
|
||||||
|
00 FD1D EDITORDELETELINE0.ADJUST_LINES
|
||||||
|
00 FD26 EDITORDELETELINE0.ADJUST_LINE
|
||||||
|
00 FD31 EDITORDELETELINE0.ADJUST_LINE_BELOW
|
||||||
|
00 FD33 EDITORDELETELINE0.ADJUST_LINE_ABOVE
|
||||||
|
00 E4C9 EDITORGETSTATUS
|
||||||
|
00 E4CB EDITORSPECIAL
|
||||||
|
00 E4CB EDITORINIT
|
||||||
|
00 FD34 EDITORGETCURLOGICALLINEINFO
|
||||||
|
00 FD36 EDITORGETLOGICALLINEINFO
|
||||||
|
00 FD34 _EDITORGETLOGICALLINEINFO
|
||||||
|
00 FD36 _EDITORGETLOGICALLINEINFO.USE_A
|
||||||
|
00 FD43 EDITORTESTLOGICALLINEBIT
|
||||||
|
00 FD4C EDITORPHYSTOLOGICALROW
|
||||||
|
00 FD4A EDITORGETCURLOGICALROW
|
||||||
|
00 FD4C EDITORGETCURLOGICALROW.USE_LINE
|
||||||
|
00 FD4E EDITORGETCURLOGICALROW.TEST_LOOP
|
||||||
|
00 FD59 EDITORGETCURLOGICALROW.FOUND
|
||||||
|
00 FD5C EDITORBELL
|
||||||
|
00 FD61 EDITORSWAPTOSCREEN_Y1
|
||||||
|
00 FD63 EDITORSWAPTOSCREEN
|
||||||
|
00 FD6C EDITORGETLOGICALCOLUMN
|
||||||
|
00 FD7B EDITORSETUPTABINDEX
|
||||||
|
00 FD8A EDITORNEXTLINEADDR
|
||||||
|
00 FD9C EDITORLINELENGTHTAB
|
||||||
|
00 FDA0 SCREENENCODINGOFFSETTABLE
|
||||||
|
00 FDA3 SCREENENCODINGTABLE
|
||||||
|
00 FDB9 SCREENRESETLOGICALLINEMAP
|
||||||
|
00 FDCC SCREENSETLASTPOSITION
|
||||||
|
00 FDCE SCREENSETLASTPOSITION.LOOP
|
||||||
|
00 FDD6 SCREENADVANCEPOSMODE0
|
||||||
|
00 FDE4 SCREENADVANCEPOSMODE0.POST_WRAP
|
||||||
|
00 FDE5 SCREENSHOWCURSORANDXITOK
|
||||||
|
00 FDF4 SCREENSHOWCURSORANDXITOK.CURSOR_INHIBITED
|
||||||
|
00 E4C9 SCREENCLOSE
|
||||||
|
00 FDF6 SCREENPLAYFIELDSIZESLO
|
||||||
|
00 FE06 SCREENPLAYFIELDSIZESHI
|
||||||
|
00 FE16 SCREENMODETABLE
|
||||||
|
00 FE26 SCREENHEIGHTSHIFTS
|
||||||
|
00 FE36 SCREENHEIGHTS
|
||||||
|
00 FE3B SCREENPIXELWIDTHIDS
|
||||||
|
00 FE4B KEYBOARDINIT
|
||||||
|
00 E4C9 KEYBOARDOPEN
|
||||||
|
00 E4C9 KEYBOARDCLOSE
|
||||||
|
00 FE60 _KEYBOARDGETBYTE
|
||||||
|
00 FE60 _KEYBOARDGETBYTE.TOGGLE_SHIFT
|
||||||
|
00 FE60 _KEYBOARDGETBYTE.SHIFT_CTRL_ON
|
||||||
|
00 FE60 _KEYBOARDGETBYTE.CAPS_OFF
|
||||||
|
00 FE63 _KEYBOARDGETBYTE.WRITE_SHFLOK
|
||||||
|
00 FE66 KEYBOARDGETBYTE
|
||||||
|
00 FE66 _KEYBOARDGETBYTE.WAITFORCHAR
|
||||||
|
00 FE68 _KEYBOARDGETBYTE.WAITFORCHAR2
|
||||||
|
00 FE97 _KEYBOARDGETBYTE.VALID_KEY
|
||||||
|
00 FEA8 _KEYBOARDGETBYTE.DOSHIFTLOCK
|
||||||
|
00 FEAA _KEYBOARDGETBYTE.NOTALPHA
|
||||||
|
00 FEB4 _KEYBOARDGETBYTE.SKIP_INVERSE
|
||||||
|
00 FEBA _KEYBOARDGETBYTE.ISINVERSE
|
||||||
|
00 FEC4 _KEYBOARDGETBYTE.ISBREAK
|
||||||
|
00 FEC9 _KEYBOARDGETBYTE.ISCTRL3
|
||||||
|
00 E4CB KEYBOARDPUTBYTE
|
||||||
|
00 E4C9 KEYBOARDGETSTATUS
|
||||||
|
00 E4CB KEYBOARDSPECIAL
|
||||||
|
00 FECC KEYBOARDIRQ
|
||||||
|
00 FEE1 KEYBOARDIRQ.DEBOUNCED
|
||||||
|
00 FEEF KEYBOARDIRQ.XIT2
|
||||||
|
00 FEF4 KEYBOARDIRQ.XIT
|
||||||
|
00 FEF6 KEYBOARDIRQ.IS_SUSPEND
|
||||||
|
00 FF00 KEYBOARDBREAKIRQ
|
||||||
|
00 FF0C KEYCODETOATASCIITABLE
|
10524
res/altirra/kernel.lst
Normal file
10524
res/altirra/kernel.lst
Normal file
File diff suppressed because it is too large
Load Diff
BIN
res/altirra/kernel.rom
Normal file
BIN
res/altirra/kernel.rom
Normal file
Binary file not shown.
1023
res/altirra/kernelxl.lab
Normal file
1023
res/altirra/kernelxl.lab
Normal file
File diff suppressed because it is too large
Load Diff
12415
res/altirra/kernelxl.lst
Normal file
12415
res/altirra/kernelxl.lst
Normal file
File diff suppressed because it is too large
Load Diff
BIN
res/altirra/kernelxl.rom
Normal file
BIN
res/altirra/kernelxl.rom
Normal file
Binary file not shown.
123
res/altirra/superkernel.lab
Normal file
123
res/altirra/superkernel.lab
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
mads 2.1.0
|
||||||
|
Label table:
|
||||||
|
00 C010 TRIG0
|
||||||
|
00 C011 TRIG1
|
||||||
|
00 C012 TRIG2
|
||||||
|
00 C012 COLPM0
|
||||||
|
00 C013 TRIG3
|
||||||
|
00 C013 COLPM1
|
||||||
|
00 C014 COLPM2
|
||||||
|
00 C015 COLPM3
|
||||||
|
00 C016 COLPF0
|
||||||
|
00 C017 COLPF1
|
||||||
|
00 C018 COLPF2
|
||||||
|
00 C019 COLPF3
|
||||||
|
00 C01A COLBK
|
||||||
|
00 C01B PRIOR
|
||||||
|
00 C01F CONSOL
|
||||||
|
00 E800 POT0
|
||||||
|
00 E800 AUDF1
|
||||||
|
00 E801 POT1
|
||||||
|
00 E801 AUDC1
|
||||||
|
00 E802 POT2
|
||||||
|
00 E802 AUDF2
|
||||||
|
00 E803 POT3
|
||||||
|
00 E803 AUDC2
|
||||||
|
00 E804 POT4
|
||||||
|
00 E804 AUDF3
|
||||||
|
00 E805 POT5
|
||||||
|
00 E805 AUDC3
|
||||||
|
00 E806 POT6
|
||||||
|
00 E806 AUDF4
|
||||||
|
00 E807 POT7
|
||||||
|
00 E807 AUDC4
|
||||||
|
00 E808 AUDCTL
|
||||||
|
00 E809 KBCODE
|
||||||
|
00 E80A SKRES
|
||||||
|
00 E80B POTGO
|
||||||
|
00 E80D SERIN
|
||||||
|
00 E80D SEROUT
|
||||||
|
00 E80E IRQEN
|
||||||
|
00 E80E IRQST
|
||||||
|
00 E80F SKCTL
|
||||||
|
00 D400 DMACTL
|
||||||
|
00 D401 CHACTL
|
||||||
|
00 D402 DLISTL
|
||||||
|
00 D403 DLISTH
|
||||||
|
00 D404 HSCROL
|
||||||
|
00 D405 VSCROL
|
||||||
|
00 D409 CHBASE
|
||||||
|
00 D40A WSYNC
|
||||||
|
00 D40E NMIEN
|
||||||
|
00 D40F NMIST
|
||||||
|
00 D40F NMIRES
|
||||||
|
00 0000 POKMSK
|
||||||
|
00 0001 RTCLOK
|
||||||
|
00 0003 CRITIC
|
||||||
|
00 0004 ATRACT
|
||||||
|
00 0005 SDLSTL
|
||||||
|
00 0006 SDLSTH
|
||||||
|
00 0007 SDMCTL
|
||||||
|
00 0008 PCOLR0
|
||||||
|
00 0009 PCOLR1
|
||||||
|
00 000A PCOLR2
|
||||||
|
00 000B PCOLR3
|
||||||
|
00 000C COLOR0
|
||||||
|
00 000D COLOR1
|
||||||
|
00 000E COLOR2
|
||||||
|
00 000F COLOR3
|
||||||
|
00 0010 COLOR4
|
||||||
|
00 0011 PADDL0
|
||||||
|
00 0012 PADDL1
|
||||||
|
00 0013 PADDL2
|
||||||
|
00 0014 PADDL3
|
||||||
|
00 0015 PADDL4
|
||||||
|
00 0016 PADDL5
|
||||||
|
00 0017 PADDL6
|
||||||
|
00 0018 PADDL7
|
||||||
|
00 0200 VIMIRQ
|
||||||
|
00 0202 VVBLKI
|
||||||
|
00 0204 VVBLKD
|
||||||
|
00 0206 VDSLST
|
||||||
|
00 0208 VKYBDI
|
||||||
|
00 020A VKYBDF
|
||||||
|
00 020C VTRIGR
|
||||||
|
00 020E VBRKOP
|
||||||
|
00 0210 VSERIN
|
||||||
|
00 0212 VSEROR
|
||||||
|
00 0214 VSEROC
|
||||||
|
00 0216 VTIMR1
|
||||||
|
00 0218 VTIMR2
|
||||||
|
00 021A VTIMR4
|
||||||
|
00 021E JVECK
|
||||||
|
00 FC00 IRQ
|
||||||
|
00 FC03 SYSIRQ
|
||||||
|
00 FC18 SYSIRQ.NOT_SERIN
|
||||||
|
00 FC29 SYSIRQ.NOT_TRIGR
|
||||||
|
00 FC3A SYSIRQ.NOT_KYBD
|
||||||
|
00 FC4D SYSIRQ.NOT_SEROR
|
||||||
|
00 FC64 SYSIRQ.NOT_SEROC
|
||||||
|
00 FC78 SYSIRQ.NOT_TIMR1
|
||||||
|
00 FC8B SYSIRQ.NOT_TIMR2
|
||||||
|
00 FC9E SYSIRQ.NOT_TIMR4
|
||||||
|
00 FCAB SYSIRQ.WTF
|
||||||
|
00 FCB2 XITVBL
|
||||||
|
00 FCB8 SYSVBL
|
||||||
|
00 FCC9 SYSVBL.RTNOCARRY
|
||||||
|
00 FCE6 SYSVBL.COLORLOOP
|
||||||
|
00 FCF1 SYSVBL.POTLOOP
|
||||||
|
00 FD02 SYSKBD
|
||||||
|
00 FD13 KEYTABLE
|
||||||
|
00 FD23 NMI
|
||||||
|
00 FD31 RESET
|
||||||
|
00 FD40 RESET.NOTDIAG
|
||||||
|
00 FD44 RESET.ZEROLOOP
|
||||||
|
00 FD59 RESET.VECLOOP
|
||||||
|
00 FD64 RESET.PFCOPYLOOP
|
||||||
|
00 FD6F RESET.NAMECOPYLOOP
|
||||||
|
00 FD93 RESET.DLCOPY
|
||||||
|
00 FDC2 RESET.DLIST
|
||||||
|
00 FDCD RESET.PLAYFIELD
|
||||||
|
00 FE95 IRQTABLE
|
||||||
|
00 FEA1 SYSDLI
|
||||||
|
00 FEAA SYSDLI.NOROLL
|
479
res/altirra/superkernel.lst
Normal file
479
res/altirra/superkernel.lst
Normal file
@ -0,0 +1,479 @@
|
|||||||
|
mads 2.1.0
|
||||||
|
Source: source/SuperKernel/main.xasm
|
||||||
|
1 ; Altirra - Atari 800/800XL/5200 emulator
|
||||||
|
2 ; 5200 OS ROM replacement
|
||||||
|
3 ; Copyright (C) 2008-2010 Avery Lee
|
||||||
|
4 ;
|
||||||
|
5 ; Copying and distribution of this file, with or without modification,
|
||||||
|
6 ; are permitted in any medium without royalty provided the copyright
|
||||||
|
7 ; notice and this notice are preserved. This file is offered as-is,
|
||||||
|
8 ; without any warranty.
|
||||||
|
9
|
||||||
|
10 opt h-o+f+
|
||||||
|
11
|
||||||
|
12 icl 'includes.xasm'
|
||||||
|
Source: source/SuperKernel/includes.xasm
|
||||||
|
1 ; Altirra - Atari 800/800XL/5200 emulator
|
||||||
|
2 ; 5200 OS ROM replacement
|
||||||
|
3 ; Copyright (C) 2008-2016 Avery Lee
|
||||||
|
4 ;
|
||||||
|
5 ; Copying and distribution of this file, with or without modification,
|
||||||
|
6 ; are permitted in any medium without royalty provided the copyright
|
||||||
|
7 ; notice and this notice are preserved. This file is offered as-is,
|
||||||
|
8 ; without any warranty.
|
||||||
|
9
|
||||||
|
10 = C010 trig0 equ $c010
|
||||||
|
11 = C011 trig1 equ $c011
|
||||||
|
12 = C012 trig2 equ $c012
|
||||||
|
13 = C012 colpm0 equ $c012
|
||||||
|
14 = C013 trig3 equ $c013
|
||||||
|
15 = C013 colpm1 equ $c013
|
||||||
|
16 = C014 colpm2 equ $c014
|
||||||
|
17 = C015 colpm3 equ $c015
|
||||||
|
18 = C016 colpf0 equ $c016
|
||||||
|
19 = C017 colpf1 equ $c017
|
||||||
|
20 = C018 colpf2 equ $c018
|
||||||
|
21 = C019 colpf3 equ $c019
|
||||||
|
22 = C01A colbk equ $c01a
|
||||||
|
23 = C01B prior equ $c01b
|
||||||
|
24 = C01F consol equ $c01f
|
||||||
|
25 = E800 pot0 equ $e800
|
||||||
|
26 = E800 audf1 equ $e800
|
||||||
|
27 = E801 pot1 equ $e801
|
||||||
|
28 = E801 audc1 equ $e801
|
||||||
|
29 = E802 pot2 equ $e802
|
||||||
|
30 = E802 audf2 equ $e802
|
||||||
|
31 = E803 pot3 equ $e803
|
||||||
|
32 = E803 audc2 equ $e803
|
||||||
|
33 = E804 pot4 equ $e804
|
||||||
|
34 = E804 audf3 equ $e804
|
||||||
|
35 = E805 pot5 equ $e805
|
||||||
|
36 = E805 audc3 equ $e805
|
||||||
|
37 = E806 pot6 equ $e806
|
||||||
|
38 = E806 audf4 equ $e806
|
||||||
|
39 = E807 pot7 equ $e807
|
||||||
|
40 = E807 audc4 equ $e807
|
||||||
|
41 = E808 audctl equ $e808
|
||||||
|
42 = E809 kbcode equ $e809
|
||||||
|
43 = E80A skres equ $e80a
|
||||||
|
44 = E80B potgo equ $e80b
|
||||||
|
45 = E80D serin equ $e80d
|
||||||
|
46 = E80D serout equ $e80d
|
||||||
|
47 = E80E irqen equ $e80e
|
||||||
|
48 = E80E irqst equ $e80e
|
||||||
|
49 = E80F skctl equ $e80f
|
||||||
|
50 = D400 dmactl equ $d400
|
||||||
|
51 = D401 chactl equ $d401
|
||||||
|
52 = D402 dlistl equ $d402
|
||||||
|
53 = D403 dlisth equ $d403
|
||||||
|
54 = D404 hscrol equ $d404
|
||||||
|
55 = D405 vscrol equ $d405
|
||||||
|
56 = D409 chbase equ $d409
|
||||||
|
57 = D40A wsync equ $d40a
|
||||||
|
58 = D40E nmien equ $d40e
|
||||||
|
59 = D40F nmist equ $d40f
|
||||||
|
60 = D40F nmires equ $d40f
|
||||||
|
61
|
||||||
|
62 = 0000 pokmsk equ $00
|
||||||
|
63 = 0001 rtclok equ $01
|
||||||
|
64 ; equ $02
|
||||||
|
65 = 0003 critic equ $03
|
||||||
|
66 = 0004 atract equ $04
|
||||||
|
67 = 0005 sdlstl equ $05
|
||||||
|
68 = 0006 sdlsth equ $06
|
||||||
|
69 = 0007 sdmctl equ $07
|
||||||
|
70 = 0008 pcolr0 equ $08
|
||||||
|
71 = 0009 pcolr1 equ $09
|
||||||
|
72 = 000A pcolr2 equ $0a
|
||||||
|
73 = 000B pcolr3 equ $0b
|
||||||
|
74 = 000C color0 equ $0c
|
||||||
|
75 = 000D color1 equ $0d
|
||||||
|
76 = 000E color2 equ $0e
|
||||||
|
77 = 000F color3 equ $0f
|
||||||
|
78 = 0010 color4 equ $10
|
||||||
|
79 = 0011 paddl0 equ $11
|
||||||
|
80 = 0012 paddl1 equ $12
|
||||||
|
81 = 0013 paddl2 equ $13
|
||||||
|
82 = 0014 paddl3 equ $14
|
||||||
|
83 = 0015 paddl4 equ $15
|
||||||
|
84 = 0016 paddl5 equ $16
|
||||||
|
85 = 0017 paddl6 equ $17
|
||||||
|
86 = 0018 paddl7 equ $18
|
||||||
|
87
|
||||||
|
88 = 0200 vimirq equ $0200 ;IRQ immediate vector
|
||||||
|
89 = 0202 vvblki equ $0202 ;VBI immediate vector
|
||||||
|
90 = 0204 vvblkd equ $0204 ;VBI deferred vector
|
||||||
|
91 = 0206 vdslst equ $0206 ;display list vector
|
||||||
|
92 = 0208 vkybdi equ $0208 ;keyboard immediate vector
|
||||||
|
93 = 020A vkybdf equ $020a ;keyboard deferred vector
|
||||||
|
94 = 020C vtrigr equ $020c ;soft-trigger vector (BREAK key)
|
||||||
|
95 = 020E vbrkop equ $020e ;BRK opcode vector
|
||||||
|
96 = 0210 vserin equ $0210 ;serial input ready vector
|
||||||
|
97 = 0212 vseror equ $0212 ;serial output ready vector
|
||||||
|
98 = 0214 vseroc equ $0214 ;serial output complete vector
|
||||||
|
99 = 0216 vtimr1 equ $0216 ;POKEY timer #1 vector
|
||||||
|
100 = 0218 vtimr2 equ $0218 ;POKEY timer #2 vector
|
||||||
|
101 = 021A vtimr4 equ $021a ;POKEY timer #4 vector
|
||||||
|
102
|
||||||
|
103 = 021E jveck equ $021e
|
||||||
|
13
|
||||||
|
14 org $f800
|
||||||
|
15 F800 00 00 00 00 00 00 + ins 'atarifont.bin',$0,$400
|
||||||
|
16
|
||||||
|
17 ;=========================================================================
|
||||||
|
18 FC00 .proc irq
|
||||||
|
19 FC00 6C 00 02 jmp (vimirq)
|
||||||
|
20 .endp
|
||||||
|
21
|
||||||
|
22 ;=========================================================================
|
||||||
|
23 ;Must be at $FC03 for Montezuma's Revenge to work.
|
||||||
|
24 FC03 org $fc03
|
||||||
|
25 FC03 .proc sysirq
|
||||||
|
26 FC03 48 pha
|
||||||
|
27
|
||||||
|
28 ;We test interrupts in this order:
|
||||||
|
29 ; 20 -> VSERIN
|
||||||
|
30 ; 80 -> VTRIGR
|
||||||
|
31 ; 40 -> VKYBDI
|
||||||
|
32 ; 10 -> VSEROR
|
||||||
|
33 ; 08 -> VSEROC
|
||||||
|
34 ; 01 -> VTIMR1
|
||||||
|
35 ; 02 -> VTIMR2
|
||||||
|
36 ; 04 -> VTIMR4
|
||||||
|
37 ; VBRKOP
|
||||||
|
38 ;
|
||||||
|
39 ;Note that there is a complication with VSEROC, since it is not
|
||||||
|
40 ;masked by POKEY. We must only dispatch it if it is enabled in
|
||||||
|
41 ;POKMSK.
|
||||||
|
42 FC04 A9 20 lda #$20
|
||||||
|
43 FC06 2C 0E E8 bit irqst
|
||||||
|
44 FC09 D0 0D bne not_serin
|
||||||
|
45 FC0B 45 00 eor pokmsk
|
||||||
|
46 FC0D 8D 0E E8 sta irqen
|
||||||
|
47 FC10 A5 00 lda pokmsk
|
||||||
|
48 FC12 8D 0E E8 sta irqen
|
||||||
|
49 FC15 6C 10 02 jmp (vserin)
|
||||||
|
50 FC18 not_serin:
|
||||||
|
51 FC18 30 0F bmi not_trigr
|
||||||
|
52 FC1A A9 80 lda #$80
|
||||||
|
53 FC1C 45 00 eor pokmsk
|
||||||
|
54 FC1E 8D 0E E8 sta irqen
|
||||||
|
55 FC21 A5 00 lda pokmsk
|
||||||
|
56 FC23 8D 0E E8 sta irqen
|
||||||
|
57 FC26 6C 0C 02 jmp (vtrigr)
|
||||||
|
58 FC29 not_trigr:
|
||||||
|
59 FC29 70 0F bvs not_kybd
|
||||||
|
60 FC2B A9 40 lda #$40
|
||||||
|
61 FC2D 45 00 eor pokmsk
|
||||||
|
62 FC2F 8D 0E E8 sta irqen
|
||||||
|
63 FC32 A5 00 lda pokmsk
|
||||||
|
64 FC34 8D 0E E8 sta irqen
|
||||||
|
65 FC37 6C 08 02 jmp (vkybdi)
|
||||||
|
66 FC3A not_kybd:
|
||||||
|
67 FC3A 6A ror
|
||||||
|
68 FC3B 2C 0E E8 bit irqen
|
||||||
|
69 FC3E F0 0D beq not_seror
|
||||||
|
70 FC40 45 00 eor pokmsk
|
||||||
|
71 FC42 8D 0E E8 sta irqen
|
||||||
|
72 FC45 A5 00 lda pokmsk
|
||||||
|
73 FC47 8D 0E E8 sta irqen
|
||||||
|
74 FC4A 6C 12 02 jmp (vseror)
|
||||||
|
75 FC4D not_seror:
|
||||||
|
76 FC4D 6A ror
|
||||||
|
77 FC4E 24 00 bit pokmsk
|
||||||
|
78 FC50 F0 12 beq not_seroc
|
||||||
|
79 FC52 2C 0E E8 bit irqen
|
||||||
|
80 FC55 D0 0D bne not_seroc
|
||||||
|
81 FC57 45 00 eor pokmsk
|
||||||
|
82 FC59 8D 0E E8 sta irqen
|
||||||
|
83 FC5C A5 00 lda pokmsk
|
||||||
|
84 FC5E 8D 0E E8 sta irqen
|
||||||
|
85 FC61 6C 14 02 jmp (vseroc)
|
||||||
|
86 FC64 not_seroc:
|
||||||
|
87 FC64 A9 01 lda #$01
|
||||||
|
88 FC66 2C 0E E8 bit irqst
|
||||||
|
89 FC69 D0 0D bne not_timr1
|
||||||
|
90 FC6B 45 00 eor pokmsk
|
||||||
|
91 FC6D 8D 0E E8 sta irqen
|
||||||
|
92 FC70 A5 00 lda pokmsk
|
||||||
|
93 FC72 8D 0E E8 sta irqen
|
||||||
|
94 FC75 6C 16 02 jmp (vtimr1)
|
||||||
|
95 FC78 not_timr1:
|
||||||
|
96 FC78 2A rol
|
||||||
|
97 FC79 2C 0E E8 bit irqst
|
||||||
|
98 FC7C D0 0D bne not_timr2
|
||||||
|
99 FC7E 45 00 eor pokmsk
|
||||||
|
100 FC80 8D 0E E8 sta irqen
|
||||||
|
101 FC83 A5 00 lda pokmsk
|
||||||
|
102 FC85 8D 0E E8 sta irqen
|
||||||
|
103 FC88 6C 18 02 jmp (vtimr2)
|
||||||
|
104 FC8B not_timr2:
|
||||||
|
105 FC8B 2A rol
|
||||||
|
106 FC8C 2C 0E E8 bit irqst
|
||||||
|
107 FC8F D0 0D bne not_timr4
|
||||||
|
108 FC91 45 00 eor pokmsk
|
||||||
|
109 FC93 8D 0E E8 sta irqen
|
||||||
|
110 FC96 A5 00 lda pokmsk
|
||||||
|
111 FC98 8D 0E E8 sta irqen
|
||||||
|
112 FC9B 6C 1A 02 jmp (vtimr4)
|
||||||
|
113 FC9E not_timr4:
|
||||||
|
114 FC9E 8A txa
|
||||||
|
115 FC9F 48 pha
|
||||||
|
116 FCA0 BA tsx
|
||||||
|
117 FCA1 BD 01 01 lda $0101,x
|
||||||
|
118 FCA4 29 10 and #$10
|
||||||
|
119 FCA6 D0 03 bne wtf
|
||||||
|
120 FCA8 6C 0E 02 jmp (vbrkop)
|
||||||
|
121 FCAB wtf:
|
||||||
|
122 FCAB 68 pla
|
||||||
|
123 FCAC AA tax
|
||||||
|
124 FCAD 68 pla
|
||||||
|
125 FCAE 40 rti
|
||||||
|
126 .endp
|
||||||
|
127
|
||||||
|
128 ;=========================================================================
|
||||||
|
129 ;Must be at $FCB2 for Congo Bongo to work (grrr... damn SEGA)
|
||||||
|
130 FCAF org $fcb2
|
||||||
|
131 FCB2 .proc xitvbl
|
||||||
|
132 FCB2 68 pla
|
||||||
|
133 FCB3 A8 tay
|
||||||
|
134 FCB4 68 pla
|
||||||
|
135 FCB5 AA tax
|
||||||
|
136 FCB6 68 pla
|
||||||
|
137 FCB7 40 rti
|
||||||
|
138 .endp
|
||||||
|
139
|
||||||
|
140 ;=========================================================================
|
||||||
|
141 ;Must be at $FCB8 for Montezuma's Revenge to work.
|
||||||
|
142 FCB8 org $fcb8
|
||||||
|
143 FCB8 .proc sysvbl
|
||||||
|
144 FCB8 48 pha
|
||||||
|
145 FCB9 8A txa
|
||||||
|
146 FCBA 48 pha
|
||||||
|
147 FCBB 98 tya
|
||||||
|
148 FCBC 48 pha
|
||||||
|
149
|
||||||
|
150 FCBD E6 02 inc rtclok+1
|
||||||
|
151 FCBF D0 08 bne rtnocarry
|
||||||
|
152 FCC1 E6 01 inc rtclok
|
||||||
|
153 FCC3 A5 04 lda atract
|
||||||
|
154 FCC5 30 02 bmi rtnocarry
|
||||||
|
155 FCC7 E6 04 inc atract
|
||||||
|
156 FCC9 rtnocarry:
|
||||||
|
157
|
||||||
|
158 FCC9 A5 03 lda critic
|
||||||
|
159 FCCB D0 E5 bne xitvbl
|
||||||
|
160
|
||||||
|
161 FCCD A5 05 8D 02 D4 mva sdlstl dlistl
|
||||||
|
162 FCD2 A5 06 8D 03 D4 mva sdlsth dlisth
|
||||||
|
163 FCD7 A5 07 8D 00 D4 mva sdmctl dmactl
|
||||||
|
164
|
||||||
|
165 ;copy and attract colors
|
||||||
|
166 FCDC A0 00 ldy #0
|
||||||
|
167 FCDE 24 04 bit atract
|
||||||
|
168 FCE0 10 02 A4 01 spl:ldy rtclok
|
||||||
|
169
|
||||||
|
170 FCE4 A2 08 ldx #8
|
||||||
|
171 FCE6 colorloop:
|
||||||
|
172 FCE6 98 tya
|
||||||
|
173 FCE7 55 08 eor pcolr0,x
|
||||||
|
174 FCE9 9D 12 C0 sta colpm0,x
|
||||||
|
175 FCEC CA dex
|
||||||
|
176 FCED 10 F7 bpl colorloop
|
||||||
|
177
|
||||||
|
178 ;update pots
|
||||||
|
179 FCEF A2 07 ldx #7
|
||||||
|
180 FCF1 potloop:
|
||||||
|
181 FCF1 BD 00 E8 lda pot0,x
|
||||||
|
182 FCF4 95 11 sta paddl0,x
|
||||||
|
183 FCF6 CA dex
|
||||||
|
184 FCF7 10 F8 bpl potloop
|
||||||
|
185 FCF9 8D 0B E8 sta potgo
|
||||||
|
186
|
||||||
|
187 ;run deferred
|
||||||
|
188 FCFC 6C 04 02 jmp (vvblkd)
|
||||||
|
189 .endp
|
||||||
|
190
|
||||||
|
191 ;=========================================================================
|
||||||
|
192 ; System keyboard handler
|
||||||
|
193 ;
|
||||||
|
194 ; MUST be at $FD02 for Blueprint to work.
|
||||||
|
195 ;
|
||||||
|
196 FCFF org $fd02
|
||||||
|
197 FD02 .proc syskbd
|
||||||
|
198 FD02 8A txa
|
||||||
|
199 FD03 48 pha
|
||||||
|
200 FD04 98 tya
|
||||||
|
201 FD05 48 pha
|
||||||
|
202 FD06 AD 09 E8 lda kbcode
|
||||||
|
203 FD09 4A lsr
|
||||||
|
204 FD0A 29 0F and #$0f
|
||||||
|
205 FD0C AA tax
|
||||||
|
206 FD0D BD 13 FD lda keytable,x
|
||||||
|
207 FD10 6C 0A 02 jmp (vkybdf)
|
||||||
|
208 .endp
|
||||||
|
209
|
||||||
|
210 ;=========================================================================
|
||||||
|
211 ;Keyboard translation table
|
||||||
|
212 ;
|
||||||
|
213 ;MUST be at $FD13 for Congo Bongo to work.
|
||||||
|
214 ;
|
||||||
|
215 FD13 org $fd13
|
||||||
|
216 FD13 keytable:
|
||||||
|
217 FD13 FF 0B 00 0A 0E 09 + dta $ff,$0b,$00,$0a,$0e,$09,$08,$07,$0d,$06,$05,$04,$0c,$03,$02,$01
|
||||||
|
218
|
||||||
|
219 ;=========================================================================
|
||||||
|
220 ; NMI handler
|
||||||
|
221 ;
|
||||||
|
222 FD23 .proc nmi
|
||||||
|
223 FD23 2C 0F D4 bit nmist
|
||||||
|
224
|
||||||
|
225 ;This is pretty useless, but the stock 5200 OS does it, and it
|
||||||
|
226 ;affects DLI timing -- in particular, it can cause DLIs ported
|
||||||
|
227 ;from the 400/800 OS to fail.
|
||||||
|
228 FD26 8D 0F D4 sta nmires
|
||||||
|
229
|
||||||
|
230 FD29 10 03 6C 06 02 spl:jmp (vdslst)
|
||||||
|
231 FD2E 6C 02 02 jmp (vvblki)
|
||||||
|
232 .endp
|
||||||
|
233
|
||||||
|
234 ;=========================================================================
|
||||||
|
235 ; RESET handler
|
||||||
|
236 ;
|
||||||
|
237 FD31 .proc reset
|
||||||
|
238 ;initialize CPU
|
||||||
|
239 FD31 78 sei
|
||||||
|
240 FD32 D8 cld
|
||||||
|
241 FD33 A2 FF ldx #$ff
|
||||||
|
242 FD35 9A txs
|
||||||
|
243
|
||||||
|
244 ;check for diagnostic cartridge
|
||||||
|
245 FD36 AD FD BF lda $bffd
|
||||||
|
246 FD39 C9 FF cmp #$ff
|
||||||
|
247 FD3B D0 03 bne notdiag
|
||||||
|
248 FD3D 6C FE BF jmp ($bffe)
|
||||||
|
249 FD40 notdiag:
|
||||||
|
250
|
||||||
|
251 ;zero hardware registers and page zero
|
||||||
|
252 FD40 A2 00 ldx #0
|
||||||
|
253 FD42 A9 00 lda #0
|
||||||
|
254 FD44 zeroloop:
|
||||||
|
255 FD44 95 00 sta $00,x
|
||||||
|
256 FD46 9D 00 C0 sta $c000,x
|
||||||
|
257 FD49 9D 00 D4 sta $d400,x
|
||||||
|
258 FD4C 9D 00 E8 sta $e800,x
|
||||||
|
259 FD4F E8 inx
|
||||||
|
260 FD50 D0 F2 bne zeroloop
|
||||||
|
261
|
||||||
|
262 ;init hardware display
|
||||||
|
263 FD52 A9 F8 8D 09 D4 mva #$f8 chbase
|
||||||
|
264
|
||||||
|
265 ;initialize vectors
|
||||||
|
266 FD57 A2 0B ldx #$0b
|
||||||
|
267 FD59 vecloop:
|
||||||
|
268 FD59 BD 95 FE lda irqtable,x
|
||||||
|
269 FD5C 9D 00 02 sta $0200,x
|
||||||
|
270 FD5F CA dex
|
||||||
|
271 FD60 10 F7 bpl vecloop
|
||||||
|
272
|
||||||
|
273 ;set up default display
|
||||||
|
274 FD62 A2 4F ldx #79
|
||||||
|
275 FD64 pfcopyloop:
|
||||||
|
276 FD64 BD CD FD lda playfield,x
|
||||||
|
277 FD67 9D 00 10 sta $1000,x
|
||||||
|
278 FD6A CA dex
|
||||||
|
279 FD6B 10 F7 bpl pfcopyloop
|
||||||
|
280
|
||||||
|
281 FD6D A2 13 ldx #19
|
||||||
|
282 FD6F namecopyloop:
|
||||||
|
283 FD6F BD E8 BF lda $bfe8,x
|
||||||
|
284 FD72 9D 50 10 sta $1050,x
|
||||||
|
285 FD75 CA dex
|
||||||
|
286 FD76 10 F7 bpl namecopyloop
|
||||||
|
287
|
||||||
|
288 ;PF0 is the flashing color, while PF1 is white. PF2 and PF3 are black.
|
||||||
|
289 ;In fact, PF3 must be black in order for the Defender title to appear
|
||||||
|
290 ;properly.
|
||||||
|
291 FD78 A9 10 85 0C mva #$10 color0
|
||||||
|
292 FD7C A9 0F 85 0D mva #$0F color1
|
||||||
|
293 FD80 A9 00 85 0E mva #$00 color2
|
||||||
|
294 FD84 A9 00 85 0F mva #$00 color3
|
||||||
|
295 FD88 A9 00 85 10 mva #$00 color4
|
||||||
|
296 FD8C A9 04 8D 1B C0 mva #$04 prior
|
||||||
|
297
|
||||||
|
298 ;move display list; must be at $2000 for Miniature Golf to work
|
||||||
|
299 FD91 A2 0A ldx #playfield-dlist-1
|
||||||
|
300 FD93 dlcopy:
|
||||||
|
301 FD93 BD C2 FD lda dlist,x
|
||||||
|
302 FD96 9D 00 20 sta $2000,x
|
||||||
|
303 FD99 CA dex
|
||||||
|
304 FD9A 10 F7 bpl dlcopy
|
||||||
|
305
|
||||||
|
306 FD9C A9 22 85 07 mva #$22 sdmctl
|
||||||
|
307 FDA0 A9 C0 8D 0E D4 mva #$c0 nmien
|
||||||
|
308 FDA5 A9 00 85 05 A9 20 + mwa #$2000 sdlstl
|
||||||
|
309
|
||||||
|
310 ;enable key input
|
||||||
|
311 FDAD A9 02 8D 0F E8 mva #$02 skctl
|
||||||
|
312 FDB2 A9 C0 lda #$c0
|
||||||
|
313 FDB4 85 00 sta pokmsk
|
||||||
|
314 FDB6 8D 0E E8 sta irqen
|
||||||
|
315
|
||||||
|
316 ;wait two seconds (four is too long)
|
||||||
|
317 FDB9 A9 78 lda #120
|
||||||
|
318 FDBB C5 02 D0 FC cmp:rne rtclok+1
|
||||||
|
319
|
||||||
|
320 ;invoke cartridge
|
||||||
|
321 FDBF 6C FE BF jmp ($bffe)
|
||||||
|
322
|
||||||
|
323 FDC2 dlist:
|
||||||
|
324 FDC2 70 dta $70
|
||||||
|
325 FDC3 70 dta $70
|
||||||
|
326 FDC4 70 dta $70
|
||||||
|
327 FDC5 42 00 10 dta $42,a($1000)
|
||||||
|
328 FDC8 82 dta $82
|
||||||
|
329 FDC9 07 dta $07
|
||||||
|
330 FDCA 41 C2 FD dta $41,a(dlist)
|
||||||
|
331
|
||||||
|
332 FDCD playfield:
|
||||||
|
333 ; 0123456789012345678901234567890123456789
|
||||||
|
334 FDCD 21 6C 74 69 72 72 + dta d"Altirra 5200 ROM Kernel "
|
||||||
|
335 FDF5 2E 6F 77 00 70 6C + dta d"Now playing: "
|
||||||
|
336 .endp
|
||||||
|
337
|
||||||
|
338 ;=========================================================================
|
||||||
|
339 ; Default IRQ table
|
||||||
|
340 ;
|
||||||
|
341 ; MUST be at $FE95 for Pitfall! to work.
|
||||||
|
342 ;
|
||||||
|
343 FE1D org $fe95
|
||||||
|
344 FE95 irqtable:
|
||||||
|
345 FE95 03 FC dta a(sysirq) ;vimirq = $fc03
|
||||||
|
346 FE97 B8 FC dta a(sysvbl) ;vvblki = $fcb8
|
||||||
|
347 FE99 B2 FC dta a(xitvbl) ;vvblkd
|
||||||
|
348 FE9B A1 FE dta a(sysdli) ;vdslst = $fea1
|
||||||
|
349 FE9D 02 FD dta a(syskbd) ;vkybdi
|
||||||
|
350 FE9F B2 FC dta a(xitvbl) ;vkybdf
|
||||||
|
351
|
||||||
|
352 ;=========================================================================
|
||||||
|
353 ;Must be at $FEA1 for A.E.
|
||||||
|
354 FEA1 org $fea1
|
||||||
|
355 FEA1 .proc sysdli
|
||||||
|
356 FEA1 48 pha
|
||||||
|
357
|
||||||
|
358 ;cycle color PF0, but avoid going through grayscales
|
||||||
|
359 FEA2 E6 0C inc color0
|
||||||
|
360 FEA4 D0 04 bne noroll
|
||||||
|
361 FEA6 A9 10 lda #$10
|
||||||
|
362 FEA8 85 0C sta color0
|
||||||
|
363 FEAA noroll:
|
||||||
|
364 FEAA 68 pla
|
||||||
|
365 FEAB 40 rti
|
||||||
|
366 .endp
|
||||||
|
367
|
||||||
|
368 ;=========================================================================
|
||||||
|
369
|
||||||
|
370 FEAC org $fffa
|
||||||
|
371 FFFA 23 FD dta a(nmi)
|
||||||
|
372 FFFC 31 FD dta a(reset)
|
||||||
|
373 FFFE 00 FC dta a(irq)
|
BIN
res/altirra/superkernel.rom
Normal file
BIN
res/altirra/superkernel.rom
Normal file
Binary file not shown.
@ -255,6 +255,11 @@ export var POKEYDeviceChannel = function() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.getRegister = function(addr) {
|
||||||
|
addr &= 0xf;
|
||||||
|
return regs[addr];
|
||||||
|
}
|
||||||
|
|
||||||
this.setTIARegister = function(addr, value) {
|
this.setTIARegister = function(addr, value) {
|
||||||
switch (addr) {
|
switch (addr) {
|
||||||
|
@ -1651,7 +1651,7 @@ export var _MOS6502 = function() {
|
|||||||
pushToStack((PC >>> 8) & 0xff);
|
pushToStack((PC >>> 8) & 0xff);
|
||||||
},
|
},
|
||||||
function() { pushToStack(PC & 0xff); },
|
function() { pushToStack(PC & 0xff); },
|
||||||
function() { pushToStack(getStatusBits()); },
|
function() { pushToStack(getStatusBits() & ~0x10); }, // no BRK flag
|
||||||
function() { AD = bus.read(IRQ_VECTOR); },
|
function() { AD = bus.read(IRQ_VECTOR); },
|
||||||
function() { AD |= bus.read(IRQ_VECTOR + 1) << 8; },
|
function() { AD |= bus.read(IRQ_VECTOR + 1) << 8; },
|
||||||
function() { PC = AD; fetchNextOpcode(); }
|
function() { PC = AD; fetchNextOpcode(); }
|
||||||
@ -1667,7 +1667,7 @@ export var _MOS6502 = function() {
|
|||||||
pushToStack((PC >>> 8) & 0xff);
|
pushToStack((PC >>> 8) & 0xff);
|
||||||
},
|
},
|
||||||
function() { pushToStack(PC & 0xff); },
|
function() { pushToStack(PC & 0xff); },
|
||||||
function() { pushToStack(getStatusBits()); },
|
function() { pushToStack(getStatusBits() & ~0x10); }, // no BRK flag
|
||||||
function() { AD = bus.read(NMI_VECTOR); },
|
function() { AD = bus.read(NMI_VECTOR); },
|
||||||
function() { AD |= bus.read(NMI_VECTOR + 1) << 8; },
|
function() { AD |= bus.read(NMI_VECTOR + 1) << 8; },
|
||||||
function() { PC = AD; fetchNextOpcode(); }
|
function() { PC = AD; fetchNextOpcode(); }
|
||||||
|
@ -308,6 +308,7 @@ export abstract class BasicMachine extends BasicHeadlessMachine implements Sampl
|
|||||||
abstract sampleRate : number;
|
abstract sampleRate : number;
|
||||||
overscan : boolean = false;
|
overscan : boolean = false;
|
||||||
rotate : number = 0;
|
rotate : number = 0;
|
||||||
|
aspectRatio : number = 1.0;
|
||||||
|
|
||||||
pixels : Uint32Array;
|
pixels : Uint32Array;
|
||||||
audio : SampledAudioSink;
|
audio : SampledAudioSink;
|
||||||
@ -321,7 +322,11 @@ export abstract class BasicMachine extends BasicHeadlessMachine implements Sampl
|
|||||||
this.audio = audio;
|
this.audio = audio;
|
||||||
}
|
}
|
||||||
getVideoParams() : VideoParams {
|
getVideoParams() : VideoParams {
|
||||||
return {width:this.canvasWidth, height:this.numVisibleScanlines, overscan:this.overscan, rotate:this.rotate};
|
return {width:this.canvasWidth,
|
||||||
|
height:this.numVisibleScanlines,
|
||||||
|
aspect:this.aspectRatio,
|
||||||
|
overscan:this.overscan,
|
||||||
|
rotate:this.rotate};
|
||||||
}
|
}
|
||||||
connectVideo(pixels:Uint32Array) : void {
|
connectVideo(pixels:Uint32Array) : void {
|
||||||
this.pixels = pixels;
|
this.pixels = pixels;
|
||||||
|
@ -368,6 +368,7 @@ export const Keys = {
|
|||||||
GP_D: {c: 67, n: "C", plyr:0, button:3},
|
GP_D: {c: 67, n: "C", plyr:0, button:3},
|
||||||
SELECT: {c: 220, n: "\\", plyr:0, button:8},
|
SELECT: {c: 220, n: "\\", plyr:0, button:8},
|
||||||
START: {c: 13, n: "Enter", plyr:0, button:9},
|
START: {c: 13, n: "Enter", plyr:0, button:9},
|
||||||
|
OPTION: {c: 9, n: "Tab", plyr:0, button:10},
|
||||||
// gamepad and keyboard (player 1)
|
// gamepad and keyboard (player 1)
|
||||||
P2_UP: {c: 87, n: "W", plyr:1, yaxis:-1},
|
P2_UP: {c: 87, n: "W", plyr:1, yaxis:-1},
|
||||||
P2_DOWN: {c: 83, n: "S", plyr:1, yaxis:1},
|
P2_DOWN: {c: 83, n: "S", plyr:1, yaxis:1},
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -2,7 +2,7 @@
|
|||||||
import { Platform, getOpcodeMetadata_6502, getToolForFilename_6502, Base6502MachinePlatform } from "../common/baseplatform";
|
import { Platform, getOpcodeMetadata_6502, getToolForFilename_6502, Base6502MachinePlatform } from "../common/baseplatform";
|
||||||
import { PLATFORMS, Keys, makeKeycodeMap } from "../common/emu";
|
import { PLATFORMS, Keys, makeKeycodeMap } from "../common/emu";
|
||||||
import { BaseMAME6502Platform } from "../common/mameplatform";
|
import { BaseMAME6502Platform } from "../common/mameplatform";
|
||||||
import { Atari8_WASMMachine } from "../machine/atari8";
|
import { Atari5200, Atari800, Atari8_WASMMachine } from "../machine/atari8";
|
||||||
|
|
||||||
declare var jt; // for 6502
|
declare var jt; // for 6502
|
||||||
|
|
||||||
@ -27,7 +27,7 @@ const ATARI8_KEYCODE_MAP = makeKeycodeMap([
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
const Atari800_MemoryMap = { main:[
|
const Atari800_MemoryMap = { main:[
|
||||||
{name:'RAM',start:0x0,size:0x10000,type:'ram'},
|
{name:'RAM',start:0x0,size:0xc000,type:'ram'},
|
||||||
{name:'Left Cartridge ROM',start:0xa000,size:0x2000,type:'rom'},
|
{name:'Left Cartridge ROM',start:0xa000,size:0x2000,type:'rom'},
|
||||||
{name:'GTIA',start:0xd000,size:0x20,type:'io'},
|
{name:'GTIA',start:0xd000,size:0x20,type:'io'},
|
||||||
{name:'POKEY',start:0xd200,size:0x10,type:'io'},
|
{name:'POKEY',start:0xd200,size:0x10,type:'io'},
|
||||||
@ -35,7 +35,7 @@ const Atari800_MemoryMap = { main:[
|
|||||||
{name:'ANTIC',start:0xd400,size:0x10,type:'io'},
|
{name:'ANTIC',start:0xd400,size:0x10,type:'io'},
|
||||||
{name:'Cartridge Control Line',start:0xd600,size:0x100,type:'io'},
|
{name:'Cartridge Control Line',start:0xd600,size:0x100,type:'io'},
|
||||||
{name:'ROM',start:0xd800,size:0x800,type:'rom'},
|
{name:'ROM',start:0xd800,size:0x800,type:'rom'},
|
||||||
{name:'ATARI Character Set',start:0xe000,size:0x400,type:'rom'},
|
{name:'Character Set',start:0xe000,size:0x400,type:'rom'},
|
||||||
{name:'ROM',start:0xe400,size:0x1c00,type:'rom'},
|
{name:'ROM',start:0xe400,size:0x1c00,type:'rom'},
|
||||||
] }
|
] }
|
||||||
|
|
||||||
@ -133,32 +133,6 @@ class Atari5200MAMEPlatform extends Atari8MAMEPlatform implements Platform {
|
|||||||
] } };
|
] } };
|
||||||
}
|
}
|
||||||
|
|
||||||
///
|
|
||||||
|
|
||||||
// Altirra Superkernel ROM (http://www.virtualdub.org/altirra.html) compiled with MADS
|
|
||||||
const ALTIRRA_SUPERKERNEL_LZG = `
|
|
||||||
TFpHAAAIAAAABJGU01hQARcZHSUAACUFGCUBABgAAGZmZh2IZv9mJUEAGD5gPAZ8HVBsGDBmRgAcNhw4
|
|
||||||
b2Y7HagdoA4cGBgcDgAAcDgYGDhwHSA8/zwdehgYfhkFGh1EMCWhfhkGYx0IAAAGDBgwYEAAADxmbnZm
|
|
||||||
PB0MHTgYHRs8Zh0RJeF+DBgMHVAMHDxsfgwdCGB8Bh1IPGB8ZiXifh15MB1oPB2IPGY+Bgw4GQRVGQNx
|
|
||||||
JeMwHV4YDAYZBHclQWAdBhgwYBkEYBkC6Dxmbm5gPh0nHT9+ZgAAfGZ8ZmZ8HVBgYBkCUHhsZmZseBkD
|
|
||||||
eGBgHXwl4h04PmBgbmYdMB1uGSIrfhkiOR0YBiUBHXAdLR0zAAAdJR2wY3d/a2NjHRB2fn5uHRA8HS4d
|
|
||||||
YBkCZhkCSB1IbDYdyB1wPGA8BgYdGBkDUBkkkGZmfiXkPB0IY2Nrf3cZAkhmPB0zJeMdoH4ZAtcdIB4d
|
|
||||||
bx4AAEAZAuoGAAB4HUh4AAAIHDYdLiUF/wAANn9/PhwIGSLHHx8lgQMlBR0D+PgZRA/4+Bkk5CXjAwcO
|
|
||||||
HDhw4MDA4HA4HA4HAwEDBw8fP3//HRgADyUBgMDg8Pj8/v8dRB1M8CUBJeL/HZolBh3GHZQcHHd3CBwd
|
|
||||||
RxkDeBkGFR0D//8diDx+fn48GQUu///AJQUdhxkjEx0gGQVEJQIZA8AdCHhgeGB+GQL4GDwZIjoZA0l+
|
|
||||||
GSIwGDB+MBlDFwx+DCXjPH4dkAA8Bj4ZIshgGUJYfB1IYGBgPBkiyD5mHVAAPGZ+HUgOGD4ZBJ8dTwZ8
|
|
||||||
HehmAAAYADgYGB1oGSP6PB0QbBkj+B0OHZAAZn9/axkich1nHRAZI+kdUBkm+RkDSAYdSBlDWAAZY3EA
|
|
||||||
ABliPxgOHXglARkCgBkl+ABja38+Nh1IPBgZY2kdVwwZQqEZZDgZAtAYPBljzyUCAH54fG5mBgAIGDh4
|
|
||||||
OBgIABAYHB4cGBAAbAACSKkgLA7o0A1FAI0O6KUlgmwQAjAPqYAZCQkMAnAPqUAZCQkIAmodLfAZCi0S
|
|
||||||
AmokAPASGQ5EFAKpARkODBYCKhkOCxgZEAsaAopIur0BASkQ0ANsDgJoqmhA////aKgdQUiKSJhI5gLQ
|
|
||||||
COYBpQQwAuYEpQPQ5aUFjQLUpQaNA9SlB40A1KAAJAQQAqQBogiYVQidEsDKEPeiB70A6JURyhD4jQvo
|
|
||||||
bAQC////GQJBrQnoSikPqr0T/WwKAv8LAAoOCQgHDQYFBAwDAgEsD9SND9QQA2wGAmwCAnjYov+arf2/
|
|
||||||
yf/QA2z+v6IAqQCVAJ0AwJ0A1J0A6OjQ8qn4jQnUogu9lf6dAAIZAmtPvc39nQAQHUMTvei/nVAdQ6kQ
|
|
||||||
hQypD4UNqQCFDiVhDyVhEKkEjRvAogq9wh0nIB1cIoUHqcCNDtQdFQWpIIUGqQKND+ipwIUZIhapeMUC
|
|
||||||
0Pxs/r9wcHBCABCCB0HC/SFsdGlycmEAFRIQEAAyLy0AK2VybmVsGWpyJQMub3cAcGxheWluZxoZDxUZ
|
|
||||||
a58lHiUcJQkD/Lj8svyh/gL9svxI5gzQBBkiJhkj9SUfJR8lHiUBI/0x/QD8`;
|
|
||||||
|
|
||||||
|
|
||||||
/// WASM Atari8 platform
|
/// WASM Atari8 platform
|
||||||
class Atari8WASMPlatform extends Base6502MachinePlatform<Atari8_WASMMachine> implements Platform {
|
class Atari8WASMPlatform extends Base6502MachinePlatform<Atari8_WASMMachine> implements Platform {
|
||||||
|
|
||||||
@ -178,12 +152,50 @@ class Atari8WASMPlatform extends Base6502MachinePlatform<Atari8_WASMMachine> imp
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class Atari800WASMPlatform extends Atari8WASMPlatform {
|
class Atari800WASMPlatform extends Atari8WASMPlatform {
|
||||||
|
}
|
||||||
|
|
||||||
|
////
|
||||||
|
|
||||||
|
class Atari800Platform extends Base6502MachinePlatform<Atari800> {
|
||||||
|
newMachine() { return new Atari800(); }
|
||||||
|
getPresets() { return Atari800_PRESETS; }
|
||||||
|
getDefaultExtension() { return ".c"; };
|
||||||
|
getToolForFilename = getToolForFilename_Atari8;
|
||||||
|
readAddress(a) { return this.machine.readConst(a); }
|
||||||
|
getMemoryMap() { return Atari800_MemoryMap; }
|
||||||
|
showHelp() {
|
||||||
|
// TODO
|
||||||
|
}
|
||||||
|
getROMExtension(rom:Uint8Array) {
|
||||||
|
// TODO
|
||||||
|
if (rom && rom[0] == 0x01 && rom[1] == 0x08) return ".prg";
|
||||||
|
else return ".bin";
|
||||||
|
}
|
||||||
|
async start() {
|
||||||
|
let bios = await this.loadKernel();
|
||||||
|
await super.start();
|
||||||
|
this.machine.loadBIOS(bios);
|
||||||
|
}
|
||||||
|
biosPath = 'res/altirra/kernel.rom';
|
||||||
|
async loadKernel() {
|
||||||
|
var biosResponse = await fetch(this.biosPath);
|
||||||
|
if (biosResponse.status == 200 || (biosResponse as any as Blob).size) {
|
||||||
|
var biosBinary = await biosResponse.arrayBuffer();
|
||||||
|
return new Uint8Array(biosBinary);
|
||||||
|
} else throw new Error('could not load BIOS file');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Atari5200Platform extends Atari800Platform {
|
||||||
|
newMachine() { return new Atari5200(); }
|
||||||
|
biosPath = 'res/altirra/superkernel.rom';
|
||||||
}
|
}
|
||||||
|
|
||||||
///
|
///
|
||||||
|
|
||||||
PLATFORMS['atari8-800xl.mame'] = Atari800MAMEPlatform
|
PLATFORMS['atari8-800.xlmame'] = Atari800MAMEPlatform
|
||||||
PLATFORMS['atari8-5200.mame'] = Atari5200MAMEPlatform
|
PLATFORMS['atari8-5200.mame'] = Atari5200MAMEPlatform
|
||||||
PLATFORMS['atari8-800xl'] = Atari800WASMPlatform
|
PLATFORMS['atari8-800.xlwasm'] = Atari800WASMPlatform
|
||||||
|
PLATFORMS['atari8-800'] = Atari800Platform
|
||||||
|
PLATFORMS['atari8-5200'] = Atari5200Platform
|
||||||
|
@ -271,6 +271,13 @@ var PLATFORM_PARAMS = {
|
|||||||
libargs: ['atari.lib', '-D', '__CARTFLAGS__=4'],
|
libargs: ['atari.lib', '-D', '__CARTFLAGS__=4'],
|
||||||
fastbasic_cfgfile: 'fastbasic-cart.cfg',
|
fastbasic_cfgfile: 'fastbasic-cart.cfg',
|
||||||
},
|
},
|
||||||
|
'atari8-800': {
|
||||||
|
arch: '6502',
|
||||||
|
define: ['__ATARI__'],
|
||||||
|
cfgfile: 'atari-cart.cfg',
|
||||||
|
libargs: ['atari.lib', '-D', '__CARTFLAGS__=4'],
|
||||||
|
fastbasic_cfgfile: 'fastbasic-cart.cfg',
|
||||||
|
},
|
||||||
'atari8-5200': {
|
'atari8-5200': {
|
||||||
arch: '6502',
|
arch: '6502',
|
||||||
define: ['__ATARI5200__'],
|
define: ['__ATARI5200__'],
|
||||||
|
@ -40,7 +40,6 @@ var _sms = require('gen/platform/sms.js');
|
|||||||
var _c64 = require('gen/platform/c64.js');
|
var _c64 = require('gen/platform/c64.js');
|
||||||
var _vectrex = require('gen/platform/vectrex.js');
|
var _vectrex = require('gen/platform/vectrex.js');
|
||||||
var _zx = require('gen/platform/zx.js');
|
var _zx = require('gen/platform/zx.js');
|
||||||
var _atari8 = require('gen/platform/atari8.js');
|
|
||||||
var util = require('gen/common/util.js');
|
var util = require('gen/common/util.js');
|
||||||
util.loadScript = function(s) { console.log('tried to load',s); } // for vcs
|
util.loadScript = function(s) { console.log('tried to load',s); } // for vcs
|
||||||
|
|
||||||
@ -360,13 +359,11 @@ describe('Platform Replay', () => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
/*
|
it('Should run atari800', async () => {
|
||||||
it('Should run atari 800xl', async () => {
|
await testPlatform('atari8-800', 'siegegame.bin', 92, (platform, frameno) => {
|
||||||
await testPlatform('atari8-800xl', 'siegegame.bin', 92, (platform, frameno) => {
|
|
||||||
if (frameno == 62) {
|
if (frameno == 62) {
|
||||||
keycallback(Keys.VK_DOWN.c, Keys.VK_DOWN.c, 1);
|
keycallback(Keys.VK_DOWN.c, Keys.VK_DOWN.c, 1);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
*/
|
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user