CAR
From Atariki
Wersja z dnia 01:19, 17 gru 2023 KMK (Dyskusja | wkład) (SDU) ← Previous diff |
Aktualna wersja Mono (Dyskusja | wkład) (zapomniałem o sdu) |
||
Linia 1: | Linia 1: | ||
- | {{SDU}} | ||
- | |||
Format pliku definiujący dane i rodzaj kartridża Atari 8-bit. Składa się z 16-bajtowego nagłówka i surowych danych kartridża. | Format pliku definiujący dane i rodzaj kartridża Atari 8-bit. Składa się z 16-bajtowego nagłówka i surowych danych kartridża. | ||
Linia 33: | Linia 31: | ||
Dane na temat rodzajów kartridży można znaleźć w repozytorium atari800 w pliku [https://github.com/atari800/atari800/blob/master/DOC/cart.txt DOC/cart.txt]. | Dane na temat rodzajów kartridży można znaleźć w repozytorium atari800 w pliku [https://github.com/atari800/atari800/blob/master/DOC/cart.txt DOC/cart.txt]. | ||
+ | |||
+ | [[Kategoria:Atari 8-bit]] | ||
+ | [[Kategoria:Formaty plików]] |
Aktualna wersja
Format pliku definiujący dane i rodzaj kartridża Atari 8-bit. Składa się z 16-bajtowego nagłówka i surowych danych kartridża.
Struktura nagłówka:
Offset | Wielkość | Znaczenie |
0 | 4 bajty | znaki 'C', 'A', 'R', 'T' |
4 | 4 bajty | Typ kartridża MSB format |
8 | 4 bajty | Suma kontrolna MSB format (tylko romy) |
12 | 4 bajty | Nieużywane |
Zaraz po nagłówku umieszczone są dane kartridża: 4, 8, 16, 32, 40, 64, 128, 256, 512 lub 1024 kilobajtów, jednak mogą zdarzać się kartridże o innej pojemności. Sposób przełączania pomiędzy bankami (o ile kartridż ma mechanizm przełączania banków) definiowany jest w logice obsługi kartridża w emulatorze. Ostatnie 4 bajty nagłówka są nieużywane (wypełnione zerami). Są pomysły, aby je wykorzystać przy kartridżach typu eeprom, flash lub ram.
Suma kontrolna obliczana jest jako suma wszystkich bajtów licząc od 0.
Funkcja obliczająca sumę kontrolną wzięta z kodu Atari800:
int CARTRIDGE_Checksum(const UBYTE *image, int nbytes) { int checksum = 0; while (nbytes > 0) { checksum += *image++; nbytes--; } return checksum; }
Surowe dane/zrzuty z kartridży również mogą być używane w emulatorach; emulator zapyta wówczas o rodzaj kartridża. Oprócz tego emulatory zwykle zawierają narzędzia do konwersji surowych plików binarnych na format car i odwrotnie.
Dane na temat rodzajów kartridży można znaleźć w repozytorium atari800 w pliku DOC/cart.txt.