Jump to content



0

78hdr cart formats


4 replies to this topic

#1 Heaven/TQA ONLINE  

Heaven/TQA

    Quadrunner

  • 8,109 posts
  • Location:Baden-Württemberg, Germany

Posted Wed Jan 14, 2004 7:56 AM

maybe some of you might help... i can not find any description of this little tool... i use always the default settings...

i want to integrate pokey music done with RMT into my 7800 stuff and use eckhard's RMT demo as example...

but even when i remove the header eckhard has in his code and let 78hdr write the header... all will be assembled fine and accepted by mess but there is no music coming out of the box... but mess shows that it's a cart with pokey?

what's wrong? maybe the header created by 78hdr is done in a way that there is no pokey??? so what are the 78hdr options and cart types???

any help much appreciated.

#2 Mitch OFFLINE  

Mitch

    Quadrunner

  • 5,769 posts
  • 7800 Guy
  • Location:Southern California, USA

Posted Wed Jan 14, 2004 10:48 AM

Header format

0   Header version  - 1 byte

1..16  "ATARI7800   "  - 16 bytes

17..48 Cart title   - 32 bytes

49..52 data length  - 4 bytes

53..54 cart type    - 2 bytes

	bit 0 0x01 - pokey cart

	bit 1 0x02 - supercart bank switched

	bit 2 0x04 - supercart RAM at $4000

	bit 3 0x08 - additional ROM at $4000



	bit 8-15 - Special

  0 = Normal cart

  1 = Absolute (F18 Hornet)

  2 = Activision



55  controller 1 type  - 1 byte

56  controller 2 type  - 1 byte

	0 = None

	1 = Joystick

	2 = Light Gun

57  0 = NTSC/1 = PAL



100..127 "ACTUAL CART DATA STARTS HERE" - 28 bytes



Versions:

	Version 0: Initial release

	Version 1: Added PAL/NTSC bit. Added Special cart byte.

      Changed 53 bit 2, added bit 3

You need to set the Pokey bit manually. 78hdr has it turned off by default.

Mitch

#3 EricBall OFFLINE  

EricBall

    Dragonstomper

  • 711 posts
  • Location:Markham, Ontario, Canada

Posted Wed Jan 14, 2004 11:44 AM

It's easy to embed this into your code too.

	SEG	ROM

HEADER	ORG	ROMTOP-128

	DC.B	1  ; Header version

	DC.B	"ATARI7800"

	DS	7,32

	DC.B	"Cart title"

	DS	HEADER+49-.,0

	DC.B	$00,$00,256->ROMTOP,$00; data length	DC.B	$00,$00  ; cart type

	DC.B	1  ; controller 1 type	DC.B	1  ; controller 2 type	DC.B	0  ; NTSC / PAL

	ORG	HEADER+100	; 

	DC.B	"ACTUAL CART DATA STARTS HERE"

ROMTOP	ORG	$x000


; code & data here



	ORG	$FF80

	DS	120,0	; 960 bit Rabin Digital Signature

	DC.W	ROMTOP + $07FF



NMI  DC.W	DLLNMI

RESET	DC.W	START

IRQ  DC.W	IRQRTI



#4 Heaven/TQA ONLINE  

Heaven/TQA

    Quadrunner

  • 8,109 posts
  • Location:Baden-Württemberg, Germany

Posted Wed Jan 14, 2004 5:06 PM

thanks,

what does ROMTOP+$07ff at the end mean?

#5 EricBall OFFLINE  

EricBall

    Dragonstomper

  • 711 posts
  • Location:Markham, Ontario, Canada

Posted Thu Jan 15, 2004 10:51 AM

Heaven/TQA said:

what does ROMTOP+$07ff at the end mean?
That's sets the 7800 flag / romsize used by the NTSC BIOS digital signature routine.

Note: CC2 doesn't handle A78 files (yet), so you will need to move the SEG ROM to just before the ROMTOP ORG to create a bin file. (Which a78sign accepts too.)




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users