Mam pytanko techniczne.
Napisałem sobie prosty program w C skompilowałem do XEX i ruszył mi bez problemu na emulatorku. I teraz pytanie jak z XEX zrobić coś co by było obrazem cartridgea ROM, BIN albo CAR. Czy to trzeba jakieś parametry kompilacji? Albo gdzie znajdę opis formatu cartridgea (dla zrobienia ewentualnego konwertera).
Powiem, że mnie trochę wzieło to C dla ATARI. Ten kompilatorek całkiem fajnie to robi.
Żeby nie było że zaśmiecam to przykładzik:
Program w BASIC?u:
10 POKE 712,PEEK(20):GOTO 10
zapisałem sobie w C (leci bez bibliotek):
#define PEEK(_addr) (*((unsigned char *)(_addr)))
#define POKE(_addr,_val) (*((unsigned char *)(_addr))=_val)
int main (void)
{
while (1) {POKE(712,PEEK(20));};
return 0;
}
no i kompilator zroibł z tego:
; ---------------------------------------------------------------
; int __near__ main (void)
; ---------------------------------------------------------------
.segment "CODE"
.proc _main: near
.segment "CODE"
L0003: lda $0014
sta $02C8
jmp L0003
.endproc
czyli tak jak chciałem.
A teraz chce wyprodukować CAR :)
Aha, do kompilacji użyłem takiego pliku BAT (żeby nie grzebać się w zmiennych środowiskowych na XP):
echo off
SET FileName="nazwapliku"
SET CC65_Path=c:\cc65
PATH=%CC65_Path%\BIN
SET CC65_INC=%CC65_Path%\INCLUDE
SET CC65_LIB=%CC65_Path%\LIB
SET LD65_CFG=%CC65_Path%\DOC
IF EXIST %FileName%.xex del %FileName%.xex
cl65 -O -t atari %FileName%.c -o %FileName%.xex
IF NOT EXIST %FileName%.xex pause
IF EXIST %FileName%.o del %FileName%.o