Some formatting and style fixes.
This commit is contained in:
@@ -1002,16 +1002,16 @@ CASETV = $E440 ;cassette handler vector table
|
|||||||
|
|
||||||
DISKIV = $E450 ;vector to initialize DIO
|
DISKIV = $E450 ;vector to initialize DIO
|
||||||
DSKINV = $E453 ;vector to DIO
|
DSKINV = $E453 ;vector to DIO
|
||||||
.if .defined(__ATARIXL__)
|
.ifdef __ATARIXL__
|
||||||
.ifndef SHRAM_HANDLERS
|
.ifndef SHRAM_HANDLERS
|
||||||
.import CIO_handler, SIO_handler, SETVBV_handler
|
.import CIO_handler, SIO_handler, SETVBV_handler
|
||||||
.endif
|
.endif
|
||||||
.define CIOV CIO_handler
|
.define CIOV CIO_handler
|
||||||
.define SIOV SIO_handler
|
.define SIOV SIO_handler
|
||||||
.define SETVBV SETVBV_handler
|
.define SETVBV SETVBV_handler
|
||||||
CIOV_org = $E456 ;vector to CIO
|
CIOV_org = $E456 ;vector to CIO
|
||||||
SIOV_org = $E459 ;vector to SIO
|
SIOV_org = $E459 ;vector to SIO
|
||||||
SETVBV_org = $E45C ;vector to set VBLANK parameters
|
SETVBV_org = $E45C ;vector to set VBLANK parameters
|
||||||
.else
|
.else
|
||||||
CIOV = $E456 ;vector to CIO
|
CIOV = $E456 ;vector to CIO
|
||||||
SIOV = $E459 ;vector to SIO
|
SIOV = $E459 ;vector to SIO
|
||||||
|
|||||||
@@ -49,30 +49,30 @@ MEMORY {
|
|||||||
}
|
}
|
||||||
|
|
||||||
SEGMENTS {
|
SEGMENTS {
|
||||||
EXEHDR: load = HEADER, type = ro;
|
EXEHDR: load = HEADER, type = ro;
|
||||||
|
|
||||||
SYSCHKHDR: load = SYSCHKHDR, type = ro, optional = yes;
|
SYSCHKHDR: load = SYSCHKHDR, type = ro, optional = yes;
|
||||||
SYSCHK: load = SYSCHKCHNK, type = rw, define = yes, optional = yes;
|
SYSCHK: load = SYSCHKCHNK, type = rw, define = yes, optional = yes;
|
||||||
SYSCHKTRL: load = SYSCHKTRL, type = ro, optional = yes;
|
SYSCHKTRL: load = SYSCHKTRL, type = ro, optional = yes;
|
||||||
|
|
||||||
SRPREPHDR: load = SRPREPHDR, type = ro;
|
SRPREPHDR: load = SRPREPHDR, type = ro;
|
||||||
LOWDATA: load = SRPREPCHNK, type = bss, define = yes; # shared btw. SRPREP and RAM
|
LOWDATA: load = SRPREPCHNK, type = bss, define = yes; # shared btw. SRPREP and RAM
|
||||||
SRPREP: load = SRPREPCHNK, type = rw, define = yes;
|
SRPREP: load = SRPREPCHNK, type = rw, define = yes;
|
||||||
SHADOW_RAM: load = SRPREPCHNK, run = HIDDEN_RAM, type = rw, define = yes, optional = yes;
|
SHADOW_RAM: load = SRPREPCHNK, run = HIDDEN_RAM, type = rw, define = yes, optional = yes;
|
||||||
SHADOW_RAM2: load = SRPREPCHNK, run = HIDDEN_RAM, type = rw, define = yes, optional = yes;
|
SHADOW_RAM2: load = SRPREPCHNK, run = HIDDEN_RAM, type = rw, define = yes, optional = yes;
|
||||||
SRPREPTRL: load = SRPREPTRL, type = ro;
|
SRPREPTRL: load = SRPREPTRL, type = ro;
|
||||||
|
|
||||||
MAINHDR: load = MAINHDR, type = ro;
|
MAINHDR: load = MAINHDR, type = ro;
|
||||||
STARTUP: load = RAM, type = ro, define = yes;
|
STARTUP: load = RAM, type = ro, define = yes;
|
||||||
LOWCODE: load = RAM, type = ro, define = yes, optional = yes;
|
LOWCODE: load = RAM, type = ro, define = yes, optional = yes;
|
||||||
INIT: load = RAM, type = ro, optional = yes;
|
INIT: load = RAM, type = ro, optional = yes;
|
||||||
CODE: load = RAM, type = ro, define = yes;
|
CODE: load = RAM, type = ro, define = yes;
|
||||||
RODATA: load = RAM, type = ro;
|
RODATA: load = RAM, type = ro;
|
||||||
DATA: load = RAM, type = rw;
|
DATA: load = RAM, type = rw;
|
||||||
BSS: load = RAM, type = bss, define = yes;
|
BSS: load = RAM, type = bss, define = yes;
|
||||||
ZEROPAGE: load = ZP, type = zp;
|
ZEROPAGE: load = ZP, type = zp;
|
||||||
EXTZP: load = ZP, type = zp, optional = yes;
|
EXTZP: load = ZP, type = zp, optional = yes;
|
||||||
AUTOSTRT: load = TRAILER, type = ro;
|
AUTOSTRT: load = TRAILER, type = ro;
|
||||||
}
|
}
|
||||||
FEATURES {
|
FEATURES {
|
||||||
CONDES: type = constructor,
|
CONDES: type = constructor,
|
||||||
|
|||||||
@@ -61,40 +61,40 @@ MEMORY {
|
|||||||
}
|
}
|
||||||
|
|
||||||
SEGMENTS {
|
SEGMENTS {
|
||||||
EXEHDR: load = HEADER, type = ro;
|
EXEHDR: load = HEADER, type = ro;
|
||||||
|
|
||||||
SYSCHKHDR: load = SYSCHKHDR, type = ro, optional = yes;
|
SYSCHKHDR: load = SYSCHKHDR, type = ro, optional = yes;
|
||||||
SYSCHK: load = SYSCHKCHNK, type = rw, define = yes, optional = yes;
|
SYSCHK: load = SYSCHKCHNK, type = rw, define = yes, optional = yes;
|
||||||
SYSCHKTRL: load = SYSCHKTRL, type = ro, optional = yes;
|
SYSCHKTRL: load = SYSCHKTRL, type = ro, optional = yes;
|
||||||
|
|
||||||
SRPREPHDR: load = SRPREPHDR, type = ro;
|
SRPREPHDR: load = SRPREPHDR, type = ro;
|
||||||
LOWDATA: load = SRPREPCHNK, type = bss, define = yes; # shared btw. SRPREP and RAM
|
LOWDATA: load = SRPREPCHNK, type = bss, define = yes; # shared btw. SRPREP and RAM
|
||||||
SRPREP: load = SRPREPCHNK, type = rw, define = yes;
|
SRPREP: load = SRPREPCHNK, type = rw, define = yes;
|
||||||
SHADOW_RAM: load = SRPREPCHNK, run = HIDDEN_RAM, type = rw, define = yes, optional = yes;
|
SHADOW_RAM: load = SRPREPCHNK, run = HIDDEN_RAM, type = rw, define = yes, optional = yes;
|
||||||
SHADOW_RAM2: load = SRPREPCHNK, run = HIDDEN_RAM2, type = rw, define = yes, optional = yes;
|
SHADOW_RAM2: load = SRPREPCHNK, run = HIDDEN_RAM2, type = rw, define = yes, optional = yes;
|
||||||
SRPREPTRL: load = SRPREPTRL, type = ro;
|
SRPREPTRL: load = SRPREPTRL, type = ro;
|
||||||
|
|
||||||
MAINHDR: load = MAINHDR, type = ro;
|
MAINHDR: load = MAINHDR, type = ro;
|
||||||
STARTUP: load = RAM, type = ro, define = yes;
|
STARTUP: load = RAM, type = ro, define = yes;
|
||||||
LOWCODE: load = RAM, type = ro, define = yes, optional = yes;
|
LOWCODE: load = RAM, type = ro, define = yes, optional = yes;
|
||||||
INIT: load = RAM, type = ro, optional = yes;
|
INIT: load = RAM, type = ro, optional = yes;
|
||||||
CODE: load = RAM, type = ro, define = yes;
|
CODE: load = RAM, type = ro, define = yes;
|
||||||
RODATA: load = RAM, type = ro;
|
RODATA: load = RAM, type = ro;
|
||||||
DATA: load = RAM, type = rw;
|
DATA: load = RAM, type = rw;
|
||||||
BSS: load = RAM, type = bss, define = yes;
|
BSS: load = RAM, type = bss, define = yes;
|
||||||
ZEROPAGE: load = ZP, type = zp;
|
ZEROPAGE: load = ZP, type = zp;
|
||||||
EXTZP: load = ZP, type = zp, optional = yes;
|
EXTZP: load = ZP, type = zp, optional = yes;
|
||||||
AUTOSTRT: load = TRAILER, type = ro;
|
AUTOSTRT: load = TRAILER, type = ro;
|
||||||
|
|
||||||
OVERLAY1: load = OVL1, type = ro, define = yes, optional = yes;
|
OVERLAY1: load = OVL1, type = ro, define = yes, optional = yes;
|
||||||
OVERLAY2: load = OVL2, type = ro, define = yes, optional = yes;
|
OVERLAY2: load = OVL2, type = ro, define = yes, optional = yes;
|
||||||
OVERLAY3: load = OVL3, type = ro, define = yes, optional = yes;
|
OVERLAY3: load = OVL3, type = ro, define = yes, optional = yes;
|
||||||
OVERLAY4: load = OVL4, type = ro, define = yes, optional = yes;
|
OVERLAY4: load = OVL4, type = ro, define = yes, optional = yes;
|
||||||
OVERLAY5: load = OVL5, type = ro, define = yes, optional = yes;
|
OVERLAY5: load = OVL5, type = ro, define = yes, optional = yes;
|
||||||
OVERLAY6: load = OVL6, type = ro, define = yes, optional = yes;
|
OVERLAY6: load = OVL6, type = ro, define = yes, optional = yes;
|
||||||
OVERLAY7: load = OVL7, type = ro, define = yes, optional = yes;
|
OVERLAY7: load = OVL7, type = ro, define = yes, optional = yes;
|
||||||
OVERLAY8: load = OVL8, type = ro, define = yes, optional = yes;
|
OVERLAY8: load = OVL8, type = ro, define = yes, optional = yes;
|
||||||
OVERLAY9: load = OVL9, type = ro, define = yes, optional = yes;
|
OVERLAY9: load = OVL9, type = ro, define = yes, optional = yes;
|
||||||
}
|
}
|
||||||
FEATURES {
|
FEATURES {
|
||||||
CONDES: type = constructor,
|
CONDES: type = constructor,
|
||||||
|
|||||||
@@ -47,30 +47,30 @@ MEMORY {
|
|||||||
}
|
}
|
||||||
|
|
||||||
SEGMENTS {
|
SEGMENTS {
|
||||||
EXEHDR: load = HEADER, type = ro;
|
EXEHDR: load = HEADER, type = ro;
|
||||||
|
|
||||||
SYSCHKHDR: load = SYSCHKHDR, type = ro, optional = yes;
|
SYSCHKHDR: load = SYSCHKHDR, type = ro, optional = yes;
|
||||||
SYSCHK: load = SYSCHKCHNK, type = rw, define = yes, optional = yes;
|
SYSCHK: load = SYSCHKCHNK, type = rw, define = yes, optional = yes;
|
||||||
SYSCHKTRL: load = SYSCHKTRL, type = ro, optional = yes;
|
SYSCHKTRL: load = SYSCHKTRL, type = ro, optional = yes;
|
||||||
|
|
||||||
SRPREPHDR: load = SRPREPHDR, type = ro;
|
SRPREPHDR: load = SRPREPHDR, type = ro;
|
||||||
LOWDATA: load = SRPREPCHNK, type = bss, define = yes; # shared btw. SRPREP and RAM
|
LOWDATA: load = SRPREPCHNK, type = bss, define = yes; # shared btw. SRPREP and RAM
|
||||||
SRPREP: load = SRPREPCHNK, type = rw, define = yes;
|
SRPREP: load = SRPREPCHNK, type = rw, define = yes;
|
||||||
SHADOW_RAM: load = SRPREPCHNK, run = HIDDEN_RAM, type = rw, define = yes, optional = yes;
|
SHADOW_RAM: load = SRPREPCHNK, run = HIDDEN_RAM, type = rw, define = yes, optional = yes;
|
||||||
SHADOW_RAM2: load = SRPREPCHNK, run = HIDDEN_RAM2, type = rw, define = yes, optional = yes;
|
SHADOW_RAM2: load = SRPREPCHNK, run = HIDDEN_RAM2, type = rw, define = yes, optional = yes;
|
||||||
SRPREPTRL: load = SRPREPTRL, type = ro;
|
SRPREPTRL: load = SRPREPTRL, type = ro;
|
||||||
|
|
||||||
MAINHDR: load = MAINHDR, type = ro;
|
MAINHDR: load = MAINHDR, type = ro;
|
||||||
STARTUP: load = RAM, type = ro, define = yes;
|
STARTUP: load = RAM, type = ro, define = yes;
|
||||||
LOWCODE: load = RAM, type = ro, define = yes, optional = yes;
|
LOWCODE: load = RAM, type = ro, define = yes, optional = yes;
|
||||||
INIT: load = RAM, type = ro, optional = yes;
|
INIT: load = RAM, type = ro, optional = yes;
|
||||||
CODE: load = RAM, type = ro, define = yes;
|
CODE: load = RAM, type = ro, define = yes;
|
||||||
RODATA: load = RAM, type = ro;
|
RODATA: load = RAM, type = ro;
|
||||||
DATA: load = RAM, type = rw;
|
DATA: load = RAM, type = rw;
|
||||||
BSS: load = RAM, type = bss, define = yes;
|
BSS: load = RAM, type = bss, define = yes;
|
||||||
ZEROPAGE: load = ZP, type = zp;
|
ZEROPAGE: load = ZP, type = zp;
|
||||||
EXTZP: load = ZP, type = zp, optional = yes;
|
EXTZP: load = ZP, type = zp, optional = yes;
|
||||||
AUTOSTRT: load = TRAILER, type = ro;
|
AUTOSTRT: load = TRAILER, type = ro;
|
||||||
}
|
}
|
||||||
FEATURES {
|
FEATURES {
|
||||||
CONDES: type = constructor,
|
CONDES: type = constructor,
|
||||||
|
|||||||
@@ -100,23 +100,6 @@ start:
|
|||||||
|
|
||||||
jsr initlib
|
jsr initlib
|
||||||
|
|
||||||
.if 0
|
|
||||||
.ifdef __ATARIXL__
|
|
||||||
.import __heapadd
|
|
||||||
.import pushax
|
|
||||||
.import __RAM_BELOW_ROM_START__
|
|
||||||
.import __RAM_BELOW_ROM_SIZE__
|
|
||||||
.import __RAM_BELOW_ROM_LAST__
|
|
||||||
|
|
||||||
lda #<__RAM_BELOW_ROM_LAST__
|
|
||||||
ldx #>__RAM_BELOW_ROM_LAST__
|
|
||||||
jsr pushax
|
|
||||||
lda #<(__RAM_BELOW_ROM_SIZE__ - (__RAM_BELOW_ROM_LAST__ - __RAM_BELOW_ROM_START__))
|
|
||||||
ldx #>(__RAM_BELOW_ROM_SIZE__ - (__RAM_BELOW_ROM_LAST__ - __RAM_BELOW_ROM_START__))
|
|
||||||
jsr __heapadd
|
|
||||||
.endif
|
|
||||||
.endif
|
|
||||||
|
|
||||||
; Set left margin to 0
|
; Set left margin to 0
|
||||||
|
|
||||||
lda LMARGN
|
lda LMARGN
|
||||||
@@ -179,7 +162,9 @@ _exit: jsr donelib ; Run module destructors
|
|||||||
sta MEMTOP+1
|
sta MEMTOP+1
|
||||||
|
|
||||||
|
|
||||||
; ... issue a GRAPHICS 0 call (copied'n'pasted from TGI drivers)
|
; Issue a GRAPHICS 0 call (copied'n'pasted from TGI drivers) in
|
||||||
|
; order to restore screen memory to its defailt location just
|
||||||
|
; before the ROM.
|
||||||
|
|
||||||
jsr findfreeiocb
|
jsr findfreeiocb
|
||||||
|
|
||||||
@@ -199,7 +184,9 @@ _exit: jsr donelib ; Run module destructors
|
|||||||
lda #0
|
lda #0
|
||||||
sta ICBLH,x
|
sta ICBLH,x
|
||||||
jsr CIOV_org
|
jsr CIOV_org
|
||||||
; add error checking here...
|
; No error checking here, shouldn't happen(tm), and no way to
|
||||||
|
; recover anyway.
|
||||||
|
|
||||||
lda #CLOSE
|
lda #CLOSE
|
||||||
sta ICCOM,x
|
sta ICCOM,x
|
||||||
jsr CIOV_org
|
jsr CIOV_org
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ IRQStub:
|
|||||||
.endif
|
.endif
|
||||||
lda PORTB
|
lda PORTB
|
||||||
pha
|
pha
|
||||||
and #$fe
|
and #$FE
|
||||||
sta PORTB ; disable ROM
|
sta PORTB ; disable ROM
|
||||||
set_chbase >__CHARGEN_START__
|
set_chbase >__CHARGEN_START__
|
||||||
.endif
|
.endif
|
||||||
|
|||||||
@@ -4,12 +4,12 @@
|
|||||||
; Christian Groessler, chris@groessler.org, 2013
|
; Christian Groessler, chris@groessler.org, 2013
|
||||||
;
|
;
|
||||||
|
|
||||||
;DEBUG = 1
|
;DEBUG = 1
|
||||||
CHKBUF = 1 ; check if bounce buffering is needed (bounce buffering is always done if set to 0)
|
CHKBUF = 1 ; check if bounce buffering is needed (bounce buffering is always done if set to 0)
|
||||||
|
|
||||||
.ifdef __ATARIXL__
|
.ifdef __ATARIXL__
|
||||||
|
|
||||||
SHRAM_HANDLERS = 1
|
SHRAM_HANDLERS = 1
|
||||||
.include "atari.inc"
|
.include "atari.inc"
|
||||||
.include "save_area.inc"
|
.include "save_area.inc"
|
||||||
.include "zeropage.inc"
|
.include "zeropage.inc"
|
||||||
@@ -23,7 +23,7 @@ CHKBUF = 1 ; check if bounce buffering is needed (bounce buffering
|
|||||||
.export SIO_handler
|
.export SIO_handler
|
||||||
.export SETVBV_handler
|
.export SETVBV_handler
|
||||||
|
|
||||||
BUFSZ = 128 ; bounce buffer size
|
BUFSZ = 128 ; bounce buffer size
|
||||||
BUFSZ_SIO = 256
|
BUFSZ_SIO = 256
|
||||||
|
|
||||||
.segment "INIT"
|
.segment "INIT"
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
.macpack longbranch
|
.macpack longbranch
|
||||||
|
|
||||||
.if .defined(__ATARIXL__)
|
.ifdef __ATARIXL__
|
||||||
CIO_vec := my_CIOV
|
CIO_vec := my_CIOV
|
||||||
.else
|
.else
|
||||||
CIO_vec := CIOV
|
CIO_vec := CIOV
|
||||||
@@ -117,7 +117,7 @@ libref: .addr $0000 ; Library reference
|
|||||||
text_dir:
|
text_dir:
|
||||||
.byte 0 ; Text direction,
|
.byte 0 ; Text direction,
|
||||||
|
|
||||||
.if .defined(__ATARIXL__)
|
.ifdef __ATARIXL__
|
||||||
my_CIOV:
|
my_CIOV:
|
||||||
.byte $4C, 0, 0
|
.byte $4C, 0, 0
|
||||||
.endif
|
.endif
|
||||||
@@ -171,7 +171,7 @@ screen_device_length := * - screen_device
|
|||||||
|
|
||||||
stx mask
|
stx mask
|
||||||
|
|
||||||
.if .defined(__ATARIXL__)
|
.ifdef __ATARIXL__
|
||||||
|
|
||||||
; setup pointer to CIO
|
; setup pointer to CIO
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user