looking for ROM dump for Astro Blaster v1

leopardus2

New member
Joined
Feb 27, 2011
Messages
114
Reaction score
0
Location
Milano, MI, Italy
Hello people,

I am looking for a working romset dump for Astro Blaster, version 1.
The one in MAME archive is a patched version and does not work properly.
The romset I am talking about includes ROMs from 837 to 852 plus CPU ROM 829.
I am willing to pay for the ROM dump if you can help me finding this exact version!
If you can help please PM me. I need this to burn eproms for my Astro Blaster cabaret,
currently running FRENCH eproms...

Thanks in advance!

Rick
 
What do you mean by MAME archive?

What makes you think it's patched?

Astroblaster v1 from romnation matches the rom dump that I have...and my rom dump was taken LONG before MAME was around...

The speech roms can be found in Astroblaster v3
 
I thought I had a boardset in a bunch of misc boards I picked up tonight. Turns out to be a different game.
 
What do you mean by MAME archive?

What makes you think it's patched?

Astroblaster v1 from romnation matches the rom dump that I have...and my rom dump was taken LONG before MAME was around...

The speech roms can be found in Astroblaster v3

It is patched because it allows to buy more spaceships with more credits.
This is not mentioned in any manual anywhere.
Furthermore, it ignores dip switches.
Furthermore, I played the original v.1 in 1981 in the local arcade and it had no such
option, which also is not present in v.2, v.2a, v.3.
And finally, the patch is incomplete since it does not work, my guess is the patch
needs a modified CPU rom (#829) to work correctly (now it dies if you start the
game with just 1 credit, and gives you 20 spaceships with 4+ credits!!)

I will have a look at romnation dump to see if it's different from the one commonly
found in ROM archives all over the net...

Thanks!
Rick
 
No, it has all three; it just goes to Rom 3 by default when searching through Google.

Sounds like either you were playing v2 back in 1981 or you have a board issue.

No. I _do_ have a version 1 here in ROM and it works like it should.
But it's french.

Version 2 is quite different, has intro screens, different waves, blah blah

So, anyone with a version 1 set (english) that is not the patched one?
 
Can you combine the sets?

MAWS is still down so I can't go check for this game there but many times for ROM sets where the difference is simply in the graphics ROMs.
 
The rom's you're using, do they have the following rom names?
romnotfound.jpg

Those rom's are for V1, but some of them are located in V3 as V3 is a parent of V1 inside MAME. You probably knew that, but just in case.
 
The MAME source has a few clues...

Ref: http://mamedev.org/source/src/mame/drivers/segag80r.c.html

Code:
TODO:
      - verify Pig Newton and Sindbad Mystery DIPs
      - attempt 005 sound
      - fix Space Odyssey background
      - figure out why Astro Blaster version 1 ends the game right away

...and...

