mirror of
https://github.com/KarolS/millfork.git
synced 2024-12-27 19:30:04 +00:00
CoCo: add coco_crt target
This commit is contained in:
parent
a9aac4fca3
commit
c20b144823
@ -6,6 +6,8 @@
|
||||
|
||||
* Preliminary support for Tandy Color Computer running RS-DOS.
|
||||
|
||||
* Preliminary support for 16K cartridges for Tandy Color Computer.
|
||||
|
||||
* Added support for modifying large variables via pointers.
|
||||
|
||||
* Added the ability to declare structure alignment.
|
||||
|
@ -2,6 +2,8 @@
|
||||
|
||||
### A note about Color Computer
|
||||
|
||||
#### `coco_rsdos` target
|
||||
|
||||
The `coco_rsdos` target creates binary files that can run on Tandy Color Computer running RS-DOS.
|
||||
|
||||
The compiler output is a raw machine code file with the `.bin` extension, which then has to be put on a disk.
|
||||
@ -13,3 +15,12 @@ You can do it using `imgtool` from the [MAME project](https://www.mamedev.org/):
|
||||
The resulting file can then be loaded and ran using the following commands:
|
||||
|
||||
LOADM"CO":EXEC
|
||||
|
||||
#### `coco_crt` target
|
||||
|
||||
The `coco_crt` target creates 16k cartridge images that can run on Tandy Color Computer or Dragon.
|
||||
|
||||
The program is run directly from ROM;
|
||||
typical ROM programming guidelines apply, see [the ROM vs RAM guide](./rom-vs-ram.md).
|
||||
|
||||
The `main` function is not allowed to return.
|
||||
|
@ -102,6 +102,9 @@ The compiler emits COM files.
|
||||
* `coco_rsdos` – Tandy Color Computer running RS-DOS. (very experimental)
|
||||
Read [the Color Computer programming guide](./coco-programming-guide.md) for more info.
|
||||
|
||||
* `coco_crt` – 16K cartridge for Tandy Color Computer. (very experimental)
|
||||
Read [the Color Computer programming guide](./coco-programming-guide.md) for more info.
|
||||
|
||||
* `dos_com` – a COM file for DOS on IBM PC. (very experimental)
|
||||
|
||||
* `x16_experimental` – Commander X16; very experimental,
|
||||
|
5
include/coco/crt.mfk
Normal file
5
include/coco/crt.mfk
Normal file
@ -0,0 +1,5 @@
|
||||
asm void __init() @$c000 {
|
||||
JSR main
|
||||
__init__infinite_loop:
|
||||
BRA __init__infinite_loop
|
||||
}
|
32
include/platform/coco_crt.ini
Normal file
32
include/platform/coco_crt.ini
Normal file
@ -0,0 +1,32 @@
|
||||
; a cartridge program for Tandy Color Computer/Dragon
|
||||
; VERY EXPERIMENTAL
|
||||
[compilation]
|
||||
arch=6809
|
||||
encoding=coco
|
||||
screen_encoding=cocoscr
|
||||
modules=default_panic,stdlib,coco/kernal,coco/crt
|
||||
u_stack=true
|
||||
|
||||
[allocation]
|
||||
segments=default,prgrom
|
||||
ram_init_segment=prgrom
|
||||
default_code_segment=prgrom
|
||||
segment_prgrom_start=$c000
|
||||
segment_prgrom_end=$ffff
|
||||
segment_default_start=$3f00
|
||||
segment_default_end=$7fff
|
||||
|
||||
[define]
|
||||
COCO=1
|
||||
WIDESCREEN=0
|
||||
KEYBOARD=1
|
||||
; TODO: ?
|
||||
JOYSTICKS=1
|
||||
HAS_BITMAP_MODE=1
|
||||
|
||||
[output]
|
||||
style=single
|
||||
format=prgrom:$c000:$ffff
|
||||
extension=.rom
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user