mirror of
https://github.com/cc65/cc65.git
synced 2024-12-24 11:31:31 +00:00
Merge pull request #54 from groessler/something_to_pull
some cleanups for 'atarixl'
This commit is contained in:
commit
648e6d79f1
@ -33,10 +33,10 @@ MEMORY {
|
||||
# "main program" load chunk
|
||||
MAINHDR: file = %O, start = $0000, size = $0004;
|
||||
RAM: file = %O, define = yes, start = %S +
|
||||
__LOWDATA_SIZE__, size = $D000 -
|
||||
__LOWBSS_SIZE__, size = $D000 -
|
||||
__STACKSIZE__ -
|
||||
%S -
|
||||
__LOWDATA_SIZE__;
|
||||
__LOWBSS_SIZE__;
|
||||
|
||||
# defines entry point into program
|
||||
TRAILER: file = %O, start = $0000, size = $0006;
|
||||
@ -56,7 +56,7 @@ SEGMENTS {
|
||||
SYSCHKTRL: load = SYSCHKTRL, type = ro, optional = yes;
|
||||
|
||||
SRPREPHDR: load = SRPREPHDR, type = ro;
|
||||
LOWDATA: load = SRPREPCHNK, type = bss, define = yes; # shared btw. SRPREP and RAM
|
||||
LOWBSS: load = SRPREPCHNK, type = bss, define = yes; # shared btw. SRPREPCHNK and RAM, not zero initialized
|
||||
SRPREP: load = SRPREPCHNK, type = rw, define = 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;
|
||||
|
@ -30,11 +30,11 @@ MEMORY {
|
||||
MAINHDR: file = %O, start = $0000, size = $0004;
|
||||
RAM: file = %O, define = yes, start = %S +
|
||||
__OVERLAYSIZE__ +
|
||||
__LOWDATA_SIZE__, size = $D000 -
|
||||
__LOWBSS_SIZE__, size = $D000 -
|
||||
__STACKSIZE__ -
|
||||
%S -
|
||||
__OVERLAYSIZE__ -
|
||||
__LOWDATA_SIZE__;
|
||||
__LOWBSS_SIZE__;
|
||||
|
||||
# defines entry point into program
|
||||
TRAILER: file = %O, start = $0000, size = $0006;
|
||||
@ -68,7 +68,7 @@ SEGMENTS {
|
||||
SYSCHKTRL: load = SYSCHKTRL, type = ro, optional = yes;
|
||||
|
||||
SRPREPHDR: load = SRPREPHDR, type = ro;
|
||||
LOWDATA: load = SRPREPCHNK, type = bss, define = yes; # shared btw. SRPREP and RAM
|
||||
LOWBSS: load = SRPREPCHNK, type = bss, define = yes; # shared btw. SRPREPCHNK and RAM, not zero initialized
|
||||
SRPREP: load = SRPREPCHNK, type = rw, define = 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;
|
||||
|
@ -28,10 +28,10 @@ MEMORY {
|
||||
# "main program" load chunk
|
||||
MAINHDR: file = %O, start = $0000, size = $0004;
|
||||
RAM: file = %O, define = yes, start = %S +
|
||||
__LOWDATA_SIZE__, size = $D000 -
|
||||
__LOWBSS_SIZE__, size = $D000 -
|
||||
__STACKSIZE__ -
|
||||
%S -
|
||||
__LOWDATA_SIZE__;
|
||||
__LOWBSS_SIZE__;
|
||||
|
||||
# defines entry point into program
|
||||
TRAILER: file = %O, start = $0000, size = $0006;
|
||||
@ -54,7 +54,7 @@ SEGMENTS {
|
||||
SYSCHKTRL: load = SYSCHKTRL, type = ro, optional = yes;
|
||||
|
||||
SRPREPHDR: load = SRPREPHDR, type = ro;
|
||||
LOWDATA: load = SRPREPCHNK, type = bss, define = yes; # shared btw. SRPREP and RAM
|
||||
LOWBSS: load = SRPREPCHNK, type = bss, define = yes; # shared btw. SRPREPCHNK and RAM, not zero initialized
|
||||
SRPREP: load = SRPREPCHNK, type = rw, define = 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;
|
||||
|
@ -28,7 +28,7 @@
|
||||
sta CHBASE
|
||||
.endmacro
|
||||
|
||||
.else
|
||||
.else ; above CHARGEN_RELOC, below not
|
||||
|
||||
.macro set_chbase val
|
||||
.endmacro
|
||||
@ -42,7 +42,7 @@
|
||||
sta WSYNC
|
||||
.endmacro
|
||||
|
||||
.else ; above
|
||||
.else ; above USEWSYNC, below not
|
||||
|
||||
.macro wsync
|
||||
.endmacro
|
||||
|
@ -14,7 +14,7 @@
|
||||
.export RAMTOP_save
|
||||
.export PORTB_save
|
||||
|
||||
.segment "LOWDATA"
|
||||
.segment "LOWBSS"
|
||||
|
||||
SAVMSC_save: .res 2
|
||||
MEMTOP_save: .res 2
|
||||
|
@ -68,7 +68,7 @@ sram_init:
|
||||
zpptr1: .res 2
|
||||
|
||||
|
||||
.segment "LOWDATA"
|
||||
.segment "LOWBSS"
|
||||
|
||||
; bounce buffers for CIO and SIO calls
|
||||
bounce_buffer: .res BUFSZ_SIO
|
||||
|
@ -55,6 +55,8 @@ cont: ldx #0 ; channel 0
|
||||
|
||||
.segment "SRPREP"
|
||||
|
||||
; ***** entry point *****
|
||||
|
||||
sramprep:
|
||||
.ifdef DEBUG
|
||||
print_string "entering stage #2"
|
||||
@ -115,7 +117,7 @@ sramprep:
|
||||
iocbok:
|
||||
.endif
|
||||
|
||||
; Reopen it in Graphics 0
|
||||
; reopen it in Graphics 0
|
||||
lda #OPEN
|
||||
sta ICCOM,x
|
||||
lda #OPNIN | OPNOT
|
||||
@ -212,8 +214,8 @@ cg_addr_ok2:
|
||||
|
||||
; switch to temporary chargen
|
||||
|
||||
sta CHBASE
|
||||
sta CHBAS
|
||||
sta CHBASE
|
||||
sta CHBAS
|
||||
|
||||
; copy shadow RAM contents to their destination (segment SHADOW_RAM)
|
||||
|
||||
@ -245,7 +247,7 @@ no_copy:
|
||||
lda #<__SHADOW_RAM2_SIZE__
|
||||
bne do_copy2
|
||||
lda #>__SHADOW_RAM2_SIZE__
|
||||
beq no_copy2 ; we have no shadow RAM contents
|
||||
beq no_copy2 ; we have no shadow RAM #2 contents
|
||||
|
||||
; ptr1 - src; ptr2 - dest; tmp1, tmp2 - len
|
||||
do_copy2:
|
||||
|
@ -7,8 +7,8 @@
|
||||
; and that enough memory is installed (which isn't the case for a 600XL).
|
||||
; For the non-XL target it checks whether there is enough memory
|
||||
; installed to run the program.
|
||||
; For both target it checks that the program won't load below MEMLO.
|
||||
; If one of the checks fails the loading of the main program
|
||||
; For both targets it checks that the program won't load below MEMLO.
|
||||
; If one of the checks fails, the loading of the main program
|
||||
; is aborted by jumping to DOSVEC.
|
||||
;
|
||||
; Christian Groessler, chris@groessler.org, 2013
|
||||
@ -46,8 +46,8 @@ cont: ldx #0 ; channel 0
|
||||
sta ICCOM,x
|
||||
jsr CIOV_org
|
||||
.endmacro
|
||||
.macro print_string2 addr, len
|
||||
|
||||
.macro print_string2 addr, len
|
||||
ldx #0 ; channel 0
|
||||
lda #<addr
|
||||
sta ICBAL,x ; address
|
||||
@ -60,7 +60,6 @@ cont: ldx #0 ; channel 0
|
||||
lda #PUTCHR
|
||||
sta ICCOM,x
|
||||
jsr CIOV_org
|
||||
|
||||
.endmacro
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user