Code:
1048  ROM_START( astrob1 )
 1049      ROM_REGION( 0xc000, "maincpu", 0 )
 1050      ROM_LOAD( "829.cpu-u25",    0x0000, 0x0800, CRC(5f66046e) SHA1(6aa7f94122db1a75a89c12ad9d087aec1a70d675) ) // verify that this isn't just a bad dump..
 1051      ROM_LOAD( "837.prom-u1",    0x0800, 0x0800, CRC(ce9c3763) SHA1(2cb4c3041905d38b040ef76f69f6197d699f9ec5) )
 1052      ROM_LOAD( "838.prom-u2",    0x1000, 0x0800, CRC(3557289e) SHA1(57258b149f0872c34f82fe3dc06bc1fc60d7393f) )
 1053      ROM_LOAD( "839.prom-u3",    0x1800, 0x0800, CRC(c88bda24) SHA1(9253306bd929e04a2136a0d9a9627dab8979baa1) )
 1054      ROM_LOAD( "840.prom-u4",    0x2000, 0x0800, CRC(24c9fe23) SHA1(306ad65c8c821ae90eb50416c38fe37c7acf36de) )
 1055      ROM_LOAD( "841.prom-u5",    0x2800, 0x0800, CRC(f153c683) SHA1(a6338a0e9867e1cbe27921182c268aeb4b09a503) )
 1056      ROM_LOAD( "842.prom-u6",    0x3000, 0x0800, CRC(4c5452b2) SHA1(e7b1138379ba4ad29f5ffad275164716c37c92e9) )
 1057      ROM_LOAD( "843.prom-u7",    0x3800, 0x0800, CRC(673161a6) SHA1(90db12ce06cd6150a924421cf9d93ad4051ccf97) )
 1058      ROM_LOAD( "844.prom-u8",    0x4000, 0x0800, CRC(6bfc59fd) SHA1(a5f7edfa66a25e3e84e60b5b3812d16ffdc5e409) )
 1059      ROM_LOAD( "845.prom-u9",    0x4800, 0x0800, CRC(018623f3) SHA1(bf264921c36ced3c332d5627b80886c3463f2237) )
 1060      ROM_LOAD( "846.prom-u10",   0x5000, 0x0800, CRC(4d7c5fb3) SHA1(3c0dd17cb907b8476abb4b2a16bd41dd2f107849) )
 1061      ROM_LOAD( "847.prom-u11",   0x5800, 0x0800, CRC(24d1d50a) SHA1(0691cccc4e58ffa07308a6a3ae80fbcef6cc8c9b) )
 1062      ROM_LOAD( "848.prom-u12",   0x6000, 0x0800, CRC(1c145541) SHA1(73e23161f71f4c25405e1211f41a31323845efaa) )
 1063      ROM_LOAD( "849.prom-u13",   0x6800, 0x0800, CRC(d378c169) SHA1(9b30ff9741429d798c8a2146d1c76a223f05495c) )
 1064      ROM_LOAD( "850.prom-u14",   0x7000, 0x0800, CRC(9da673ae) SHA1(817fb7cbeedefa3b5b43ca3b7914289f6908ed53) )
 1065      ROM_LOAD( "851.prom-u15",   0x7800, 0x0800, CRC(3d4cf9f0) SHA1(11e996f33f3a104e50d0a54a0814ea3e07735683) )
 1066      ROM_LOAD( "852.prom-u16",   0x8000, 0x0800, CRC(af88a97e) SHA1(fe7993101c629b296b5da05519b0990cc2b78286) )

The 829 ROM is identical on all other versions, so there appears some concern (as noted in the source) that the 829 dump in v1 is a bad dump. Also, the ending a game immediately problem is acknowledged in the "TODO" list.

Have you tried subbing in the 829 ROM from any of the other romsets?
It might be interesting to do a binary diff on the two version of the 829 code...

As a side note, there is no French version in MAME (only English and German). Have you considered dumping your French ROMs and sharing them with the world?
 
I'll dig out my multiple AB boardsets and see what I have (hopefully tonight). Maybe I can hook you up.
 
The MAME source has a few clues...

Ref: http://mamedev.org/source/src/mame/drivers/segag80r.c.html

Code:
TODO:
      - verify Pig Newton and Sindbad Mystery DIPs
      - attempt 005 sound
      - fix Space Odyssey background
      - figure out why Astro Blaster version 1 ends the game right away

...and...

