(Topic ID: 293165)

Quicksilver spinner counter/drop sweeps

By slochar

2 years ago


Topic Heartbeat

Topic Stats

  • 19 posts
  • 5 Pinsiders participating
  • Latest reply 1 year ago by slochar
  • Topic is favorited by 9 Pinsiders

You

Linked Games

#1 2 years ago

https://sites.google.com/site/allentownpinball/galaxy-asm/
(Edited to show sticky link to site, scroll down to find versions)

alternate site for download when google tosses the site in September 2021:
http://tsqmadness.com/slochar/ZIP/

Beta software to show the spinner counts on the ball in play display during gameplay. Seems to be a popular option for the other games it's been added to (Meteor, 9 ball, Big Game) so here it is on the game that people love the left spinner shot. Test your spinners and see how well they stack up against others.

It just counts. It might skip 100 and go from 99->101 (leading 1 isn't shown.)

The beta zip is just the mpu 200 2716 versions, hints on how to combine the files for other formats in the readme. (2x2732, 512/weebly)

This is JUST the spinner counter, no other options yet, like freeplay, multiplier reset, optional spinner sound swap, etc.

#2 2 years ago

Ok I'll ask the dumb question on behalf of the Weebly/512 guys - how exactly does one create a 512 file with the following map?

0000-0fff blank/null
1000-17FF cpu_u1.716
1800-1FFF cpu_u5.716
2000-4FFF blank/null
5000-57FF cpu_u2.716
5800-5FFF cpu_u6.716
6000-F7FF blank/null
F800-FFFF cpu_u6.716

I've read through your Galaxy thread, and opened your Meteor 512 in a hex editor to see if I could reverse engineer the answer, but this stuff is so far beyond me...

#3 2 years ago

Go into your burning software, with the 512 definition open, then you load each piece (.716) with the offset listed. So you open cpu_u1.716 at offset $1000, cpu_u5.716 at offset $1800, cpu_u2.716 at offset $5000, and cpu_u6.716 at offsets $5800 *and* $F800. That's the easiest way to do it.

#4 2 years ago

https://sites.google.com/site/allentownpinball/galaxy-asm/QUICK-V02.zip?attredirects=0&d=1

New version.... counts left spinner on credit display, right spinner on ball in play display. Saves high spins for each in audit 15. (Go into audits and clear first). No awards for high spins (there's no room in the rom....yet!!)

Shows high spins on player 4 whenever high scores are shown. Version of software shown in match display at bootup (currently 02).

Zip file includes 4x2716 images for mpu200 and 512 image for weebly board usage. None have been installed in a machine yet! Post bugs, especially anything that happens odd with the sound. I'm not 100% sure that the source file I'm using relocates all the sound data correctly yet.

#5 2 years ago

Just installed the 512 image on a weebly and it works exactly as advertised. No issues with sound that I've noticed, no bugs after 20 or so games....

Thanks for doing this!

#6 2 years ago
Quoted from slochar:

there's no room in the rom....yet!!

Wow no room in the rom? No speech, no multiball, what takes up all the space? Sound data?

#7 2 years ago
Quoted from msarac:

Just installed the 512 image on a weebly and it works exactly as advertised. No issues with sound that I've noticed, no bugs after 20 or so games....

Amazing. Is there a guide out there somewhere for adding roms to the weebly?

#8 2 years ago
Quoted from dothedoo:

Wow no room in the rom? No speech, no multiball, what takes up all the space? Sound data?

Sound data seems maybe a little bigger than normal. No idea why this rom is so much larger vs. earlier games that seem to have more stuff on them (like big game.... that one is relatively short....)

#9 2 years ago

https://sites.google.com/site/allentownpinball/galaxy-asm/QUICK-V04.zip?attredirects=0&d=1

Version 4, saves high spins - high spins show on player 4 as triple digits (max 227) but will rollover when actually counting (there's only 2 digits on the credit/match displays visible....)

New adjustment 19 for max credits/free play, set to 00 max credits for free play, otherwise set to max credits 01-99. When set to free play can still accumulate credits up to 99.

Dip 18 is now reset bonus multiplier ball to ball - on=do not reset, off=reset multiplier
Dip 19 swaps lit and unlit spinner sounds, on=stock, off=swap

#10 2 years ago

https://sites.google.com/site/allentownpinball/galaxy-asm/QUICK-V06.zip?attredirects=0&d=1

Additions to this version:

Adjustment 20 - set to non-zero to award a special for surpassing the high spins on either left or right spinner. Independent of the 1 special per ball/game special limit.

Adjustment 21 - set to non-zero to award a special for spinner stopping on multiple of 20 spins, i.e. 20, 40, 60, 80, 100, 120, 140, etc. up to 240. Independent of the 1 special per ball/game special limit.

Both of these specials respect the special award setting - replay, extra ball, points.

Cumulative list of changes:

;v01 add spinner counter on match/ball in play

;v02 split left/right spinner counters to credit/ball in play displays, save high spins in otherwise unused audit 15

;v03 add freeplay new adjustment 19, set to 00=freeplay, otherwise, new max credits range 01-99
; add dip 19, spinner sound swap (for @gizmonic) on=stock off=swap lit spinner sound for non-lit and vice versa
; add dip 18, reset multiplier ball to ball (on=stock, hold over, off=clear bonus multiplier)

;v04 change spinner counters to use hex for >100 storage

;v05 spinner counter pass awards special
; add adjustment 20
; adj 20, 0=no special payout, 1=spinner pays special when high spins passed

;v06 add adjustment 21
; adj 21, 0=no special payout for 20/40/60/80/'100', 1=these values pay special
;

I'm still finishing commenting the code and I MIGHT have another feature to add, if I can get even more space free.

dothedoo it looks like most of the code bloat is for lamp effects and a lot of bloat for moving around extra balls/specials when lit. They all have to be tested and set in individual chunks. I added a pigs' function called 'match pattern' to some of my other mods so you don't have to constantly test all permutations on every set of possibilities that might be appropriate here as well.

there's also a lot of code for add a ball usage, to make sure you somehow don't get extra add a balls, somehow. They didn't want you to cheat the operator, but they also have code in there to clear any 1/2 credits if you put too much money in the operator would cheat you! Nice....

Stern also had a thing about removing your extra ball if you earned one and tilted. (IIRC they remove all add a balls too, so if you had 5 banked and tilted..... ugh.)

#11 2 years ago

Ah, yes I can see a lot of code being used for lamps. There’s a lot going on with light shows and such.

Is there room to add one more lamp in the matrix? I always wanted to mod mine with star post lights on each side of the K target so they can blink for extra ball like the lane guides.

#12 2 years ago

There's definitely unused lamp slots. It likely wouldn't be too hard to add a lamp as I think the K insert already flashes when that's the 'lit' one, right? Just need to add to the thread that lights the K flashing to light your posts as well.

I'll have to carve some more room out though, as the rom with the latest changes is full again. (How many times did I say that in the flight 2000 thread though and came up with 100 bytes?)

I have an idea on how to revamp something with the goto statements that if it works could save a lot of space, making any same lo/hi ($1000-$1fff and $5000-$5fff) jumps within their areas (a large number of these are) two bytes instead of 3, but that's going to need a lot of reprogramming in the way the commands get read in. Thank you GTB and WMS for giving me this idea

#13 2 years ago

I always thought PIGS should have a two byte relative branch instead of needing to use a three byte jump just to skip over a couple of instructions or repeat a loop. That would be a great macro to add.

You are correct the K lamp flashes when lit for extra ball.

#14 2 years ago

I had it working and compiled for flight 2000, but I realized much greater savings by using the shortcut checklamp command - any lamp <$80 instead of assembling to $21 $23 (for checklamp $23) would assemble to $a3 and be decoded automatically. That saved a TON of space.

To get the 12 bit branching working you have to reserve an entire set of $10 bytes, I used $6x and $7x for the 2 different ranges, with $65FF being equivalent to goto $15FF and $75FF being equivalent to goto $55FF.

I came up with a new one (well, inspired by Gottlieb TGOL) called 'skip' - it works slightly differently from the TGOL code, the tgol skip skips the next command in its entirety, regardless of length. The stern one just advances the script by one or two. It leverages an existing subroutine so it's only 5 bytes (added to the pigs command table and one byte in the subroutine) to implement.

In quicksilver there's lines like this:

;switch c1r7 's' standup
L190C:
checklampvalue $17 ;check S lamp
goto L1918 ;branch to process

;switch c1r6 'i' standup
L1911:
checklampvalue $16 ;check I lamp
goto L1918 ;branch to process

;switch c1r5 'l' standup
L1916:
checklampvalue $15 ;check L lamp

L1918:

where the goto L1918 is 3 bytes per. I replaced that with:

;switch c1r7 's' standup
L190C:
checklampvalue $17 ;check S lamp
skip

;switch c1r6 'i' standup
L1911:
checklampvalue $16 ;check I lamp
skip

;switch c1r5 'l' standup
L1916:
checklampvalue $15 ;check L lamp

L1918:

where the skip just skips over the next checklamp - which is now 1 byte due to by other space savings. So the I standup checks the lamp value, skips the next 2 checklamps, and the script ends up on L1918 anyway. Maybe it's slower, maybe it isn't, because you don't have to pull more parameters and setup the goto anyway.

There's a bunch of other stuff too where any loadbmem even on zero page location takes up 3 bytes instead of 2.

I'm working on a unified OS so that it can be plugged into other stern games (or new ones, for that matter) and all the space savings can be realized.

This will likely take a long time as I came up with different solutions to the space issues depending on the game and not all will likely fit or will be mutually exclusive like the checklamp. Too bad there wasn't a 9 bit microprocessor to add another bit flag, eh??

#15 2 years ago

https://sites.google.com/site/allentownpinball/galaxy-asm

Latest file uploaded, fixed an error in the extra ball handling, added a sweep bonus option for the drop banks. This is likely the last version unless more bugs are found.

#16 2 years ago
Quoted from dothedoo:

Is there room to add one more lamp in the matrix? I always wanted to mod mine with star post lights on each side of the K target so they can blink for extra ball like the lane guides.

Why not just tie the star post lamp wiring to the blinking K insert bulb?

Thanks for the latest update! I'll just check back here for any further bug fixes.

#17 2 years ago

Probably because the star posts aren't lit at all so it would look odd when you have the K lit steady and all the sudden, there's light behind it too.

2 months later
#18 2 years ago

changed the top post to reflect alternate d/l site as google sites will jettison any binary/zip files come september 2021

http://tsqmadness.com/slochar/ZIP/

11 months later
#19 1 year ago

Bug report, if you have match (dip 21) turned off, you won't get hstd/display swaps in attract mode. Turn match dip 21 on for now to alleviate. I'm in the middle of something else right now and don't have time to get back into the code to fix/replace the files on the site.

Promoted items from Pinside Marketplace and Pinside Shops!
$ 859.00
Flipper Parts
Mircoplayfields
 
$ 12.00
Electronics
Yorktown Arcade Supply
 
7,500 (OBO)
Machine - For Sale
Sandusky, OH
From: $ 2.99
From: $ 20.00
Various Novelties
Pinball Photos LLC
 
5,800
Machine - For Sale
Spring Grove, IL
$ 3.00
Cabinet Parts
20eyes
 
$ 12.00
Playfield - Toys/Add-ons
UpKick Pinball
 
$ 199.95
$ 959.00
$ 189.00
Flipper Parts
Mircoplayfields
 
Great pinball charity
Pinball Edu

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/quicksilver-spinner-counter 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.