Merge remote-tracking branch 'upstream/master' into something_to_pull
This commit is contained in:
23
libsrc/atari/carthdr.s
Normal file
23
libsrc/atari/carthdr.s
Normal file
@@ -0,0 +1,23 @@
|
||||
; Cartridge "header"
|
||||
; (In fact, it's at the end of the cartridge, so more a "trailer".)
|
||||
;
|
||||
; Christian Groessler, 06-Jan-2014
|
||||
|
||||
.ifndef __ATARIXL__
|
||||
|
||||
.export __CART_HEADER__: absolute = 1
|
||||
|
||||
.import __CARTSIZE__, __CARTFLAGS__, cartinit, cartstart
|
||||
|
||||
.include "atari.inc"
|
||||
|
||||
.segment "CARTHDR"
|
||||
|
||||
.word cartstart ; start routine
|
||||
.byte 0 ; must be zero
|
||||
.byte <__CARTFLAGS__
|
||||
.word cartinit ; init routine
|
||||
|
||||
.assert (__CARTSIZE__ = $2000 || __CARTSIZE__ = $4000), error, "Cartridge size must either be $2000 or $4000"
|
||||
|
||||
.endif ; .ifndef __ATARIXL__
|
||||
11
libsrc/atari/cartinit.s
Normal file
11
libsrc/atari/cartinit.s
Normal file
@@ -0,0 +1,11 @@
|
||||
; Cartridge init routine
|
||||
;
|
||||
; Christian Groessler, 06-Jan-2014
|
||||
|
||||
.ifndef __ATARIXL__
|
||||
|
||||
.export cartinit
|
||||
|
||||
cartinit: rts
|
||||
|
||||
.endif ; .ifndef __ATARIXL__
|
||||
20
libsrc/atari/cartstart.s
Normal file
20
libsrc/atari/cartstart.s
Normal file
@@ -0,0 +1,20 @@
|
||||
; Cartridge start routine
|
||||
;
|
||||
; Christian Groessler, 06-Jan-2014
|
||||
|
||||
.ifndef __ATARIXL__
|
||||
|
||||
.export cartstart
|
||||
|
||||
.import start, copydata
|
||||
|
||||
.include "atari.inc"
|
||||
|
||||
; start routine of cartridge
|
||||
; copy data segment to RAM and chain to entry point of crt0.s
|
||||
|
||||
cartstart: jsr copydata
|
||||
jsr start ; run program
|
||||
jmp (DOSVEC) ; return to DOS
|
||||
|
||||
.endif ; .ifndef __ATARIXL__
|
||||
Reference in New Issue
Block a user