(Topic ID: 291839)

Controlling the SB-300

By DickHamill

2 years ago


Topic Heartbeat

Topic Stats

  • 37 posts
  • 6 Pinsiders participating
  • Latest reply 11 months ago by barakandl
  • Topic is favorited by 11 Pinsiders

You

Linked Games

  • Meteor Stern Electronics, 1979

Topic Gallery

View topic image gallery

pasted_image (resized).png
pasted_image (resized).png
Screen Shot 2021-04-17 at 3.15.10 PM (resized).png
Screen Shot 2021-04-17 at 3.14.58 PM (resized).png
IMG_2709 (resized).jpg

You're currently viewing posts by Pinsider slochar.
Click here to go back to viewing the entire thread.

#13 2 years ago

Excellent - now new sounds can be worked on! Several missing pieces posted here.

#15 2 years ago

Me either! I just know it's stuffing bytes in the IRQ. But you have the board part decoded..... maybe look at the pinmame sb300 driver? You have seen Oliver Kaegi's info on this on his page as well?

I'd settle for just being able to translate sounds from one game to another, or updating sb100 games to use an sb300 sound effects.

Just having the controls mapped out for the timer chips is huge.

#18 2 years ago

Meteor is the first game with a sound script processor for sb300, the problem is that there's several different versions. The goal at the time for me was to take sounds from other games and mix them into different games. (Specifically I wanted the Big Game 25k sound to use in Meteor's added feature 1-2-3 bank sweep.) Yours and Dick's information will help translate the sound data directly over I'd think, since it should be possible now to figure out the frequency and timing they were going for. (And additional information for 9 ball source code information.... at some point....)

Oddly, Meteor's sounds transplanted into a (failed) fold into the 7 digit os (meteor data to big game OS) really messed up the sounds. I'd assume although I haven't compared directly that Meteor, Galaxy, and Ali all have the same sound engine, since they re-use many of the same sounds. (Ali's 'spacy' type sounds were always odd to me and didn't fit.) The sound data into the later games was either twice the speed or 1/2 the speed, I forget which, but I had added in a skip to handle that, but it turned out to really break the background sound handling as well.

Meteor has the additional issue with boards that have nvram on first boot, it doesn't clear the registers so the sound doesn't work correctly at first until those registers get repopulated. It's really strange in that the registers are battery backed in mpu200 boards anyway, so they're not cleared there either, but it doesn't affect it when it's 5101's. That's been corrected in the modified Meteor's code for a while now, just a simple clear loop for that area on boot works fine.

#19 2 years ago
Quoted from DickHamill:

That will be an easy upgrade, aside from the extra bytes needed.

No, I'll search around.

http://www.pinball4you.ch/okaegi/

#21 2 years ago
Quoted from DickHamill:

Thanks - wish I had seen that before!

Sorry sometimes when I'm not at my main computer it's hard to cut and paste stuff.... that was likely from my tablet so I didn't have access to either the link nor the ability to paste easily.

#23 2 years ago

You got way farther than I ever did for sure, the most I deciphered was that there's a resistor ladder for the D/A converter. Hardware interfacing in the software isn't really something I'm good at, just reverse engineering game logic.

#25 2 years ago

https://sites.google.com/site/allentownpinball/galaxy-asm Grab the source code from a couple other stern games from here as well for info. The flight 2000 ones might be especially informative when you add speech control to the arduino setup, and is also a different sound engine (Pfutz modded it to make space.... even he ran out of space in the original codebase....)

Do they make arduinos yet with more ram as I think that's a limiting factor at this point with the codebase? Or is that old news at this point and the code is more efficient/more space available? I know your goal was still the $5 nano, but if you start pumping sound data in there (I've just had a vision of software enabled digitized speech, like the old 8 bit micros were able to do with some tricks.... well, not the apple 2, but the atari and c64) you're going to run out of available space quickly.....

1 week later
#28 2 years ago

;hardcoded sound table
L5811:
dw L5883 ;spinner
dw L58F8
dw L581D
dw L5916
dw L584F ;rocket score
dw L5831 ;pop bumper

