From 22e06c41d1608ee1b4f79353b7f2b21b831de29c Mon Sep 17 00:00:00 2001 From: Greg King Date: Thu, 8 Jan 2015 03:51:20 -0500 Subject: [PATCH] Fixed a bug that had padded Atmos binaries with 25 bytes too many. --- cfg/atmos.cfg | 3 ++- libsrc/atmos/crt0.s | 9 ++++++--- libsrc/atmos/tapehdr.s | 6 +++--- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/cfg/atmos.cfg b/cfg/atmos.cfg index 691bd467d..5bb61bb26 100644 --- a/cfg/atmos.cfg +++ b/cfg/atmos.cfg @@ -23,7 +23,8 @@ SEGMENTS { RODATA: load = RAM, type = ro; INIT: load = RAM, type = ro, define = yes, optional = yes; DATA: load = RAM, type = rw; - ZPSAVE: load = RAM, type = rw, define = yes; + ZPSAVE1: load = RAM, type = rw, define = yes; + ZPSAVE2: load = RAM, type = bss; BSS: load = RAM, type = bss, define = yes; } FEATURES { diff --git a/libsrc/atmos/crt0.s b/libsrc/atmos/crt0.s index 63961bfe8..ecbc00391 100644 --- a/libsrc/atmos/crt0.s +++ b/libsrc/atmos/crt0.s @@ -2,7 +2,7 @@ ; Startup code for cc65 (Oric version) ; ; By Debrune Jérôme and Ullrich von Bassewitz -; 2014-11-09, Greg King +; 2015-01-08, Greg King ; .export _exit @@ -31,7 +31,8 @@ L1: lda sp,x jsr zerobss -; Unprotect screen columns 0 and 1. +; Currently, color isn't supported on the text screen. +; Unprotect screen columns 0 and 1 (where each line's color codes would sit). lda STATUS sta stsave @@ -81,7 +82,7 @@ L2: lda zpsave,x ; ------------------------------------------------------------------------ -.segment "ZPSAVE" +.segment "ZPSAVE1" zpsave: @@ -91,6 +92,8 @@ zpsave: .byte 0 +.segment "ZPSAVE2" + .res zpspace - 1 ; ------------------------------------------------------------------------ diff --git a/libsrc/atmos/tapehdr.s b/libsrc/atmos/tapehdr.s index b67f69d81..d90c908eb 100644 --- a/libsrc/atmos/tapehdr.s +++ b/libsrc/atmos/tapehdr.s @@ -1,6 +1,6 @@ ; ; Based on code by Debrune Jérôme -; 2013-08-15, Greg King +; 2015-01-08, Greg King ; ; The following symbol is used by the linker config. file @@ -8,7 +8,7 @@ .export __TAPEHDR__:abs = 1 ; These symbols, also, come from the configuration file. - .import __BASHDR_LOAD__, __ZPSAVE_LOAD__, __AUTORUN__, __PROGFLAG__ + .import __BASHDR_LOAD__, __ZPSAVE1_LOAD__, __AUTORUN__, __PROGFLAG__ ; ------------------------------------------------------------------------ @@ -23,7 +23,7 @@ .byte $00 ; $2AF .byte <__PROGFLAG__ ; $2AE Language flag ($00=BASIC, $80=machine code) .byte <__AUTORUN__ ; $2AD Auto-run flag ($C7=run, $00=only load) - .dbyt __ZPSAVE_LOAD__ ; $2AB Address of end of file + .dbyt __ZPSAVE1_LOAD__ ;$2AB Address of end of file .dbyt __BASHDR_LOAD__ ; $2A9 Address of start of file .byte $00 ; $2A8 -- 2.39.5