(Topic ID: 261103)

Stern Galaxy code disassembly/Modifications

By slochar

4 years ago


Topic Heartbeat

Topic Stats

  • 175 posts
  • 22 Pinsiders participating
  • Latest reply 1 year ago by slochar
  • Topic is favorited by 37 Pinsiders

You

Linked Games

  • Galaxy Stern Electronics, 1980

Topic Gallery

View topic image gallery

pasted_image (resized).png
20220522-ASRERROR (resized).png
20220521-BACKWARDS (resized).png
20220520-CREDIT5 (resized).png
20220520-CREDIT4 (resized).png
20220520-CREDIT3 (resized).png
20220520-CREDIT2 (resized).png
20220520-FREEPLAY (resized).png
20220520-CREDIT (resized).png
8-29-sound7 (resized).png
8-28-sound6 (resized).png
8-28-sound5 (resized).png
8-28-sound4 (resized).png
8-28-sound3 (resized).png
8-28-sound2 (resized).png
8-28-sound1 (resized).png

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

#38 4 years ago
Quoted from slochar:

then the first section of code (the sta $93) turns OFF the LED.

Actually the MPU LED is switched off at line 5862, not 5839.

I hope it's ok that I added the 6821 PIA comments:

MPU-200_Galaxy_DSM1.pngMPU-200_Galaxy_DSM1.png
#41 4 years ago
Quoted from Coyote:

Question: What is "J5 interrupts"? (Line 5839..)

It was a spare unused interrupt source that Bally routed (and Stern copied) to the J5 connector for future expansion, maybe an inhouse debugger as slochar mentioned - possibly some exotic sound boards in the European conversion game kits may use it.

The Stern VSU-100 speech boards are wired to this spare PIA interrupt but not from the MPU connector J5 pin 32, rather MPU J4 pin 11 which was specially wired on the MPU-200 board. The speech board uses it to notify the CPU it's busy speaking.

Quoted from slochar:

probably for the sb300 to interrupt the cpu (which I don't think ever was programmed) or a for an external in-system debugger setup.

For some reason Stern added an extra pin (34) to the J5 connector that directly interrupts the CPU IRQ input without PIA control. While the programmable timer chip on the SB300 is wired to it, I don't think the feature is actually used.

Quoted from slochar:

@Quench sure go ahead and correct/add as you see fit.

Cheers, I'll try to add the PIA comments in the zero crossing interrupt handler in a few days.

#56 4 years ago

Do you ever use DASMx to try and flush out most of the pure assembler code?

#58 4 years ago
Quoted from slochar:

Nope, too interspersed with the PIGS code.

Hmm, I see.
Besides the "game personality" code, do you find there can be a lot of system code comments that's fairly easily copy'n'pasted between games when you're documenting them?

#64 4 years ago

It might be worth as you expose more PIGS command functions that you add them to your first post as a list so there's a central quick reference?
Maybe also the use of RAM locations as you determine what they're for.

1 year later
#143 2 years ago
Quoted from slochar:

That's interesting that they fixed it in pinmame. I think that's why I just had a devil of a time with some BGT commands in dragonfist that after some modifications worked great in pinmame, put it in the game and boom, nothing. Was driving me batty but if the 6800 emulation corrects those errors, that would explain it.

I'm the one who fixed it in MAME/PinMAME 4 years ago after discovering some of my code behaved differently between emulation and actual game hardware. So any of these emulators older than mid 2017 have the CPX bug that incorrectly configures the status flags. The only valid conditional branch instructions on a real 6800 after executing CPX are BEQ/BNE/BMI/BPL

Nice work by the way..

#145 2 years ago
Quoted from slochar:

So it's fixed in that it matches what the hardware does?

Yes. The previous incorrect implementation of CPX compared 16-bit values which is why BLE/BHI etc worked. The real implementation compares the upper and lower bytes separately.

If you're familiar with DIFF, I still have the PinMAME source fix I can email you.

Promoted items from Pinside Marketplace and Pinside Shops!
From: $ 115.00
Playfield - Protection
Beehive Pinball Co.
 
From: $ 169.00
From: $ 30.00
Cabinet Parts
Rocket City Pinball
 
Wanted
Machine - Wanted
Jeffersonville, IN
$ 12.00
Electronics
Third Coast Pinball
 
$ 199.95
$ 169.00
$ 12.00
Tools
Nezzy's Pinball Prints
 
$ 12.00
Playfield - Toys/Add-ons
UpKick Pinball
 
$ 29.00
Cabinet - Sound/Speakers
RoyGBev Pinball
 
$ 55.00
Displays
PinballSolutions.eu
 
Wanted
Machine - Wanted
Middletown, OH
$ 12.00
Electronics
Yorktown Arcade Supply
 
$ 3.00
Cabinet Parts
20eyes
 
Hey modders!
Your shop name here

You're currently viewing posts by Pinsider Quench.
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/stern-galaxy-code-disassembly?tu=Quench 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.