L581D:
db $A4,$04,$C1,$A2,$00,$E4
L5823:
db $0E,$05,$02,$02,$09
L5828: ;add player sound
db $00,$03,$06,$00,$40,$03
dw L5828
db $08
pop_sound:
L5831: ;pop bumper sound
db $A2,$01,$00,$A4,$08,$00,$05,$02,$0E,$00,$03,$A2,$1C,$82,$A4,$07,$20,$02,$10
L5844:
db $00,$03,$07,$FD,$00,$FF,$D0,$03
dw L5844
db $08
L584F: ;drop target (rocket score) sound
db $A2,$02,$00,$A4,$08,$00,$0E,$05,$02,$02,$20
L585A:
db $00,$02,$07,$01,$00,$FF,$00,$03
dw L585A
db $08,$A2,$02,$3E,$A4,$00,$80,$0E,$05,$00,$00,$01,$A4
db $05,$56,$A2,$02,$D5,$02,$0A
L5878:
db $00,$03,$07,$02,$00,$00,$40,$03
dw L5878
db $08
spinner_sound:
L5883: ;spinner sound
db $A2,$00,$40,$A4,$02,$00,$05,$02,$0E,$02,$1E
L588E: ;background sound?
db $00,$01,$07,$00,$30,$02,$00,$03
dw L588E
db $00,$0A,$08,$A2,$01,$00,$A4,$80,$00,$0E,$05,$02,$02,$14
L58A6:
db $00,$02,$07,$01,$00,$F8,$00,$03
dw L58A6
db $08
tilt_sound:
L58B1: ;tilt sound
db $A2,$0A,$00,$A4,$08,$00,$0E,$05,$02,$02,$23
L58BC:
db $00,$05,$06,$00,$C0
L58C1:
db $03
dw L58BC
db $08
L58C5:
db $A2,$04,$00,$A4,$20,$00,$05,$02,$0E,$02,$0A
L58D0:
db $00
L58D1: db $02,$07,$FF,$80,$FE,$00,$03
dw L58D0
db $08
L58DB:
db $A2,$00,$9C,$A6,$C0,$00,$05,$5B,$0D,$02,$34
L58E6:
db $00,$02,$06,$00,$30,$03
dw L58E6
db $08

L58EF: ;add player sound
db $A4,$02,$8E,$A2,$05,$A8,$04
dw L5823
L58F8:
db $A2,$01,$60,$A4,$03,$A8,$05,$02,$0E,$02,$14
L5903:
db $00,$03,$06,$00,$40,$03
dw L5903
db $02,$06
L590D:
db $00,$01,$06,$FF,$E0,$03
dw L590D
db $08
L5916:
db $A2,$08,$00,$A4,$05,$FE,$0E,$05,$02,$02,$10
L5921:
db $00,$02,$06,$FF,$90,$03
dw L5921
db $02,$20
L592B:
db $00,$01,$06,$00,$D0,$03
dw L592B
db $08
coin_up_sound:
L5934:
db $A4,$26,$54,$A6,$80,$00,$0B,$05,$7A,$00,$78,$08,$A6
db $A0,$00,$A0,$01,$00,$A0,$92,$01,$05,$BA,$00,$3C,$05,$AA,$00,$20
db $05,$9A,$00,$10,$05,$8A,$00,$08,$05,$7A,$A0,$00,$01,$00,$08,$08
game_over_sound:
reset_meteor_sound:
L5961: ;reset meteor bank sound
db $A6,$A0,$00,$A0,$01,$00,$A0,$92
db $01,$05,$3A,$00,$08,$05,$4A,$00
db $0A,$05,$5A,$00,$0C,$05,$6A,$00
db $10,$05,$7A,$00,$18,$05,$8A,$00
db $20,$05,$9A,$00,$30,$05,$AA,$00
db $38,$05,$BA,$A0,$00,$01,$00,$60
db $05,$00,$08

