ATR

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 11:48, 3 paź 2011
KMK (Dyskusja | wkład)
(+ linki do dokumentacji)
← Previous diff
Wersja z dnia 12:25, 3 paź 2011
KMK (Dyskusja | wkład)
(Nagłówek - wstępnie)
Next diff →
Linia 5: Linia 5:
== Nagłówek == == Nagłówek ==
-16 bajtów zgodnie z poniższą tabelką.+16 bajtów zgodnie z poniższą tabelką. Istnieją dwie wersje, pierwsze siedem bajtów ma takie samo znaczenie w obu:
 + 
 +=== Nagłówek SIO2PC ===
<table BORDER="1" cellpadding="5" WIDTH="100%" cellspacing="0"> <table BORDER="1" cellpadding="5" WIDTH="100%" cellspacing="0">
Linia 13: Linia 15:
<TH>Opis</TH> <TH>Opis</TH>
</tr> </tr>
 +
<tr> <tr>
<td width="10%" align="center"> <td width="10%" align="center">
Linia 24: Linia 27:
</td> </td>
</tr> </tr>
 +
<tr> <tr>
<td width="10%" align="center"> <td width="10%" align="center">
WORD WORD
 +</td>
 +<td width="10%" align="center">
 +wPars
 +</td>
 +<td>
 +<p>Rozmiar obrazu (bez nagłówka), liczony w [[paragraf]]ach: innymi słowy rozmiar w bajtach podzielić przez 16.</p>
 +</td>
 +</tr>
 +<tr>
 +<td width="10%" align="center">
 +WORD
 +</td>
 +<td width="10%" align="center">
 +wSecSize
 +</td>
 +<td>
 +<p>Rozmiar sektora w bajtach: $80, $0100 lub $0200.</p>
 +</td>
 +</tr>
 +
 +<tr>
 +<td width="10%" align="center">
 +WORD
 +</td>
 +<td width="10%" align="center">
 +wParsHigh
 +</td>
 +<td>
 +<p>Najstarsze słowo rozmiaru w paragrafach (wprowadzono w REV 3.00).</p>
 +</td>
 +</tr>
 +
 +<tr>
 +<td width="10%" align="center">
 +BYTE
 +</td>
 +<td width="10%" align="center">
 +btFlags
 +</td>
 +<td>
 +* bit 4 = 1 - ochrona przed zapisem
 +* bit 5 = 1 - kopia z zabezpieczeniami ("bad sektorami")
 +</td>
 +</tr>
 +
 +<tr>
 +<td width="10%" align="center">
 +WORD
 +</td>
 +<td width="10%" align="center">
 +wBad
 +</td>
 +<td>
 +<p>Numer pierwszego "bad sektora" (jeśli bit 5 btFlags jest ustawiony).</p>
 +</td>
 +</tr>
 +
 +<tr>
 +<td width="10%" align="center">
 +DWORD
 +</td>
 +<td width="10%" align="center">
 +dwUnused
 +</td>
 +<td>
 +<p>Cztery bajty nieużywane, równe $00.</p>
 +</td>
 +</tr>
 +
 +<tr>
 +<td width="10%" align="center">
 +BYTE
 +</td>
 +<td width="10%" align="center">
 +btUnused
 +</td>
 +<td>
 +<p>Bajt nieużywany, równy $00.</p>
 +</td>
 +</tr>
 +
 +</table>
 +
 +=== Nagłówek APE ===
 +
 +<table BORDER="1" cellpadding="5" WIDTH="100%" cellspacing="0">
 +<tr>
 +<TH>Typ</TH>
 +<TH>Nazwa</TH>
 +<TH>Opis</TH>
 +</tr>
 +
 +<tr>
 +<td width="10%" align="center">
 +WORD
 +</td>
 +<td width="10%" align="center">
 +wMagic
 +</td>
 +<td>
 +Kolejno wartości: $96 i $02 ($0296, suma 'NICKATARI')
 +</td>
 +</tr>
 +
 +<tr>
 +<td width="10%" align="center">
 +WORD
</td> </td>
<td width="10%" align="center"> <td width="10%" align="center">
Linia 36: Linia 147:
</td> </td>
</tr> </tr>
 +
<tr> <tr>
<td width="10%" align="center"> <td width="10%" align="center">
Linia 47: Linia 159:
</td> </td>
</tr> </tr>
 +
<tr> <tr>
<td width="10%" align="center"> <td width="10%" align="center">
Linia 55: Linia 168:
</td> </td>
<td> <td>
-Najstarszy bajt rozmiaru w paragrafach (wprowadzono w REV 3.00).+<p>Najstarszy bajt rozmiaru w paragrafach.</p>
</td> </td>
</tr> </tr>
 +
