Commit Graph

243 Commits

Author SHA1 Message Date
Christian Groessler 057884ffa9 Atari: initial support to create cassette bootable programs -- unfinished 2014-01-02 19:28:22 +01:00
Oliver Schmidt 0a8efc9fc3 Revert "Added basic frame for new target 'creativision'."
This reverts commit 8e6b8dd0af.
2013-12-05 21:45:20 +01:00
Oliver Schmidt 8e6b8dd0af Added basic frame for new target 'creativision'.
Kym Greenshields <kym.greenshields@gmail.com> has expressed interest
in contributing and maintaining support for the VTech CreatiVision system.
2013-11-25 22:52:04 +01:00
Stephan Mühlstrasser 9fd27d6ef6 Merge branch 'master' into c1p 2013-11-19 20:53:17 +01:00
Christian Groessler 478a7679a2 Force inclusion of 'shadow RAM preparation' load chunk in crt0.s and
not in the linker config file.
2013-10-18 22:08:26 +02:00
Christian Groessler 9f44d00d17 Put EXE header and main chunk load header into a single file --
it makes no sense to be able to include/exclude them separately.
2013-10-18 14:54:22 +02:00
Christian Groessler b153ec8896 atari-asm.cfg linker config file 2013-10-18 03:08:26 +02:00
Christian Groessler bf3a23c34c Rename 'syschk' symbol in the linker config file, which forces inclusion
of the 'system check' load chunki, to '__SYSTEM_CHECK__'.
2013-10-18 03:08:15 +02:00
Christian Groessler 90bac9d38c rename LOWDATA segment to LOWBSS 2013-10-16 18:20:57 +02:00
Christian Groessler 1077a2876e Lower the default Atari start adress from $2E00 to $2000. With
the startup memory check of the "system check" load chunk this
should be fine
2013-10-04 01:04:06 +02:00
Christian Groessler 700fd4f187 Enable "system check" load chunk for non-XL Atari target. 2013-10-04 00:54:24 +02:00
Christian Groessler 73d38b0ff2 Fix typo in last change. 2013-10-03 14:15:39 +02:00
Christian Groessler 417110d341 Use all available memory below the ROM. 2013-10-03 14:13:13 +02:00
Christian Groessler 7fb0cf4bb2 Some formatting and style fixes. 2013-10-01 11:36:37 +02:00
Christian Groessler 39a98f250b untabify 2013-09-27 22:01:54 +02:00
Christian Groessler c88e0818b4 Leave the character generator at $E000 like atarixl.cfg does. 2013-09-27 21:50:17 +02:00
Christian Groessler 722dbaa1aa Add comment describing the need to have the runtime library compiled
with CHARGEN_RELOC enabled.
2013-09-20 18:09:16 +02:00
Christian Groessler b713706304 Get rid of SAVEAREA segment: fold it into LOWDATA. 2013-09-18 00:48:01 +02:00
Christian Groessler d0c41ecee9 Default atatixl.cfg file now leaves the character generator at $E000.
This reduces the potential to flicker, but creates two separate
memory areas in the high memory.
For applications which require a large continuous memory space in
high memory, atarixl-largehimem.cfg is provided. With high IRQ
activity or DL interrupt there might be flicker.
2013-09-18 00:38:29 +02:00
Christian Groessler 42835d91b8 remove __RESERVED_MEMORY__: not supported on atarixl 2013-09-18 00:28:48 +02:00
Christian Groessler de639fdf6a introduce SHADOW_RAM2 2013-09-18 00:27:45 +02:00
Christian Groessler 3df94fba92 introduce SHADOW_RAM2 2013-09-18 00:17:45 +02:00
Christian Groessler 85170998ad more atarixl linker cfg file cleanups; adapt atarixl-overlay.cfg 2013-09-13 21:47:39 +02:00
Christian Groessler 5caf6c8854 atarixl linker cfg file cleanups; set default load address to 400 for atarixl 2013-09-13 20:29:24 +02:00
Christian Groessler 237bb9850c Remove obsolete ZPSAVE segment. 2013-09-13 16:00:56 +02:00
Christian Groessler 8bc4b4c636 add code to add free shadow memory to heap (currently disabled) 2013-09-11 22:43:35 +02:00
Christian Groessler 21e6654524 adjust size of SRPREP to account for 1K aligned character generator
(not page aligned as I thought before)
2013-09-04 22:25:29 +02:00
Christian Groessler 405a5df431 Merge remote-tracking branch 'upstream/master' 2013-08-21 16:38:13 +02:00
Oliver Schmidt 1dab0103f1 Made EXTZP segment optional on GEOS as it is used only by CONIO. 2013-08-20 07:43:47 +02:00
Stephan Mühlstrasser 0303b0cc6c Adapt to memory size of C1P. 2013-07-15 22:24:10 +02:00
Stephan Mühlstrasser b3b3578f08 Nominal support for target Ohio Scientific Challenger 1P 2013-07-14 22:50:38 +02:00
Christian Groessler d3d7499faa Remove saving and restoring of zeropage variables.
Merge remote-tracking branch 'upstream/master'

