mirror of
https://github.com/wavemotion-dave/A7800DS.git
synced 2025-06-18 13:25:32 -04:00
Some tech specs for the Atari that were useful for me
This commit is contained in:
parent
13d89fe935
commit
f116ec6863
BIN
techdocs/HSC-7800.png
Normal file
BIN
techdocs/HSC-7800.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 424 KiB |
192
techdocs/a78header.asm
Normal file
192
techdocs/a78header.asm
Normal file
@ -0,0 +1,192 @@
|
||||
; A78 Header v4.2
|
||||
;
|
||||
; Use this file to add an a78 header via the source code of your ROM.
|
||||
;
|
||||
; _Implementation Notes_
|
||||
;
|
||||
; * Include this header near the beginning of your DASM source, but after
|
||||
; your initial ROM ORG statement.
|
||||
; * Change the fields withn the file to describe your game's hardware
|
||||
; requirements to emulators and flash carts.
|
||||
; * All unused/reserved bits and bytes must be set to zero.
|
||||
|
||||
.ROMSIZE = $20000 ; Update with your total ROM size.
|
||||
|
||||
; Uncomment the following entry to force older v3 style headers.
|
||||
;V3ONLY = 1
|
||||
|
||||
; Uncomment the following entry to break support with platforms that only
|
||||
; have v3 headers implemented.
|
||||
;V4ONLY = 1
|
||||
|
||||
; Auto-header ROM allocation follows. If the current address is page aligned,
|
||||
; we backup 128 bytes. This may cause issues if you use a different ORG+RORG
|
||||
; at the start of your ROM - in that case, account for the 128 bytes of
|
||||
; header within your game ROM start ORG+RORG statements.
|
||||
|
||||
if ( . & $FF ) = 0 ; Check if we're at an even page.
|
||||
ORG (. - 128),0 ; If so, go -128 bytes, for header space.
|
||||
else
|
||||
ORG .,0 ; In case zero-fill wasn't specified
|
||||
endif ; orginally.
|
||||
|
||||
SEG ROM
|
||||
|
||||
.HEADER = .
|
||||
|
||||
; Format detection - do not modify.
|
||||
#ifconst V3ONLY
|
||||
DC.B 3 ; 0 header major version
|
||||
#else
|
||||
DC.B 4 ; 0 header major version
|
||||
#endif ; V3ONLY
|
||||
DC.B "ATARI7800" ; 1..16 header magic string - zero pad
|
||||
|
||||
|
||||
ORG .HEADER+$11,0
|
||||
DC.B "Game Name Here" ; 17..48 cartridge title string - zero pad
|
||||
|
||||
|
||||
ORG .HEADER+$31,0
|
||||
DC.B (.ROMSIZE>>24) ; 49..52 cartridge ROM size
|
||||
DC.B (.ROMSIZE>>16&$FF)
|
||||
DC.B (.ROMSIZE>>8&$FF)
|
||||
DC.B (.ROMSIZE&$FF)
|
||||
|
||||
#ifnconst V4ONLY
|
||||
|
||||
; The following 2 cartridge type bytes are deprecated as of header v4.0.
|
||||
; It's recommended that you still populate these bytes for support with
|
||||
; platforms that don't yet support v4.
|
||||
|
||||
DC.B %00000000 ; 53 cartridge type A
|
||||
DC.B %00000000 ; 54 cartridge type B
|
||||
; _Cartridge Type A_
|
||||
; bit 7 ; POKEY @ $0800 - $080F
|
||||
; bit 6 ; EXRAM/M2 (halt banked RAM)
|
||||
; bit 5 ; BANKSET
|
||||
; bit 4 ; SOUPER
|
||||
; bit 3 ; YM2151 @ $0460 - $0461
|
||||
; bit 2 ; POKEY @ $0440 - $044F
|
||||
; bit 1 ; ABSOLUTE
|
||||
; bit 0 ; ACTIVISION
|
||||
; _Cartridge Type B_
|
||||
; bit 7 ; EXRAM/A8 (mirror RAM)
|
||||
; bit 6 ; POKEY @ $0450 - $045F
|
||||
; bit 5 ; EXRAM/X2 (hotspot banked RAM)
|
||||
; bit 4 ; EXFIX (2nd last bank @ $4000)
|
||||
; bit 3 ; EXROM (ROM @ $4000)
|
||||
; bit 2 ; EXRAM (RAM @ $4000)
|
||||
; bit 1 ; SUPERGAME
|
||||
; bit 0 ; POKEY @ $4000 - $7FFF
|
||||
|
||||
#else
|
||||
DC.B %11111111
|
||||
DC.B %11111111
|
||||
#endif ; !V4ONLY
|
||||
|
||||
DC.B 1 ; 55 controller 1 device type
|
||||
DC.B 1 ; 56 controller 2 device type
|
||||
; 0 = none
|
||||
; 1 = 7800 joystick
|
||||
; 2 = lightgun
|
||||
; 3 = paddle
|
||||
; 4 = trakball
|
||||
; 5 = 2600 joystick
|
||||
; 6 = 2600 driving
|
||||
; 7 = 2600 keypad
|
||||
; 8 = ST mouse
|
||||
; 9 = Amiga mouse
|
||||
; 10 = AtariVox
|
||||
; 11 = SNES2Atari
|
||||
; 12 = Mega7800
|
||||
|
||||
|
||||
DC.B %00000000 ; 57 tv type
|
||||
; bits 7..3 ; reserved
|
||||
; bit 2 ; 0:single-region,1:multi-region
|
||||
; bit 1 ; 0:component,1:composite
|
||||
; bit 0 ; 0:NTSC,1:PAL
|
||||
|
||||
|
||||
DC.B %00000000 ; 58 save peripheral
|
||||
; bits 7..2 ; reserved
|
||||
; bit 1 ; SaveKey/AtariVox
|
||||
; bit 0 ; High Score Cart (HSC)
|
||||
|
||||
|
||||
; The following irq source byte is deprecated as of header v4.0.
|
||||
; It's recommended that you still populate this byte for support with
|
||||
; platforms that don't yet support v4.
|
||||
|
||||
ORG .HEADER+62,0
|
||||
DC.B %00000000 ; 62 external irq source
|
||||
; bits 7..5 ; reserved
|
||||
; bit 4 ; POKEY @ $0800 - $080F
|
||||
; bit 3 ; YM2151 @ $0460 - $0461
|
||||
; bit 2 ; POKEY @ $0440 - $044F
|
||||
; bit 1 ; POKEY @ $0450 - $045F
|
||||
; bit 0 ; POKEY @ $4000 - $7FFF
|
||||
|
||||
DC.B %00000000 ; 63 slot passthrough device
|
||||
; bits 7..1 ; reserved
|
||||
; bit 0 ; XM module
|
||||
|
||||
#ifnconst V3ONLY
|
||||
|
||||
; The following 6 bytes are v4 header specific. You should populate
|
||||
; them with valid info if you're not using V3ONLY, because they will
|
||||
; take precedence over v3 headers.
|
||||
|
||||
DC.B 0 ; 64 mapper
|
||||
; 0 = linear
|
||||
; 1 = supergame
|
||||
; 2 = activision
|
||||
; 3 = absolute
|
||||
; 4 = souper
|
||||
|
||||
|
||||
DC.B 0 ; 65 mapper options
|
||||
; linear_
|
||||
; bit 7 ; bankset rom
|
||||
; bits 0-1 ; option @4000...
|
||||
; 0 = none
|
||||
; 1 = 16K EXRAM
|
||||
; 2 = 8K EXRAM/A8
|
||||
; 3 = 32K EXRAM/M2
|
||||
; supergame_
|
||||
; bit 7 ; bankset rom
|
||||
; bits 0-2 ; option @4000...
|
||||
; 0 = none
|
||||
; 1 = 16K EXRAM
|
||||
; 2 = 8K EXRAM/A8
|
||||
; 3 = 32K EXRAM/M2
|
||||
; 4 = 16K EXROM
|
||||
; 5 = EXFIX
|
||||
; 6 = 32K EXRAM/X2
|
||||
|
||||
DC.B %00000000 ; 66 audio hi
|
||||
DC.B %00000000 ; 67 audio lo
|
||||
; bit 5 ; adpcm@420
|
||||
; bit 4 ; covox@430
|
||||
; bit 3 ; ym2151@460
|
||||
; bits 0-2 ; pokey...
|
||||
; 0 = none
|
||||
; 1 = pokey@440
|
||||
; 2 = pokey@450
|
||||
; 3 = dual pokey @440+@450
|
||||
; 4 = pokey@800
|
||||
; 5 = pokey@4000
|
||||
|
||||
DC.B %00000000 ; 68 interrupt hi
|
||||
DC.B %00000000 ; 69 interrupt lo
|
||||
; bit 2 ; YM2151
|
||||
; bit 1 ; pokey 2 (@440)
|
||||
; bit 0 ; pokey 1 (@4000, @450, or @800)
|
||||
|
||||
#endif ; !V3ONLY
|
||||
|
||||
|
||||
ORG .HEADER+100,0 ; 100..127 footer magic string
|
||||
DC.B "ACTUAL CART DATA STARTS HERE"
|
||||
|
Loading…
Reference in New Issue
Block a user