<tr> <tr>
<td width="10%" align="center"> <td width="10%" align="center">
Linia 66: Linia 180:
</td> </td>
<td> <td>
-32-bit CRC pliku (dodano w APE?)+<p>32-bit CRC pliku. Wartość ta jest ważna jeśli bit 1 bajtu nr 15 (btFlags) jest ustawiony.</p>
</td> </td>
</tr> </tr>
 +
<tr> <tr>
<td width="10%" align="center"> <td width="10%" align="center">
Linia 80: Linia 195:
</td> </td>
</tr> </tr>
 +
<tr> <tr>
<td width="10%" align="center"> <td width="10%" align="center">
Linia 88: Linia 204:
</td> </td>
<td> <td>
-* bit 0 = 1 - obraz tylko do odczytu (dodano w APE?).+* bit 0 = 1 - obraz tylko do odczytu.
 +* bit 1 = 1 - pole dwCRC zawiera ważną sumę kontrolną
 +<p>Pozostałe bity są niewykorzystane i powinny być równe zero.</p>
</td> </td>
</tr> </tr>

Wersja z dnia 12:25, 3 paź 2011

Obraz dyskietki 8-bitowego Atari używany w emulatorach, APE itp. opracowany przez Nicka Kennedy'ego.

Istnieje też odmiana ATZ, jest to obraz dyskietki w formacie ATR skompresowany przy pomocy programu gzip. Format ATZ (i ATR też) jest obsługiwany przez emulatory Atari800 oraz Atari800Win PLus.

Spis treści

Nagłówek

16 bajtów zgodnie z poniższą tabelką. Istnieją dwie wersje, pierwsze siedem bajtów ma takie samo znaczenie w obu:

Nagłówek SIO2PC

Typ Nazwa Opis

WORD

wMagic

Kolejno wartości: $96 i $02 ($0296, suma 'NICKATARI')

WORD

wPars

Rozmiar obrazu (bez nagłówka), liczony w paragrafach: innymi słowy rozmiar w bajtach podzielić przez 16.

WORD

wSecSize

Rozmiar sektora w bajtach: $80, $0100 lub $0200.

WORD

wParsHigh

Najstarsze słowo rozmiaru w paragrafach (wprowadzono w REV 3.00).

BYTE

btFlags

  • bit 4 = 1 - ochrona przed zapisem
  • bit 5 = 1 - kopia z zabezpieczeniami ("bad sektorami")

WORD

wBad

Numer pierwszego "bad sektora" (jeśli bit 5 btFlags jest ustawiony).

DWORD

dwUnused

Cztery bajty nieużywane, równe $00.

BYTE

btUnused

Bajt nieużywany, równy $00.

Nagłówek APE

Typ Nazwa Opis

WORD

wMagic

Kolejno wartości: $96 i $02 ($0296, suma 'NICKATARI')

WORD

wPars

Rozmiar obrazu (bez nagłówka), liczony w paragrafach: innymi słowy rozmiar w bajtach podzielić przez 16.

WORD

wSecSize

Rozmiar sektora w bajtach: $80, $0100 lub $0200.

BYTE

btParsHigh

Najstarszy bajt rozmiaru w paragrafach.

DWORD

dwCRC

32-bit CRC pliku. Wartość ta jest ważna jeśli bit 1 bajtu nr 15 (btFlags) jest ustawiony.

DWORD

dwUnused

Niewykorzystane.

BYTE

btFlags

  • bit 0 = 1 - obraz tylko do odczytu.
  • bit 1 = 1 - pole dwCRC zawiera ważną sumę kontrolną

Pozostałe bity są niewykorzystane i powinny być równe zero.

Treść

Po nagłówku występują po kolei sektory danych.

Dla wielkości sektora równej 256 bajtów występują dwa sposoby zapisania pierwszych trzech sektorów obrazu dysku:

  • jako obszaru 768 bajtów, w których "rzeczywiste" dane sektorów zajmują pierwsze 384 bajty, a druga połówka jest niewykorzystana
  • jako trzech porcji danych po 128 bajtów

Ten drugi format uchodzi za prawidłowy, w tej sytuacji sektor nr 4 zapisywany jest w pliku o 384 bajty wcześniej niż wynikałoby to z prostego obliczenia wzoru:

((nr_sektora-1)*wielkość_sektora)+wielkość_nagłówka

Z kolei obrazy dla rozmiaru sektora równego 512 bajtów (DD 512) mają, podobnie jak te z sektorami 128-bajtowymi, wszystkie sektory tej samej wielkości - nie ma wyróżnionego obszaru odczytu wstępnego (zajmuje on zresztą tylko jeden sektor, pierwszy).

Narzędzia

Zobacz też


Ten artykuł to tylko zalążek. Możesz pomóc rozwojowi Atariki poprzez rozszerzenie go o więcej informacji.

Personal tools