G2F
From Atariki
(Różnice między wersjami)
Wersja z dnia 20:43, 6 mar 2011 Tebe (Dyskusja | wkład) ← Previous diff |
Wersja z dnia 10:34, 7 mar 2011 Tebe (Dyskusja | wkład) Next diff → |
||
Linia 5: | Linia 5: | ||
<pre> | <pre> | ||
G2F file format | G2F file format | ||
- | ----------------------------- | + | --------------- |
offset type desc | offset type desc | ||
Linia 33: | Linia 33: | ||
33+(30*SCRW)+(CHRC+1)*1024+$900 WORD PMG DATA - Player 0 | 33+(30*SCRW)+(CHRC+1)*1024+$900 WORD PMG DATA - Player 0 | ||
+ | bit12-15 - PMG Priority | ||
+ | |||
33+(30*SCRW)+(CHRC+1)*1024+$B00 WORD PMG DATA - Missile 0 | 33+(30*SCRW)+(CHRC+1)*1024+$B00 WORD PMG DATA - Missile 0 | ||
33+(30*SCRW)+(CHRC+1)*1024+$D00 WORD PMG DATA - Player 1 | 33+(30*SCRW)+(CHRC+1)*1024+$D00 WORD PMG DATA - Player 1 | ||
+ | bit12 - 5th Player (0=disabled, 1=enabled) | ||
+ | bit13 - Multicolor PMG (0=disabled, 1=enabled) | ||
+ | |||
33+(30*SCRW)+(CHRC+1)*1024+$F00 WORD PMG DATA - Missile 1 | 33+(30*SCRW)+(CHRC+1)*1024+$F00 WORD PMG DATA - Missile 1 | ||
Linia 58: | Linia 63: | ||
1 - GED+ disabled badlines MODE | 1 - GED+ disabled badlines MODE | ||
- | 33+(30*SCRW)+(CHRC+1)*1024+$241C0 BYTE Raster program (240*24) | + | 33+(30*SCRW)+(CHRC+1)*1024+$241C0 WORD Raster program (240*12*2) |
33+(30*SCRW)+(CHRC+1)*1024+$25840 BYTE Graphics Mode (1,2,4,255) | 33+(30*SCRW)+(CHRC+1)*1024+$25840 BYTE Graphics Mode (1,2,4,255) | ||
Linia 92: | Linia 97: | ||
99+(60*SCRW)+(CHRC+1)*1024+$28A22 BYTE Charset limitations (128) | 99+(60*SCRW)+(CHRC+1)*1024+$28A22 BYTE Charset limitations (128) | ||
- | 99+(60*SCRW)+(CHRC+1)*1024+$28AA2 BYTE Raster line offset program (240*2) | + | 99+(60*SCRW)+(CHRC+1)*1024+$28AA2 WORD Raster program - line offset (240*2) |
99+(60*SCRW)+(CHRC+1)*1024+$28C82 BYTE unused (1) | 99+(60*SCRW)+(CHRC+1)*1024+$28C82 BYTE unused (1) | ||
+ | |||
+ | |||
+ | |||
+ | PMG Data | ||
+ | -------- | ||
+ | |||
+ | bit 0-6 Horizontal Position | ||
+ | bit7 (0-enabled PMG, 1-disabled PMG) | ||
+ | |||
+ | bit 8-11 PMG Size | ||
+ | |||
+ | |||
+ | Raster program | ||
+ | -------------- | ||
+ | bit 0-7 Code: | ||
+ | |||
+ | $00-NOP (0,2,3,4..36 cycle) | ||
+ | $01-LDA#, $02-LDX#, $03-LDY# (2 cycle) | ||
+ | $41-LDA0, $42-LDX0, $43-LDY0 (3 cycle) | ||
+ | $61-LDA, $62-LDX, $63-LDY (4 cycle) | ||
+ | $81-STA, $82-STX, $83-STY) (4 cycle) | ||
+ | |||
+ | bit 8-15 Value (0..255) | ||
</pre> | </pre> | ||
Wersja z dnia 10:34, 7 mar 2011
Format pliku G2F jest przeznaczony dla programu Graph2Font. Autor z lenistwa uprościł go maksymalnie, przez co objętość plików G2F jest dosyć spora, średnio 160 kB. Duża objętość i podatność na kompresję wynika głównie z tego, że jest to zrzut pamięci zarezerwowanej na tablice używane przez G2F. W ostatnich wersjach programu umożliwiona została kompresja plików G2F.
Pliki kompresowane są przy pomocy ogólnie dostępnej biblioteki ZLIB, posiadają wówczas nagłówek G2FZLIB.
G2F file format --------------- offset type desc ------ ---- ---- 0 BYTE SCRW Screen Width (32, 40, 48) 1 BYTE bit 0-2 Pixel (1,2,4) bit 3-7 Charset Compress ($80-Normal, $40-Optymizing, $20-Original, $10-JGP, $08-JGP2) 2 BYTE CHRC Charset Count 3 BYTE Screen and Invers Data (30*SCRW) 3+(30*SCRW) BYTE Charsets Data (CHRC+1)*1024 3+(30*SCRW)+(CHRC+1)*1024 BYTE bit 0-6 Charsets Table bit 7 newFnt 33+(30*SCRW)+(CHRC+1)*1024 BYTE Bitmap Colors - Background 33+(30*SCRW)+(CHRC+1)*1024+$100 BYTE Bitmap Colors - Color 0 33+(30*SCRW)+(CHRC+1)*1024+$200 BYTE Bitmap Colors - Color 1 33+(30*SCRW)+(CHRC+1)*1024+$300 BYTE Bitmap Colors - Color 2 33+(30*SCRW)+(CHRC+1)*1024+$400 BYTE Bitmap Colors - Color 3 33+(30*SCRW)+(CHRC+1)*1024+$500 BYTE PMG Colors - Player Missile 0 33+(30*SCRW)+(CHRC+1)*1024+$600 BYTE PMG Colors - Player Missile 1 33+(30*SCRW)+(CHRC+1)*1024+$700 BYTE PMG Colors - Player Missile 2 33+(30*SCRW)+(CHRC+1)*1024+$800 BYTE PMG Colors - Player Missile 3 33+(30*SCRW)+(CHRC+1)*1024+$900 WORD PMG DATA - Player 0 bit12-15 - PMG Priority 33+(30*SCRW)+(CHRC+1)*1024+$B00 WORD PMG DATA - Missile 0 33+(30*SCRW)+(CHRC+1)*1024+$D00 WORD PMG DATA - Player 1 bit12 - 5th Player (0=disabled, 1=enabled) bit13 - Multicolor PMG (0=disabled, 1=enabled) 33+(30*SCRW)+(CHRC+1)*1024+$F00 WORD PMG DATA - Missile 1 33+(30*SCRW)+(CHRC+1)*1024+$1100 WORD PMG DATA - Player 2 33+(30*SCRW)+(CHRC+1)*1024+$1300 WORD PMG DATA - Missile 2 33+(30*SCRW)+(CHRC+1)*1024+$1500 WORD PMG DATA - Player 3 33+(30*SCRW)+(CHRC+1)*1024+$1700 WORD PMG DATA - Missile 3 33+(30*SCRW)+(CHRC+1)*1024+$1900 BYTE Smask ($800) 33+(30*SCRW)+(CHRC+1)*1024+$2100 BYTE Sprajt (240*290) 33+(30*SCRW)+(CHRC+1)*1024+$130E0 BYTE SprajtX (240*290) 33+(30*SCRW)+(CHRC+1)*1024+$240C0 BYTE 5th Player [0..255] 5th_Player[1] bit 0-2 = g2f_mode (1,2,3) bit6 = 0 - DLI MODE 1 - DLI+ MODE bit7 = 0 - GED+ MODE 1 - GED+ disabled badlines MODE 33+(30*SCRW)+(CHRC+1)*1024+$241C0 WORD Raster program (240*12*2) 33+(30*SCRW)+(CHRC+1)*1024+$25840 BYTE Graphics Mode (1,2,4,255) 63+(30*SCRW)+(CHRC+1)*1024+$25840 BYTE unused (210) 63+(30*SCRW)+(CHRC+1)*1024+$25912 BYTE raster [0..15] raster_ofset = raster[0]-8 63+(30*SCRW)+(CHRC+1)*1024+$25922 BYTE CHARSET LIMITATIONS - LAST CHAR 64+(30*SCRW)+(CHRC+1)*1024+$25922 BYTE Lock Colors - Background 64+(30*SCRW)+(CHRC+1)*1024+$25A22 BYTE Lock Colors - Color 0 64+(30*SCRW)+(CHRC+1)*1024+$25B22 BYTE Lock Colors - Color 1 64+(30*SCRW)+(CHRC+1)*1024+$25C22 BYTE Lock Colors - Color 2 64+(30*SCRW)+(CHRC+1)*1024+$25D22 BYTE Lock Colors - Color 3 64+(30*SCRW)+(CHRC+1)*1024+$25E22 BYTE unused 65+(30*SCRW)+(CHRC+1)*1024+$25D22 BYTE Video Chipset [0..2] [0] = 0 - ANTIC+GTIA, 1 - ANTIC+VBXE [1] = color map cell width [2] = color map cell height 68+(30*SCRW)+(CHRC+1)*1024+$25D22 BYTE VBXE Colors Map (48*240) 68+(30*SCRW)+(CHRC+1)*1024+$28A22 BYTE CHARSET LIMITATIONS - FIRST CHAR 69+(30*SCRW)+(CHRC+1)*1024+$28A22 BYTE Invers2 Data (DLI+ mode) 69+(60*SCRW)+(CHRC+1)*1024+$28A22 BYTE Table2 Data 99+(60*SCRW)+(CHRC+1)*1024+$28A22 BYTE Charset limitations (128) 99+(60*SCRW)+(CHRC+1)*1024+$28AA2 WORD Raster program - line offset (240*2) 99+(60*SCRW)+(CHRC+1)*1024+$28C82 BYTE unused (1) PMG Data -------- bit 0-6 Horizontal Position bit7 (0-enabled PMG, 1-disabled PMG) bit 8-11 PMG Size Raster program -------------- bit 0-7 Code: $00-NOP (0,2,3,4..36 cycle) $01-LDA#, $02-LDX#, $03-LDY# (2 cycle) $41-LDA0, $42-LDX0, $43-LDY0 (3 cycle) $61-LDA, $62-LDX, $63-LDY (4 cycle) $81-STA, $82-STX, $83-STY) (4 cycle) bit 8-15 Value (0..255)
Ten artykuł to tylko zalążek. Możesz pomóc rozwojowi Atariki poprzez rozszerzenie go o więcej informacji.