(Topic ID: 256951)

Revised version of Meteor, out of beta test

By slochar

4 years ago


Topic Heartbeat

Topic Stats

  • 95 posts
  • 22 Pinsiders participating
  • Latest reply 1 year ago by Quench
  • Topic is favorited by 21 Pinsiders

You

Linked Games

  • Meteor Stern Electronics, 1979

Topic Gallery

View topic image gallery

IMG_20191226_182417 (resized).jpg

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

#1 4 years ago

Many Meteor owners might be familiar with Oliver Kaegi's 7 digit update to meteor. (http://www.pinball4you.ch/okaegi/pro_soft.html)

This version unfortunately has a couple bugs - it suffers from the 'collect all rockets' bug, where you get a 256x bonus multiplier on countdown, and it has a visual bug when you start the game, you get 000 instead of 00 (minor, I know, but still irked me).

Details of RGP discussion on collect all rockets bug:
https://groups.google.com/d/msg/rec.games.pinball/hqY7fAb2E28/0cZOylsRCgAJ

There was an aborted attempt over the last couple years to re-write the game framework into a newer, native 7 digit classic stern OS - Big Game was that OS (since it's the first 7 digit game and closest to meteor) - while this was successful, it introduced a new, kind of serious bug - a problem with the sound getting clipped. Various things were tried to fix this... see: https://pinside.com/pinball/forum/topic/stern-meteor-rom-issue-bugfix-sound-issues-nvram-discussion/page/2 about midway down the page.

So, back to the original Oliver codebase, fixed the addition of the zeros where they shouldn't be (properly, this time.... not in the display interrupt), and then re-rolled the other goodies back in.

These goodies are:

triple zero quash in 7 digit version
faster replay level setting (ok this is minor, but it takes FOREVER with the stock interval to get >1,000,000 for settings)
add function in outhole to test if the spinner is stil spinning to avoid losing score
add dip #19 to turn on/off free play
add dip #17 to turn on/off 25k drop sweep bonus (any rocket bank 1-2-3 you sweep gives you 25k extra)
add sound nvram clear to bootup (see pinside discussion linked above)
player add after score zeroes previous player displayed score (see pinside discussion linked above)
added spinner counter similar to big game's mod/dragonfist (this is REALLY cool.... I've gotten almost 90 spins a couple times)
bug fix for collect all rockets (see RGP discussion as well as pinside discussion both linked above)
test drop banks at ball launch, only reset if targets down
dip 16 on=pay 3 specials for hstd, off=pay none (15 freed for future use)

And, as an added bonus, if you don't need/want to update your meteor to 7 digit displays, the above goodies can be compiled into the 6 digit codebase.

So, I am compiling a list of people who can BETA test this, and specifically 6 digit owners that might want to try this.

Requirements are that you have a rom burner or a way to burn roms, and the requisite eproms. (I recommend 2x2732 in an mpu200, if you have a weebly mpu board with the combo rom, you can use the 512 socket with a 512 eprom in it.... if you have an alltek you are out of luck as they do not publish/support changing their eprom)

I will be more than happy to send the compiled code to interested parties; I only ask that you test it out and post feedback here. There are a couple other things I'm going to add (unlimited specials, because I like the pop, reminds me of old EM's) and maybe a couple other things, not decided yet.

The current version branch is "72B" for the seven digit version, and "62B" for the 6 digit version, which gets reported minus the trailing letter on the match display on bootup.

After a sufficient period of beta testing, I plan on distributing the source code as part of the on-again, off-again classic stern disassembly project. Write a new custom game using old hardware! No P-Roc needed.