Code:
1048  ROM_START( astrob1 )
 1049      ROM_REGION( 0xc000, "maincpu", 0 )
 1050      ROM_LOAD( "829.cpu-u25",    0x0000, 0x0800, CRC(5f66046e) SHA1(6aa7f94122db1a75a89c12ad9d087aec1a70d675) ) // verify that this isn't just a bad dump..
 1051      ROM_LOAD( "837.prom-u1",    0x0800, 0x0800, CRC(ce9c3763) SHA1(2cb4c3041905d38b040ef76f69f6197d699f9ec5) )
 1052      ROM_LOAD( "838.prom-u2",    0x1000, 0x0800, CRC(3557289e) SHA1(57258b149f0872c34f82fe3dc06bc1fc60d7393f) )
 1053      ROM_LOAD( "839.prom-u3",    0x1800, 0x0800, CRC(c88bda24) SHA1(9253306bd929e04a2136a0d9a9627dab8979baa1) )
 1054      ROM_LOAD( "840.prom-u4",    0x2000, 0x0800, CRC(24c9fe23) SHA1(306ad65c8c821ae90eb50416c38fe37c7acf36de) )
 1055      ROM_LOAD( "841.prom-u5",    0x2800, 0x0800, CRC(f153c683) SHA1(a6338a0e9867e1cbe27921182c268aeb4b09a503) )
 1056      ROM_LOAD( "842.prom-u6",    0x3000, 0x0800, CRC(4c5452b2) SHA1(e7b1138379ba4ad29f5ffad275164716c37c92e9) )
 1057      ROM_LOAD( "843.prom-u7",    0x3800, 0x0800, CRC(673161a6) SHA1(90db12ce06cd6150a924421cf9d93ad4051ccf97) )
 1058      ROM_LOAD( "844.prom-u8",    0x4000, 0x0800, CRC(6bfc59fd) SHA1(a5f7edfa66a25e3e84e60b5b3812d16ffdc5e409) )
 1059      ROM_LOAD( "845.prom-u9",    0x4800, 0x0800, CRC(018623f3) SHA1(bf264921c36ced3c332d5627b80886c3463f2237) )
 1060      ROM_LOAD( "846.prom-u10",   0x5000, 0x0800, CRC(4d7c5fb3) SHA1(3c0dd17cb907b8476abb4b2a16bd41dd2f107849) )
 1061      ROM_LOAD( "847.prom-u11",   0x5800, 0x0800, CRC(24d1d50a) SHA1(0691cccc4e58ffa07308a6a3ae80fbcef6cc8c9b) )
 1062      ROM_LOAD( "848.prom-u12",   0x6000, 0x0800, CRC(1c145541) SHA1(73e23161f71f4c25405e1211f41a31323845efaa) )
 1063      ROM_LOAD( "849.prom-u13",   0x6800, 0x0800, CRC(d378c169) SHA1(9b30ff9741429d798c8a2146d1c76a223f05495c) )
 1064      ROM_LOAD( "850.prom-u14",   0x7000, 0x0800, CRC(9da673ae) SHA1(817fb7cbeedefa3b5b43ca3b7914289f6908ed53) )
 1065      ROM_LOAD( "851.prom-u15",   0x7800, 0x0800, CRC(3d4cf9f0) SHA1(11e996f33f3a104e50d0a54a0814ea3e07735683) )
 1066      ROM_LOAD( "852.prom-u16",   0x8000, 0x0800, CRC(af88a97e) SHA1(fe7993101c629b296b5da05519b0990cc2b78286) )

The 829 ROM is identical on all other versions, so there appears some concern (as noted in the source) that the 829 dump in v1 is a bad dump. Also, the ending a game immediately problem is acknowledged in the "TODO" list.

Have you tried subbing in the 829 ROM from any of the other romsets?
It might be interesting to do a binary diff on the two version of the 829 code...

As a side note, there is no French version in MAME (only English and German). Have you considered dumping your French ROMs and sharing them with the world?


I have perused the mame source as well.

BTW versions from 2 on use CPU ROM #829b, not #829! I tried using the #829 with v.2
and it acts a bit crazy (wrong timings in the game) although it works.

Back on the subject - for a start, they are wrong when they say that the bad dump is ROM #829. I have tried using the #829 from the french v.1 I have (which checksums differently
from the one in MAME) and nothing changed. Patch still there. So, the non working patch for spaceships buy-in must be an unofficial patch and is in the other ROMs (837-852).

Unfortunately the french ROMs have completely different numbers, and are
not in the listing of Sega ROMs I have found on the net. Some have numbers before
829, others have numbers AFTER 852....

I thought about replacing some of them but looks a bit difficult, not knowing which ones are code and which ones are graphic data.

I can certainly dump all the french ROMs for the MAME archives (will really someone enjoy playing a french speaking game??) but please help me get this damn version 1 first :)

Thanks
Rick
 
This is where I normally say look at Caesar as it has the chips broken out by function...

http://caesar.logiqx.com/php/game_group.php?id=astrob#astrob1

But all it says for Astro Blaster is "AudioCPU", "MainCPU", and "Speech"... it doesn't have anything listed as GFX, or Graphics.

I have the "real thing" - and I am trying the various ROMs on the game.
The CPU ROM #829 is on the CPU board.
Then there is a PROM board with 16 ROMs (19 for V.2 and later due to extra stuff
like instructions) and a SPEECH board with 5 ROMs.

What makes things even more difficult is the fact that there is no character generator
in the game; all text is bitmapped so can't be spotted by looking at an hex dump...
 
What makes things even more difficult is the fact that there is no character generator
in the game; all text is bitmapped so can't be spotted by looking at an hex dump...

That can't be entirely accurate...

