From 258ba05660dd18dcf35539fe91218a12ae5ad987 Mon Sep 17 00:00:00 2001 From: Daniel Serpell Date: Mon, 18 Feb 2019 00:26:01 -0300 Subject: [PATCH] Separate header and trailers of Atari system_check chunk. This allows to omit the headers and trailers if needed. --- libsrc/atari/system_check.s | 26 ++++++-------------------- libsrc/atari/system_check_hdr.s | 16 ++++++++++++++++ libsrc/atari/system_check_trailer.s | 17 +++++++++++++++++ 3 files changed, 39 insertions(+), 20 deletions(-) create mode 100644 libsrc/atari/system_check_hdr.s create mode 100644 libsrc/atari/system_check_trailer.s diff --git a/libsrc/atari/system_check.s b/libsrc/atari/system_check.s index 19efaf2e2..df7c433a4 100644 --- a/libsrc/atari/system_check.s +++ b/libsrc/atari/system_check.s @@ -16,8 +16,7 @@ ;DEBUG = 1 - .export __SYSTEM_CHECK__: absolute = 1 - .import __SYSCHK_LOAD__ + .export __SYSTEM_CHECK__, __SYSCHK_END__ .import __STARTADDRESS__ ; the following imports are only needed for the 'atari' target version @@ -25,10 +24,12 @@ .import __STACKSIZE__ .import __RESERVED_MEMORY__ + ; import our header and trailers + .forceimport __SYSCHKHDR__, __SYSCHKTRL__ + .include "zeropage.inc" .include "atari.inc" - .macro print_string text .local start, cont jmp cont @@ -229,25 +230,10 @@ delay1: ldx #0 .endproc -end: +__SYSTEM_CHECK__=syschk +__SYSCHK_END__: .ifndef __ATARIXL__ tmp: ; outside of the load chunk, some kind of poor man's .bss .endif -; ------------------------------------------------------------------------ -; Chunk header - -.segment "SYSCHKHDR" - - .word __SYSCHK_LOAD__ - .word end - 1 - -; ------------------------------------------------------------------------ -; Chunk "trailer" - sets INITAD - -.segment "SYSCHKTRL" - - .word INITAD - .word INITAD+1 - .word syschk diff --git a/libsrc/atari/system_check_hdr.s b/libsrc/atari/system_check_hdr.s new file mode 100644 index 000000000..1581ab918 --- /dev/null +++ b/libsrc/atari/system_check_hdr.s @@ -0,0 +1,16 @@ +; +; Atari startup system check headers +; +; Christian Groessler, chris@groessler.org, 2013 +; + .export __SYSCHKHDR__: absolute = 1 + .import __SYSCHK_LOAD__, __SYSCHK_END__ + +; ------------------------------------------------------------------------ +; Chunk header + +.segment "SYSCHKHDR" + + .word __SYSCHK_LOAD__ + .word __SYSCHK_END__ - 1 + diff --git a/libsrc/atari/system_check_trailer.s b/libsrc/atari/system_check_trailer.s new file mode 100644 index 000000000..312b83b1f --- /dev/null +++ b/libsrc/atari/system_check_trailer.s @@ -0,0 +1,17 @@ +; +; Atari startup system check headers +; +; Christian Groessler, chris@groessler.org, 2013 +; + .export __SYSCHKTRL__: absolute = 1 + .import __SYSTEM_CHECK__ + + .include "atari.inc" +; ------------------------------------------------------------------------ +; Chunk "trailer" - sets INITAD + +.segment "SYSCHKTRL" + + .word INITAD + .word INITAD+1 + .word __SYSTEM_CHECK__ -- 2.39.2