PM me your email address so I can send you the rom files in the format you need them (6 or 7 digit, 2x2732, 4x2716 (not recommended due to 2716's being difficult to get, many won't burn well), or 1x27512 [for Weebly's board with the 512 socket])

#9 4 years ago
Quoted from semicolin:

Ooh- I'm going to be upgrading my Meteor to seven digits as part of its overhaul. Following this thread.
Can anyone suggest an inexpensive EPROM burner? I've wanted one for awhile but never got into it.

TL866CS... about $30-$50 depending on options. Don't get the TL866II, they apparently dumbed down the software and limit the burn to max 16v. 2732's often need 21v. Hopefully the CS is still in supply at various places, I got mine on ebay.

I've burned 1000s of eproms on mine. I splurged a little bit and bought a BK precision eraser than can do 40 eproms at once as I go through a LOT of revisions.

Even if you have to get the one that everyone else seems to use (I forget the brand) QX-4? Maybe? It's only about $120. It's well worth it IMO if you have lots of games just for the convenience of burning a rom right away instead of waiting and paying.

Some of the people who burn roms are not allowed to burn unofficial versions either due to their license agreements.

#16 4 years ago

Anyone with 6 digit meteors try it out yet? 7 digit is into version 73a and will be going up a notch or 2 in terms of crunching.
The code base handles both compiling for 6 and 7 digits, and I do try out the 6 digit in pinmame for any gross deformities (i.e. does it boot and start a game?) but confirmation in a machine would be nice. I could probably start to test those versions in mine as well but the memory gets messed up for replay levels and HSTD.

Soliciting ideas for gameplay tweaks, as well, other than the 1-2-3 sweep. Meteor is just about perfect as it is, but you never know what great ideas people have. The sweep is hard enough that it's a nice little icing on the cake.

#20 4 years ago
Quoted from tomdotcom:

Prob a dumb question, but is there any way for an Alltek MPU to support a 7 digit display for Meteor or do I need to get a diff board?

Not a dumb question. Alltek told me a couple years ago that they would not release their eprom and that if the board was broken, send it to him for repair since apparently they have a lifetime warranty. They do not support changing their eprom to support different game although of course it can be done, but it voids their warranty. Dave seemed relatively disinterested in pursuing it; at one point he was going to split his product line to have a 'stern' version with the free play roms, and a 'bally' version, but he seems to have dropped this idea. I gave him an idea to save space on his board as well but he didn't implement that either (I assume that his FPGA on the board is for addressing purposes, since there's so much duplication of code on the bally side (same OS roms) that he could pick and choose the roms and only keep one copy in the eprom (the eprom just has all the games concatenated together with much duplication of the OS roms currently).

I recommend that you get the Weebly board, since it does all the same games as Alltek and also adds free play for stern games, and more importantly - has an extra 27512 socket on it so you can put homebrew/custom stuff on it, along with extra Ram and Rom available (for instance, you can use the weebly board out of the box with the right software loaded on to support Oliver Kaegi's extra large Flight 2000 and 9 ball software, as well as homebrew versions of Stars, etc. "and others" that may be coming out..... or Bullseye 301 which needs a special rom mapping to run.). 512 eeproms are really cheap and you have the advantage of not having to buy an eraser to use them.... I just ordered 30 for my development purposes (obviously I have more than one iron in the fire at a time....)

On the plus side, people seem to have no problem selling Alltek boards for about $160-$170, which will cover the cost of Andrew's board

2 weeks later
#23 4 years ago

Revision is up to 74b, added a couple bug fixes, have the unlimited specials as an option, and added in missing attract mode lamps (3 bumper, multipliers, and drop wow's)

If there's no other glaring bugs in the code this is where it's going to sit. There's still almost 100 bytes to add things, but there really isn't anything else I think the game needs.

Best of all, since I tested out a lot of the space saving tricks on this, I can apply those tricks to 9 ball and flight 2000 as well.

#28 4 years ago
Quoted from semicolin:

There was. I believe that this new codebase repairs that issue.
I've already cut the traces on my board to make it compatible with 2732s... but I still have original working mask ROMs. When I have all the parts together in the next few weeks I'm going to rip them, burn them to 2732s, and see if my machine is susceptible to the NVRam bug. Then I'll pop the new codebase in and see if I'm still affected by it.

Yes, the high nvram that affects the sound gets cleared on every boot of the machine. I just managed to get 95 spins so that's exciting

#30 4 years ago
Quoted from semicolin:

So does that mean it's fixed?

It's not messing up in my machine with weebly/nvram. I'm not in a position right now to swap all the other mpu200 boards I have laying around in to check though, but since the fix worked there in previous versions of the game it should work there too.

#32 4 years ago

https://www.twitch.tv/videos/526709030?t=01h46m14s
Video of 6 digit meteor testing, spotted a bug, which is odd because the sweeping code was actually lifted almost verbatim from flight 2000's code.... Ron gets a 25k sweep he shouldn't have.

They also test Big Game's new code at the beginning of the video for people interested in that.

I'll have to do some deep thinking on what caused the bug, but I think it might be along the lines of a missed virtual switch event, which does happen (it shouldn't, ever.....). That happened as well when beta testing the big game software, and it's happened with stock stern software in other games, too.

1 week later
#35 4 years ago

The background sound is really integrated into Meteor, I tried a fix a long time ago that no one including me ever tested which turned out to not work (the background will always come back).

When the software was moved from the native 6 digit to the native 7 digit it actually broke the background sound (still worked, but it had become choppy). So, it might be possible for the 7 digit native base to get rid of the background sound, but not the 6 digit. The background sound seems to be integrated into the actual sound data, and until someone figures out how that actually programs the sb-300, this won't be able to be changed. (The 7 digit base OS has been determined to not be compatible with the sound data, so the code was reverted to the original 6 digit base to fix the choppy background; all the 7 digit stuff was added back in, but it's not 'native' 7 digit (it's actually a /10 setup with hacks to get 7 digits to display.... it's not worth the time and effort to correct a couple display artifacts in test mode, for instance, all the audits are shifted one digit 'up' from the 1's digit (the scores are correct).

There's no counter as to the 'top' sound - the background actually just sends a command to the sound board, and that handles the ramping up of the sound. You'd have to come up with some other way to control the LED strips. (You could track the # of times the ramp up command is sent for this I suppose.... but it rolls over which is also why the sound will reset when it's at that fever pitch....) Maybe if your LED control could be programmed like a frequency display and get brighter as the peak frequency goes up? There's all kinds of spectrum analyzer chip stuff available for audio and probably a bunch of Arduino type controller stuff you could get into to solve that externally.

I bet Stern got complaints way back when about the sound as Galaxy and subsequent games all have a way to turn it off.... most people that don't 'get' Meteor usually complain about the background sound being very annoying.

1 week later
#38 4 years ago
Quoted from dothedoo:

I've been running the 6-digit beta code for a couple weeks now and it's been working great. The only thing I've noticed is that when the ball drains the delay is pretty long before it counts bonus.
Today I made the 7-digit conversion and have started testing. So far so good.

The delay is on purpose, for 2 reasons, first, if the spinner is still spinning, it's waiting for it to time out, so no score will be missed nor get added onto the next player or ball. Secondly, it gives the collect all rockets routines time to finish, to ensure there's no endless bonus countdown bug. The timer that controls this is only activated if either the spinner was spinning, or the ball drained through the outlanes. It could probably be made slightly shorter, but it's not going away.

#41 4 years ago
Quoted from Coyote:

Did find a bug just over the weekend.
If you re-start a game (at least on Ball 3, POSSIBLY ball 2), the Rocket drops are reset, but the METEOR targets aren't. (So if I started ball three with only "R" standing, when I hit the start button to restart the game, because I FUCKING SUCK, then I'll start the next game with only "R" standing.)
In version v74, at least.

;check to see if meteor bank can stay where it is
loadbmem BALLINPLAY
bacomp $01
eqgoto setup_meteor_bank ;always reset the meteor bank on first ball!
loadbmem NUMBERPLAYERS
bacomp $01 ;1 player game?
eqgoto skip_meteor_bank_reset

Here's the code snippet that covers that..... I can't think of why it wouldn't be working. Whenever the ball start routine runs on ball 1, it should always reset the meteor bank. I'll try it on mine tomorrow and see what happens, the code is the same between 6 digit and 7 digit versions for this.

This is consistent? Ball 2 or ball 3 launches and you hit the start button and it will leave the meteor where it was? Does it work sometimes and sometimes it doesn't?

Quoted from dothedoo:

I've been running the 6-digit beta code for a couple weeks now and it's been working great. The only thing I've noticed is that when the ball drains the delay is pretty long before it counts bonus.
Today I made the 7-digit conversion and have started testing. So far so good.

I can possibly change the outhole to check a flag instead on the collect rockets routine to tighten up the timing a bit. I don't like the stern factory fix where they copy part of it to the bottom of the stack - that's exactly the time you DON'T want the stack to risk being overwritten, because anything else that's going on (like the spinner spinning like crazy) is going to add another data silo to the stack, risking overwriting it.

I did err on the side of longer when I wrote that routine for a couple reasons; one, just to make sure it was done, and two, it's also the timeout for the spinner counter, so it gives you a couple seconds to see the spinner count before it goes back to the ball in play.

The collect all rockets code could probably be completed fixed by setting up a separate counter for the rockets instead of counting and scoring it with the pauses like it does now - in machine time counting up to 21 rockets takes no time at all relative to count a rocket, make a sound/score, pause, count the next rocket, etc. - which is why the bug exists in the first place, the countdown bonus routine is using the same locations as the collect rockets (specifically the collect the 2's rockets portion of it).

The more I think about it I think I'll change the timeout on the collect all rockets routine - there's zero reason the last command in that routine can't be "clear the spinner/rocket timer". The spinner, if it's still going, will reset it back up if needed.... which means that the clear would actually be setting it really low instead (so spins aren't lost again).

Once I make those changes (probably tomorrow) I'll ship the code off to Coyote again so he can update the website. I need to come up with better version labels for minor revisions, and some way to convey that on the display (probably in audits), so it can be v74.666 for instance. I guess I could blit the version # on the match display at bootup from 74 to 74, pause, 17, pause, 74, etc. there's no reason that won't work (although might be confusing for people).

I REALLY dislike putting version # on the player displays, I much prefer the factory restore the last scores at bootup.

#43 4 years ago

I just tried it before leaving for work and I couldn't get it to NOT reset.

There's only 2 places in the entire code where the bank resets, (other than solenoid test), once when you get them all down (interestingly, with a shorter period), and once at the start of a ball (unless the modified code determines it shouldn't be reset).

The only way it could really happen is if some other solenoid is firing at the same time - later games check for this and I'm pretty sure meteor does as well, because the programmers liked to do this:

enable_solenoid_0c $14 ;enable solenoid $c for $14 cycles
enable_solenoid_0f $00

0f is a 'dummy' solenoid, so the script actually waits until solenoid c is done completely firing. This would travel across scripts as well, whenever an enable solenoid is issued, it waits until the timer is clear to actually fire the next (unless it's a fast react solenoid, like pops or slings, those just kind of 'thud' if the timeout is too long, understandable, because they fire within an interrupt)

Take some video

#53 4 years ago
Quoted from Coyote:

Related, but only in the fact it's software -
slochar - what is the meaning of the game locking up when you hit the 'reset' button while the game is in the Display Test mode? (And maybe even the Burn-In test, possibly?)

If you mean hitting the 'clear/s33' button, that's a factory bug. I changed it to reboot on flight 2000 and could probably do the same on meteor. It's I believe part of the debugger they used then, it's expecting something at $2000.

Quoted from dothedoo:

I know what you mean. When I first set up 64b, I reset the high score and played a quick game. I set a low high score -- a couple hundred thousand and got 3 replays as expected.
Then I played a 4 player game. One player beat the high score, another player rolled it over and beat the high score the 2nd time around, the other two players were low scoring. At the end of the game, one player matched and I swear I heard 10 knocks. I thought maybe there was a bug with the rollover or something. I tried to recreate it, but never could.

MPU200 sterns don't issue replays again when you roll them they have a flag for each player that tracks when you get the initial score. But they will give you all the HSTD credits you are entitled to.... to get 10 knocks you would have had to beat the hstd 3 times and match once. They compare all the scores, tally up the replays due based on the original saved HSTD, then they determine the highest score to put into the nvram. I think most Ballys do it the same way..... Williams might not have, at least not system 6. If player 1 got the hstd and p2 got HIGHER, it would work, but switched around, p2 would not get their credits.

#55 4 years ago

Of course. And it doesn't have to be $2000 it can be anywhere. I should probably make it do nothing instead of reboot for the game since that 'makes sense' in the context of what that switch is supposed to do.

1 week later
#67 4 years ago

I would have to think about how to implement multiple extra balls. There's some unintended consequences of doing this as you have to be able to handle odd situations and still maintain the shoot again lamp - that's why Split Second has the 'endless' extra ball bug, the add-a-ball isn't handled properly. (And apparently the Lazer Lord prototype has the same thing in reverse, the extra ball doesn't stack at all, and turns off at the next score event after you earn it....)

1 month later
#69 4 years ago

Nothing is unfixable but it might be a 'minor annoyance' - I'll assume in test mode you refer to either the shifting of digits or the 2 walking 8's displayed?

1 month later
#72 3 years ago
Quoted from Coyote:

Another bug noticed and reproducable:
If you get an extra ball on ball 1, ALL targets will still reset, as if it's starting a new game. (Instead of, for example, leaving the METEOR targets alone.)

I did notice that when writing the rom, it's small enough that it's not worth fixing. Basically there would be a lot of duplicated code IIRC.

Quoted from Coyote:

One I'm not sure is a bug or not, but can reproduce:
When all ROCKET bonus reaches 5k, ALL "Extra Ball" lights are lit, EXCEPT for one. This is OPPOSITE what happens when they're at over values - where ONLY one is lit.

That's factory.

Quoted from Coyote:

Maybe at least once per every other game, the game will either: (1) Not count a Rocket drop-target drop, OR (2) See one as dropped when it doesn't. #1 happens a LOT more often. This one may be related to MPU or SDB board issue, as my game will occasionally also just not fire a coil. (Example: Start of a ball? Everything will reset as needed, but the outhole kicker won't even TRY to fire. Hit a rollover or the standup with "Spot Meteor"? The game won't even ATTEMPT to fire the drop release coil.)

That's happened before on mine as well I think it's the technique they were using on solenoids - lots of the subsequent games follow all solenoid firings with a enable_solenoid_0f $00 (or $02) - this way the script stops and WAITS for the prior solenoid (the "real" solenoid) to finish firing before firing the non-existent solenoid $0f. Meteor being the first game didn't have this technique implemented widely.

If you get a single drop bank that doesn't 'complete' when all are down I'd be concerned, but semi-often it seems like one target has it's flag marked as set even when the drop is up after a reset.

Any that are down that aren't scored should be caught as the drop switches are cleared by the background periodic 'clear the drop switches' code when the drop is reprocessed. If the drops' flag is clear, it will score etc. but otherwise, if the drop flag was set, the drop has been scored, this ball, at some point.

2 months later
#75 3 years ago

https://sites.google.com/site/allentownpinball/galaxy-asm/METEOR64A-74A.ZIP?attredirects=0&d=1

The 7 digit version has all 3 file types (2716, 2732, and 27512 for weebly board). The 6 digit version is the 2716 only you combine in a dos window with:

copy /b meteor64a-u1.716 + meteor64a-u2.716 meteor64a-u2.732
copy /b meteor64a-u5.716 + meteor64a-u6.716 meteor64a-u6.732

It's a little confusing because if you know where in memory those chips go, it doesn't seem "correct" to combine them the way they are. (u1=$1000-$17ff, u2=$5000-$57ff, u5=$1800-$1fff, u6=$5800-$5fff). Since the sockets in a 2732 configuration cover X000-X7FF and X800-XFFF, they only switch based on $1xxx $5xxx it makes more sense.

I was using Coyote's website only because I didn't realize I could just upload them to the Allentown pinball site I started years ago - they seem to be happy living there and much more convenient for me to just upload them. You can see I like the minimalist approach to creating websites.

#78 3 years ago

I write batch files to automate much of this with the help of a handy program called 'splits' - assemble the code, run splits to split into chunks, then take those chunks and rename properly to test in pinmame.

If I had to do it manually I probably wouldn't!

https://www.fourmilab.ch/splits/

#81 3 years ago

Stern code doesn't validate chunks like Bally does - although the way Bally does it still wouldn't catch combined roms out of order.

I usually do not recalculate the checksums until the very very end of whatever I'm doing in the code - most are skipped until it's 'done'. Even if the checksum were in there though, it wouldn't catch the out of order - it's a straight sum-up with no carry of all the bytes in all the roms, so as long as the code doesn't go over boundries it would still boot up, but crash as soon as it did.

I combined the files in dos with copy /b u1 + u2 and u5+u6 and generated a SHA1 using HxD:
u1+u2: 5C1769C64394438F50A434E21CDD12FA93D54ECB
u5+u6: 4A16971481AA12F836B6452E438FC36883B23128

If you burn or put other roms in the game you'd know right away if something was up there. Burn stock roms combined the same way and see what you get.

2 months later
#84 3 years ago

New revision for 6 digit, old revisions removed
https://sites.google.com/site/allentownpinball/galaxy-asm/meteor65-75.zip?attredirects=0&d=1

Updated both version numbers to 75. Changes from 64/74 are change clear button in self test no longer crashes system (factory bug, fixed)
Added a check to the sweep timer to prevent awarding sweep bonus when it shouldn't
Added more missing lamps from attract mode to attract mode (enhancement to factory)
Six digit version was using wrong digit for match, corrected

Zip file contains 716, 732 formats for both 6 digit and 7 digit versions, 512 format for 7 digit version only (weebly board)

1 year later
#87 2 years ago

Nope selectable via dip switch free or coin play.

#88 2 years ago

updated link back onto Coyote's site - Allentown pinball site being a google site they don't allow .zip files anymore or at least in my cursory examination of the new site. Latest files will always be here.

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

Promoted items from Pinside Marketplace and Pinside Shops!
From: $ 14.00
Electronics
Third Coast Pinball
 
From: $ 33.00
Gameroom - Decorations
Rocket City Pinball
 
3,000
Machine - For Sale
Kettering, OH
$ 169.00
$ 10.00
$ 100.00
Gameroom - Decorations
The Flipper Room
 
$ 29.00
Boards
RoyGBev Pinball
 
$ 44.00
Boards
PinballReplacementParts
 
From: $ 130.00
Boards
Troxel Repair
 
$ 29.00
Cabinet - Sound/Speakers
RoyGBev Pinball
 
$ 29.00
Boards
RoyGBev Pinball
 
$ 3.00
Cabinet Parts
20eyes
 
$ 12.00
Electronics
Yorktown Arcade Supply
 
Wanted
Machine - Wanted
Middletown, OH
$ 149.95
Boards
Allteksystems
 
$ 25.00
Apparel - Men
Slipstream Mod Shop
 

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/wtd-beta-testers-for-revised-version-of-meteor?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.