Conflicts:
	cfg/atarixl.cfg
	libsrc/atari/crt0.s
2013-07-03 11:38:28 +02:00
Christian Groessler 7ebaec1802 Don't save and restore the zero page locations used.
Saves 19 bytes code (in the exe file) and reduces memory footprint
of the program by 45 bytes (code & bss).
2013-07-02 19:55:00 +02:00
Christian Groessler 1e9823306a Merge remote-tracking branch 'upstream/master' 2013-06-28 00:49:12 +02:00
Oliver Schmidt 5edcd639e0 Made EXTZP segment option for modules.
This allows to remove the "add empty EXTZP segement to avoid warnings"
approach.
2013-06-28 00:30:24 +02:00
Christian Groessler 85dc09fd9f add LOWBUFS segment 2013-06-12 13:26:26 +02:00
Christian Groessler 164fb56580 move ZPSAVE into area already saved by 2nd load chunk 2013-05-31 01:35:19 +02:00
Christian Groessler 34cf7657e8 Add two load chunks:
- First chunk checks system (if it's XL and memory is ok).
 - Second chunk contains the contents for the shadow memory beneath the
   ROM and copies the contents to their destination address.
   It also moves the screen memory to low memory in front of the program.
2013-05-30 02:26:15 +02:00
Oliver Schmidt 7572834ebf Use cbm_load() to load overlays on CBMs. 2013-05-29 01:12:24 +02:00
Oliver Schmidt 98c47d1877 Introduced target 'atarixl'.
The target 'atarixl' is to be used for Atari XL (and better) machines.
It will disable the OS ROM and enable the Shadow RAM available on
those machine.

Note: This commit is only the inital step towards for this goal that just
replicates the target 'atari' as a starting point!
2013-05-28 21:56:37 +02:00
Oliver Schmidt 55f9e6ac25 Added 'sim6502' and 'sim65C02' targets.
The targets allow to run cc65 programs in the sim65 exection
einvironment. As there are no "real" i/o facilities there's no
need for header files. Paravirtualized entry points are mapped
to $FFF0 ff. There's a large cc65 progam area from $0200-$FFEF.

The binary format includes a one-byte header indicating the required
execution environment: The value 0 means 6502 and the value 1
means 65C02. The load adress for the binary is fixed to $0200.

Note: Running sim65C02 programs currently doesn't work bcause
sim65 doesn't actually implement 65C02 opcodes.
2013-05-20 20:35:42 +02:00
Oliver Schmidt da255245ad Adjusted comment. 2013-04-09 23:10:35 +02:00
Oliver Schmidt 37c492b544 Replaced builtin linker configs with ordinary .cfg files.
The benefits are:
- Independency of ld65 build from perl
- More transparent behaviour
2013-04-09 23:09:46 +02:00