1
0
mirror of https://github.com/cc65/cc65.git synced 2024-07-04 13:29:35 +00:00
cc65/libsrc/atari
Oliver Schmidt 2c975d3642 Create static drivers directly from source files.
Up to now static drivers were created via co65 from dynamic drivers. However there was an issue with that approach:

The dynamic drivers are "o65 simple files" which obligates that they start with the 'code' segment. However dynamic drivers need to start with the module header - which is written to. For dynamic drivers this isn't more than a conceptual issue because they are always contain a 'data' segment and may therefore only be loaded into writable memory.

However when dynamic drivers are converted to static drivers using co65 then that issue becomes a real problem as then the 'code' segment may end up in non-writable memory - and thus writing to the module header fails.

Instead of changing the way dynamic drivers work I opted to rather make static driver creation totally independent from dynamic drivers. This allows to place the module header in the 'data' segment (see 'module.mac').
2014-06-04 23:50:18 +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 Have src/Makefile and libsrc/Make use disjoint work directories. 2014-03-05 23:24:35 +01: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 Normalized style. 2014-06-03 18:30:11 +02: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 Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +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 atari-asm.cfg linker config file 2013-10-18 03:08:26 +02: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 Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
getdefdev.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +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 Use symbolic names for all CIO commands. 2013-06-10 12:45:51 +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 Selection whether to use page 6 for mouse P/M data is not done in 2014-04-21 11:41:37 +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 Rename 'syschk' symbol in the linker config file, which forces inclusion 2013-10-18 03:08:15 +02:00
systime.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02: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