1
0
mirror of https://github.com/cc65/cc65.git synced 2024-07-05 06:28:57 +00:00
cc65/libsrc/atari
Oliver Schmidt 0ee9b2e446 Changed run location of INIT segment.
So far the INIT segment was run from the later heap+stack. Now the INIT segment is run from the later BSS. The background is that so far the INIT segment was pretty small (from $80 to $180 bytes). But upcoming changes will increase the INIT segment in certain scenarios up to ~ $1000 bytes. So programs with very limited heap+stack might just not been able to move the INIT segment to its run location. But moving the INIT segment to the later BSS allows it to occupy the later BSS+heap+stack.

In order to allow that the constructors are _NOT_ allowed anymore to access the BSS. Rather they must use the DATA segment or the new INITBSS segment. The latter isn't cleared at any point so the constructors may use it to expose values to the main program. However they must make sure to always write the values as they are not pre-initialized.
2015-10-14 22:52:09 +02:00
..
emd Create static drivers directly from source files. 2014-06-04 23:50:18 +02:00
joy Create static drivers directly from source files. 2014-06-04 23:50:18 +02:00
mou Create static drivers directly from source files. 2014-06-04 23:50:18 +02:00
ser Create static drivers directly from source files. 2014-06-04 23:50:18 +02:00
targetutil Changed multi-line C comments into another style. 2014-06-30 16:51:07 -04:00
tgi Create static drivers directly from source files. 2014-06-04 23:50:18 +02:00
_scrsize.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
_sys.s use '.ifndef' instead of '.if .not .defined' 2013-09-18 16:36:03 +02:00
break.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
carthdr.s Minor cleanup. 2014-01-17 21:20:53 +01:00
cartinit.s put code in CODE segment 2014-01-17 11:48:12 +01:00
cartstart.s Minor cleanup. 2014-01-17 21:20:53 +01:00
cashdr.s cleanups; split 'header' and 'init' part into two source files 2014-02-21 22:43:44 +01:00
casinit.s cleanups; split 'header' and 'init' part into two source files 2014-02-21 22:43:44 +01:00
cclear.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
cgetc.s Normalized style. 2014-06-03 18:30:11 +02:00
chline.s Normalized style. 2014-06-03 18:30:11 +02:00
clock.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
close.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
clrscr.s Fix writing one byte beyond screen buffer. 2013-06-21 11:33:55 +02:00
color.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
cputc.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
crt0.s Refined the comments in the target start-up files. 2014-08-24 10:10:20 -04:00
ctype.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
cvline.s Normalized style. 2014-06-03 18:30:11 +02:00
dio_cts.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
dio_stc.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
diopncls.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
dioqsize.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
dioread.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
diowrite.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
diowritev.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
do_oserr.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
dosdetect.s Minor style adjustment. 2015-10-09 22:18:51 +02:00
exehdr.s Put EXE header and main chunk load header into a single file -- 2013-10-18 14:54:22 +02:00
exetrailer.s Changed multi-line C comments into another style. 2014-06-30 16:51:07 -04:00
fd.inc Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
fdtab.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
fdtable.s move findfreeiocb function into its own object file 2013-06-25 01:29:56 +02:00
fdtoiocb.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
findfreeiocb.inc move findfreeiocb function into its own object file 2013-06-25 01:29:56 +02:00
findfreeiocb.s move findfreeiocb function into its own object file 2013-06-25 01:29:56 +02:00
get_tv.s rename libsrc/atari/tvtype.s to libsrc/atari/get_tv.s 2014-03-04 15:44:10 +01:00
getargs.s Minor style adjustment. 2015-10-09 22:18:51 +02:00
getdefdev.s Minor style adjustment. 2015-10-09 22:18:51 +02:00
getfd.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
gotox.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
gotoxy.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
gotoy.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
graphics.s close IOCB if open failed -- otherwise is is still marked as "in use" 2013-07-09 23:39:42 +02:00
initcwd.s Changed run location of INIT segment. 2015-10-14 22:52:09 +02:00
inviocb.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
irq.s small optimization 2014-05-27 01:50:22 +02:00
joy_stat_stddrv.s add missing stddrv defines for atarixl 2014-01-21 23:09:00 +01:00
joy_stddrv.s add missing stddrv defines for atarixl 2014-01-21 23:09:00 +01:00
kbhit.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
libref.s Split libref.s into multiple files to prevent inclusion of unnecessary code. 2014-04-22 12:50:07 +02:00
lseek.s Use symbolic names for all CIO commands. 2013-06-10 12:45:51 +02:00
Makefile.inc Selection whether to use page 6 for mouse P/M data is not done in 2014-04-21 11:41:37 +02:00
mcbdefault.s - always use page 6 for P/M mouse cursor 2014-04-11 23:51:49 +02:00
mcbpm-shape.s remove build warning 2014-04-25 13:21:54 +02:00
mcbpm.s Minor style adjustment. 2015-10-09 22:18:51 +02:00
mcbtxtchar-char.s address issue raised in the pull request; add support to not use page 6 2014-04-15 11:37:34 +02:00
mcbtxtchar.s address issue raised in the pull request; add support to not use page 6 2014-04-15 11:37:34 +02:00
mouse_stat_stddrv.s use ST mouse as static standard driver, too 2014-01-20 23:04:29 +01:00
mouse_stddrv.s Add drivers for ST mouse, Amiga mouse, and Atari trakball. Access 2014-01-20 23:04:29 +01:00
mouseref.s Split libref.s into multiple files to prevent inclusion of unnecessary code. 2014-04-22 12:50:07 +02:00
mul40.s Add "joystick mouse" driver and default mouse callback routine (not 2014-01-20 23:04:28 +01:00
open.s implement _sysrename for Atari 2013-07-24 00:40:09 +02:00
oserrlist.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
oserror.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
ostype.s untabify 2013-09-27 22:01:54 +02:00
posixdirent.s close IOCB if open failed -- otherwise is is still marked as "in use" 2013-07-09 23:39:42 +02:00
randomize.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
read.s fix uninitialized use of 'buflen' 2014-02-19 22:39:39 +01:00
revers.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
romswitch.inc comment and formatting fixes 2013-10-16 18:20:48 +02:00
rwcommon.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
save_area.inc untabify 2013-09-27 22:01:54 +02:00
save_area.s rename LOWDATA segment to LOWBSS 2013-10-16 18:20:57 +02:00
savevec.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
scrdev.s untabify 2013-09-27 22:01:54 +02:00
scroll.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
serref.s rename ser_libref.s to serref.s in order to be consistent with other targets 2014-04-22 13:42:17 +02:00
setcolor.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
shadow_ram_handlers.s rename LOWDATA segment to LOWBSS 2013-10-16 18:20:57 +02:00
shadow_ram_prepare.s Force inclusion of 'shadow RAM preparation' load chunk in crt0.s and 2013-10-18 22:08:26 +02:00
shadow_ram_timerirq1.s Fix timer IRQ hooking for atarixl target. 2014-01-20 23:04:30 +01:00
siocall.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
syschdir.s implement _sysrename for Atari 2013-07-24 00:40:09 +02:00
sysmkdir.s implement _sysrename for Atari 2013-07-24 00:40:09 +02:00
sysremove.s implement _sysrename for Atari 2013-07-24 00:40:09 +02:00
sysrename.s Normalized style. 2014-06-03 18:30:11 +02:00
sysrmdir.s implement _sysrename for Atari 2013-07-24 00:40:09 +02:00
system_check.s Changed multi-line C comments into another style. 2014-06-30 16:51:07 -04:00
systime.s Changed multi-line C comments into another style. 2014-06-30 16:51:07 -04:00
sysuname.s New uname function 2003-08-12 17:24:02 +00:00
tgi_colors.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
tgi_stat_stddrv.s add missing stddrv defines for atarixl 2014-01-21 23:09:00 +01:00
tgi_stddrv.s add missing stddrv defines for atarixl 2014-01-21 23:09:00 +01:00
toascii.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
ucase_fn.s Don't import tmp1, slipped in by mistake in last commit 2013-07-24 00:44:44 +02:00
wherex.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
wherey.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
write.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
xlmemchk.inc untabify 2013-09-27 22:01:54 +02:00