;big game version of the same sound
; db $a6,$a0,$00,$a0,$01,$00,$05,$3a
; db $00,$10,$05,$4a,$00,$14,$05,$5a
; db $00,$18,$05,$6a,$00,$20,$05,$7a
; db $00,$30,$05,$8a,$00,$40,$05,$9a
; db $00,$60,$05,$aa,$00,$70,$05,$ba
; db $a0,$92,$01,$a0,$00,$01,$00,$fa
; db $08

;bonus countdown sound
L5994:
db $A2,$0A,$00,$A4,$06,$00,$0E,$05,$00,$01
L599E:
db $07,$FF,$D2
db $00,$00,$A4,$06,$00,$01
L59A7:
db $07,$00,$00,$FF,$D0,$01
L59AD:
db $08

4 months later
#31 2 years ago

Success.... replaced the coin up sound effect on dragonfist with the big game 25k 'sweep' sound.

Many thanks to DickHamill and CoreyStup for their work on documenting the sound board. I did discover a few things regarding the first sound engine in Meteor, Galaxy, and Ali - the sounds are a different format, and the commands to set the frequencies are different. This just affects the data in the rom, nothing with the sound board itself. I've also found a couple of unused sounds but they turned out to be nothing thrilling.

Some of the games definitely have a different format for their sounds - Stargazer comes to mind from a cursory glance.

Not helping me yet to discover how to change the sounds, I will have to build up the arduino setup to stick on the bench and fool around with parameters. You can't test new sound ideas in pinmame as the sb300 isn't accurate and burning up new chips to test things would get old doing that.

I've already added Corey's nomenclature (from his pics earlier) to the Galaxy disassembly and will be updating that thread in the future as well.

#35 2 years ago

So because Pfutz is pfutz, his sound engines are completely different. For instance, in quicksilver, he's added the ability to intersperse 6800 code in the middle of playing a sound, to do <whatever>. So, the sound effects from QS can't be yanked out and put in other games as easily as the 25k sound was pulled out.

I'm auditioning sounds for dragonfist's extra ball award (currently no sound effect IIRC) and I was going to stick in the 75k sound, but ran into the differing data.

As I move farther along in fleshing out 100% the various stern games I'll no doubt come up with more variants. I hadn't yet at this point compared directly this section of code... most of the OS code is the same between games, just in different locations (they don't use "OS ROMS" like bally and williams did, they custom compiled the code for each game so the branches end up being in different locations, etc. but still all the same logic.)

1 year later
#36 11 months ago

Just a small update on Cheetah's sound engine... yep, as I go through games more and more, there's a different sound engine with different parameters everywhere.

Promoted items from Pinside Marketplace and Pinside Shops!
From: $ 33.00
Gameroom - Decorations
Rocket City Pinball
 
$ 12.00
Electronics
Third Coast Pinball
 
Wanted
Machine - Wanted
Middletown, OH
$ 29.00
Boards
RoyGBev Pinball
 
$ 40.00
Gameroom - Decorations
The Flipper Room
 
From: $ 2.99
$ 10.00
$ 169.00
$ 29.00
Cabinet - Sound/Speakers
RoyGBev Pinball
 
$ 44.00
Boards
PinballReplacementParts
 
From: $ 130.00
Boards
Troxel Repair
 
$ 25.00
Apparel - Men
Slipstream Mod Shop
 
3,000
Machine - For Sale
Kettering, OH
Hey modders!
Your shop name here

You're currently viewing posts by Pinsider slochar.
Click here to go back to viewing the entire thread.

Reply

Wanna join the discussion? Please sign in to reply to this topic.

Hey there! Welcome to Pinside!

Donate to Pinside

Great to see you're enjoying Pinside! Did you know Pinside is able to run without any 3rd-party banners or ads, thanks to the support from our visitors? Please consider a donation to Pinside and get anext to your username to show for it! Or better yet, subscribe to Pinside+!


This page was printed from https://pinside.com/pinball/forum/topic/controlling-the-sb-300?tu=slochar and we tried optimising it for printing. Some page elements may have been deliberately hidden.

Scan the QR code on the left to jump to the URL this document was printed from.