Code:
$ strings 907a
ASTROBLASTER
                AS
         Ara
x^      #Aj
        $AC
T       %AT
P1 LEFT
P1 RIGHT
P1 FIRE
P1 WARP
P2 LEFT
P2 RIGHT
@P2 FIRE
 P2 WARP
PLAYER BULLET
ENEMY BULLET
ENEMY EXPLOSION
PLAYER EXPLOSION
DEEDLE
SONAR
INVADER #1
WARP INVADER #1
>^INVADER #2
WARP INVADER #2
>]INVADER #3
WARP INVADER #3
>[INVADER #4
WARP INVADER #4
>WASTEROIDS
REFUEL
ATTACK RATE
VOICE
><v=
>D29
  p AIHA \NPJ
pqrs tuvwxyz{|
...and...
Code:
$ strings 829b
{##4+4
w##6
^#V#{
^#V#"J
N#F#
^#V#
vVIDEO MEMORY TEST PASSED
CPU HALT VIDEO MEMORY FAILED
ADDRESS
BIT D
CHIP U
(-O>
COINS TEST
BAD
GOOD
SERVICE
>Bw}
EPROMS TEST
****  NONE
INPUT TEST
DIP SWITCHES
PLAYER CONTROLS
1PSTART
2PSTART

61++62>
SOUNDS TEST
ALL SOUNDS OFF

##F#
 
That can't be entirely accurate...

Code:
$ strings 907a
ASTROBLASTER
                AS
         Ara
x^      #Aj
        $AC
T       %AT
P1 LEFT
P1 RIGHT
P1 FIRE
P1 WARP
P2 LEFT
P2 RIGHT
@P2 FIRE
 P2 WARP
PLAYER BULLET
ENEMY BULLET
ENEMY EXPLOSION
PLAYER EXPLOSION
DEEDLE
SONAR
INVADER #1
WARP INVADER #1
>^INVADER #2
WARP INVADER #2
>]INVADER #3
WARP INVADER #3
>[INVADER #4
WARP INVADER #4
>WASTEROIDS
REFUEL
ATTACK RATE
VOICE
><v=
>D29
  p AIHA \NPJ
pqrs tuvwxyz{|
...and...
Code:
$ strings 829b
{##4+4
w##6
^#V#{
^#V#"J
N#F#
^#V#
vVIDEO MEMORY TEST PASSED
CPU HALT VIDEO MEMORY FAILED
ADDRESS
BIT D
CHIP U
(-O>
COINS TEST
BAD
GOOD
SERVICE
>Bw}
EPROMS TEST
****  NONE
INPUT TEST
DIP SWITCHES
PLAYER CONTROLS
1PSTART
2PSTART

61++62>
SOUNDS TEST
ALL SOUNDS OFF

##F#

That is just for the CPU self test. That appears to use std characters.
 
A bit of digging in the ROMs and I found out the text is there but is obfuscated,
it is in ROM #852 and they sutracted hex 17 from each character :)

------------- file 852 add value 0x17 -------

.3....8./8.3....8..8.3....8.-8.3.. !88". #.687.1$&.2$&.3$&.4%&88..5$&.'(!.').'*.988:.5$&88:.588..4.3.2.1.0./...-.,.+....8t.(F...48T.MX8t.(F...48T.MY8r.(6...48..(6...48B.(....48..(....48..(....48J.(S...48..(;...48..(%...48..()...48..(-...4.X7credit77{7Y7ships.Y7credits7{7[7ships.credits.rank.top7Z.(..8.......8..(?..?...89.(7...U&.S0'.8....U&.S0'.8....U..S0'.M.8..M...0U|.S0'.8[.M&0M*0M'0M.0M(0M).Q..TI...U?I.....Q.......89....8..(7.........M.0'....U&.S0'...............................................&...&.........................................................................................................................................................................................................................................................ULI..8....p.+.(7..%M70'.Q..TI...(F...4Q...X8...8).(M...4.#.player.start.game7over.out7of7fuel.out7of7ships.8%.(].Qq..7.(i...4%sQq..7.%uQW..7.U.IW...-U1I..8I...p...(7.. M70'.8G.. M70'.Q..TI...(F...4Q...X8I..8G.(S...4...82...s...82.:)...48Q.(G...48Q.QL..V.V.V.V.W.8q.QL..&.W...82.(7..#M70'.8Q.(7..!M70'...secret7bonus.number.8..(....4.Q...?6(..Q$.f..8.. ..?.(..8k...4.I...(..8k...4U.IA..enter7initials.player7X.player7Y.77777777.8..Qv..?".I..(....4.U.I..(....4.prepare7to7dock.777777777777777.8>.Qv..?".I..(....4.U.I..('...4.U0I...fuel7bonus.7777777777......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
 
Here's the same thing in v.2.

------------- file 922a add value 0x17 -------

...8..8.3....8.-8.3.. !88". #.687.1$&.2$&.3$&.4%&88..5$&.'(!.').'*.988:.5$&88:.588..4.3.2.1.0./...-.,.+....8t.(....48T.MX8t.(....48T.MY8r.(....48..(....4.credits.rank.top7Z.(..8.......8f.(?..?...89.(7...U&.S0'.8....U&.S0'.8....U..S0'.M.8..M...0U|.S0'.8[.M&0M*0M'0M.0M(0M).Q..TI...U?I.....Q.....E.89..H.8..(7.......[.M.0'..b.U&.S0'...............................................&...&.........................................................................................................................................................................................................................................................U+I~.8....p...(7..%M70'.Q..TI...(....4Q...X8...8).(....4...player.start.game7over.out7of7fuel.out7of7ships.8%.(..Q...7.(....4%sQ...7.%uQs..7.U.I....-U+I..8I...p.M.(7.. M70'.8G.. M70'.Q..TI...(....4Q...X8I..8G.(....4.E.82...s...82.(....48Q.(....48Q.Qh..V.V.V.V.W.8q.Qh..&.W...82.(7..#M70'.8Q.(7..!M70'...secret7bonus.number.8..(....4.Q...?6(..Q$.f..8.. ..?.('.8k...4.I...(0.8k...4U.I...enter7initials.player7X.player7Y.77777777.8..Qv..?".I..(Y...4.U.I..(i...4.prepare7to7dock.777777777777777.8>.Qv..?".I..(....4.U.I..(....4.U/I...fuel7bonus....Ii.I...%...-.5....v?.5....v?.3........U..o.o.o.o.o.o.o.o.=.Q...B@(..0u:m.j...8_..7777777777.Q".I......8..(....6M....z.U.I.....s.82.(...;...8V.(.......(.......8f.....h.u:m:....d.):*.X.:.N..z....s....'.5....z..s.'.8...W.f.........Wf.O........f........T.:'.4.w....Q*.S..Iz.If.I2.Iz..z..U.I#.........s.'....s.'.Q......TIW.8..(...S....z.......s.'.Q".....8..(....6M....8..Q"...%.8..9..8..9..8..(....6M...U...I..8..(.......(.......U.I..UVIX.U.I).UVI..8..(...S....z..IR.8..9..Q".....8..(...7.1.....:S.B *...+I/-7MK..Q"....V.V.V.[.S:.B Q"..&.>.[.:S.Q".I.....s.Q..fQ".....'.Q".fQ......Q.........s.'.......U'.r4.8..0..%D.$..8.'0..8.' %D.$..=...1.V.51.6):*'..8..0$.$...A.Q..S..I....x.A...r..22.....5.d.1..f.M..22"...Y.Q....I...Q.......A...r..*.31S...7. . ..'....(7.A...b..!............!......0.....Z..Q....I....8V.(%.!.6.>.f.. ...>f.. ..:.B.!.1.a.>.'I..*1.a.>.'I7.*1.a.>.'I...8..1.&.*8.
------------- file 922a add value 0x18 -------
 
Interesting. So in the game-specific code, they didn't use ASCII character codes... but in the test-mode code, they did. Wacky.

What tool did you use to offset the values? Or did you write something yourself to do it?
 
Interesting. So in the game-specific code, they didn't use ASCII character codes... but in the test-mode code, they did. Wacky.

What tool did you use to offset the values? Or did you write something yourself to do it?

I wrote a small C program that added all possibile values from hex 00 to hex ff,
then in the output of all possibile permutations I searched for "player" et voilà :)

I am still looking at this issue, I found out just today that while letters have hex 17
added to them, space is not touched, and numbers have 10 hex added instead...

I think they were just trying to obfuscate to protect from potential copycats...
 
Back
Top Bottom