Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

LOST VEGAS project update: Spotlight on software (LONG)

0 views
Skip to first unread message

seymour-shabow

unread,
Mar 29, 2010, 12:04:29 PM3/29/10
to
People have been starved for news on the Lost Vegas project - here is
the changelog from the software. Yes, there is a wizard mode. Yes, the
coding is done for it. Only thing left to implement is the sound code,
the Gsound card will hopefully be in beta soon to do so.

There will be 2 versions of the software, one for 6 digit displays (a
/10 rom) and one for true 7 digit displays. The scoring internally is
always 7 digit.

Almost every revision from 16/17 onward had a rom burnt and tested in
the actual machine. (That's when I got a dolly machine to work from)

Enjoy..... pre-order is still open, this project IS moving forward.
Expect some information from CPR soon.

-scott CARGPB#29


;v0.01 switch roughin 6/17/2009 am sc
;
;v0.02 bonus lamp matrix roughin 6/17/2009 pm sc
saucer eject in attract
saucer eject in tilt
;
;v0.03 6/18/2009 am sc
; /10 scoring fixes from trident integrated
BUG:(#1) switch columns non reactive during attract/non-game mode
must make allowances, the game only scans column 1 during attract mode
changed fast react to column 5 (was 2) and adjusted solenoids to
match what dolly reports
this might not be correct though. Need to match up with Hot hand
schematics.
show bonus ladder code write, increase bonus code written
;
;v0.04 6/18/2009 pm sc
fixed fast react code solenoids activated
got scoring running, the most you could add at one shot is 150k.
most switches score
tested bonus ladder display, bonus goes to 45k
changed a couple more solenoids around (outhole, drop bank reset)
changed reset code for drop bank to reflect different spot in matrix
should be able to start a game, targets reset, ball launches,
switches score, dolly standups add bonus
saucer should score and eject
ball in outhole no score should relaunch, resetting drops if down, or
score next ball if score
full 'game' should be playable (no bonus countdown)
BUG: (#2) 1e33 checking for more than 4 players, needs an RTS!! None
around. Bug is in Trident and Hot Hand, too!
;
;v0.05 6/19/2009 am sc
fixed 1e33 bug
collect bonus code written, partially debugged (no multiplier in place)
;
;v0.06 6/19/2009 pm sc
implemented spinner rules, starts @ 10 pts. for 10 spins, 100 pts.
for 20 spins, 1000 pts. for 30 spins,
then 5 spins @1000 ea. + 1 bonus step, resets to 10 for 20 spins,
same progrestion. Can tie to timers.
;
;v0.07 6/20/2009 sc
found a general purpose timer at $16 will implement another based on
this one at $4d after relocating
or eliminating dips 1-8 functions. Eliminate select replay or EB -
make it replay only.
Tested timers, nice long periods now
added timers at $4d, $5a, $5b - 5a is 1/2 of 5b, 4d is 1/2 of 5a, 1/4
of 5b
added code for super spinner (5k/spin), 2x PF scoring, super pops.
Code NOT added to LIGHT these modes!
added bonus multiplier M63 holds multiplier. No rules yet to advance
multiplier, multiplier collects

;v0.08 6/21/2009 sc
standups light lamps
wrote and implemented blink lamp routine
added apron credit indicator code
mode timer written, will count down automatically. Right now for
testing linked to inlanes.
;
;v0.09 6/22/2009 sc
wrote sound routine, will pass data to u11 PB0-PB3 and make CB2 High
wrote sound code self test routine, sounds 1-40
BUG: (#3) mode timer starts for no reason!
Fixed bug - timer was never reset for next player
;
;v0.010 6/23/2009 sc
added multiplier lights, added mode start/complete, carved out
progress memory.
needs testing!
TESTED: Super Spinner lights, blinks. BUG (#4) Doesn't light on next
ball! (was this ever coded??)
TESTED: Countdown Bonus lights, blinks, collects, goes steady. Does
not relight on same ball. Can be relit on next ball.
ROM is starting to get full with no sound, DOLLY rules and no attract
mode. Will have to start whittling down.
;
;v0.011 6/26/2009 sc
added individual lamp test roughin. Works automatically now need to
add code to step.
added code to step. Will add this code to sound test too.
Individual lamp test/sound tests added
used found space ~1386-1517 and moved various OS related subroutines
into this space to save space at top of rom for
attract mode/game coding
;
;v0.012 6/27/2009 sc
changed attract mode script to match Dolly Parton's layout
added digit shift test to displays
changed solenoid test to not flash and stop after testing 1-19
;
;v0.13 7/6/2009 am sc
code has been in a real machine, LSL version
saved a couple bytes of code on multiplier calculation
added clearer documentation to various functions to ease confusion in
coding
BUG: (#5) 2 modes running at the same time complete one, timer shuts
off, but the other mode is still running with no timer
;
;v0.14 7/8/2009 am sc
changed lamp timer delay factor to 2, lamp cycle is too fast
otherwise will evaulate in machine
fixed a coding error in 'displaycompletedmodes' was testing A,
changing it midstream, changed to B instead
added more documentation
added in-game debugger will show flag status of running mode,
qualified mode, completed mode on p2, p3, p4 displays
;
;v0.15 7/9/2009 am sc
expanded in-game debugger to include test modes Dip switch 26 selects
debug modes on/off
debug mode will change rules etc. and temporarily bloat code to
almost twice as much (hope it fits!)
pm sc
Put in machine, 5 timer ticks is about 55 seconds.
BUG: (#6) Super spinner active lamp on PF activates on ball drain -
FIXED syntax error
BUG: (#7) Restarting a game does not erase player's status - FIXED -
was only init at game over!
BUG: (#8) Outlanes light at 3x as expected, but inlanes do not light
at 4x nor do outlanes light after 3x either
FIXED: Changed formula calculating in/outlane lighting
Moved start mode lamp from under saucer to 'shoot again' insert above
flippers
;
;v0.16 7/10/2009 sc
Send ROMS for beta test, solenoids not firing correctly.
;The Outhole will not fire out the ball.
;The left thunder bumper fires the saucer.
;The top thunder bumper does not fire.
;The bottom thunder bumper fires the left thunder bumper.
;The right sling fires the left sling
;The left sling fires top thunder bumper.
;The saucer fires right sling and resets drop targets if no targets are
down.
;If any drop targets are down and ball enters the outhole, it resets the
drop targets but they lock on and you have to turn
;the game off to unlock.
;The five top stand up targets do light up the lights that are in front
of them.
;
;v0.17 7/12/2009 sc
Got full list of solenoids firing from beta test, corrected.
Added solenoid definitions vs. changing all instances, so you can
change at beginning. Will try in actual machine.
;
;v0.18 7/13/2009 am sc
Solenoid definitions seem to be correct, but drop bank never resets
(tries to, but pulse is too short)
After a bit of playtesting, determined that spinner and pops are
tedious to qualify. Will make lone standup spot next
spinner level and reset timer, and rollover lane will spot pops
(added pm)
;
Cut a lot out of original code
;
;v0.19 7/19/2009 sc
Added 'chase' function to attract mode script (essentially a group
function)
Added standups mode, 2x PF scoring mode
Still need timing adjustments on solenoid ejects
Debugged standup code, now works
Changed scoring routine a bit more, to allow instant addition, but
breaks replay thresholds
Debugged standup code again, 'works' again ;)
changed saucer logic to NOT fire if another solenoid is firing,
unless it truly is in the saucer. (unlikely)
;
7/19/2009 sc
Added drop mode, harder to qualify (must get 10 drops down, status
WILL carry over from ball to ball, used new replay+1 to track)
Easier to complete, must get 1-4 down in time limit.
Changed timing on HSTD award to be faster.
Found OS routine for lamps/on off, will use to consolidate my code,
although it does not preserve A, B, or X.
;
;v0.21 7/20/2009 sc
started coding for blackout mode
worked out several bugs in blackout mode, code is bloating will need
to optimize.
bug in score routine, replays not awarding after blackout completed
properly.
FIXED bug. Started optimizing
;
;v0.22-23 7/23/2009 sc
Optimized code, bug in spinner mode, spinner does not advance
properly or turn off lamps properly.
Fixed spinner mode, found bug in blackout mode, fixed (eliminated a
line I shouldn't have!!)
MAJOR BUG: (#9) Game goes to game over, and freezes. Does NOT do
this in pinmame, just real machine.
Revamped memory locations to ensure stack doesn't dip into it.
;
;v0.24-25 7/24/2009 sc
Fixed game over bug, an old sound queue routine was hanging it as I
eliminated the sound routines as they'll be different
in the final machine.
Tweaked settings for spinner timer.
Added status of pops, drops, spins to alternate with ball in play
display. Need some tweaks there so they don't show
after qualifications.
;
;v0.26 7/26/2009 sc
Added 7 digit scoring (onto 7 digit displays) Still several oddities
to work out with this
First 100 points if done in 10's shows leading zero
self test does not work correctly regarding displays, both display
test and others
;
;TO DO: change blink lamps to $210-$21a seems to be a safe area
eliminate setxtoplayer2 (just used for blackout) add a 3rd/4th nibble
for player status along with
replay levels, drop levels, qualified/completed levels (5 nibbles total)
;
;v0.26 7/28/2009 sc
revamped all variables and changed blink lamps to $210-$21a,
eliminating setxtoplayer2 routine.

8/1/2009 sc
added and then removed various display blinking schemes - they just
won't work unless the entire display subsystem is
rewritten
Added status of start 2x PF scoring carryover ball to ball.
;
;v0.27 8/2/2009 sc
Added player up # for multiplayer games to blit routines
corrected status of start 2x pf scoring carryover
Added countdown blinking/collected to player carryover, then fixed it
due to syntax error ;)
;
;v0.28 8/4/2009 sc
Eliminated audit 11 (coins through chute 1, dip 28-30)
Combined audits for other chutes that share the dips (9-13)
Freed up 6 nibbles in high ram ($2f9-$2fe) for usage in 7 digit routine
Moved one's digit control per R.Hoffman bug report, of flashing 0's,
got rid of processing within display hooked routine.
;
BUG: (#10) at some point spinner switch hits increase credits!!
BUG: (#11) Rob reported pop bumper firing reset machine, nothing in
code to suggest this full audit needed for stack usage
BUG: (#12) Start 1 player game, score 3 bonus steps. Add a player.
Drain ball, scores >1x for each bonus step.
;
8/9/2009 sc
Made player blit go continuously until score is made.
Fixed bug 12, changed logic on player start routine.
;
;v0.29 8/10/2009 sc
Worked on some optimizations, sourcing of all remaining stern code to
allow better recompilation
Added DIP 14 - difficulty on modes. Off=conservative, resets
qualifications if you don't complete a mode.
ON=liberal, if you don't complete a mode, leave qualifications on
(might change this to 'complete' instead
as people will stack too many modes up and start them all at once.)
;
8/11/2009 sc
Shaved some cycles out of main loop (7 nop's, 2 cycles each)
optimized much code, moved sections around, gained about 50-60 bytes
eliminated variable attract mode timing.
Added skill shot, hit saucer before any other switch scores 50,000
;
8/13/2009 sc
Changed extra ball award to be after you collect countdown bonus,
next drop standup hit will light extra ball on
inlane. Slings and rebounds change lane EB is lit on.
Optimized more code for cycles and space.
;
8/14/2009 sc
Rewrote more original code to save space, meet needs, able to relocate
(SYSTEM INIT, FAST REACT, MAIN LOOP, GAME START)
Moved data around
As a result of cutting/optimizing missed a couple of hardcoded routines.
;
8/15/2009 sc
Introduced a couple bugs when cutting code down, forgot to start
blackout collect FIXED
Modes stacked with one ending kills timer again. FIXED
Realized while testing that if you're going to take back the score in
blackout, you need to take back the bonus too, added.

8/16/2009 sc
got rid of more attract mode stuff that's sparingly used, added an
automatic e4 delay to grab function
got rid of 'flip' by presetting the data instead of processing it twice
eliminated 120+ bytes from script by these changes, and about 40
bytes from the engine
Noticed an old issue where adding players after starting play on p2
or p3 blanked out the 10's and 100's on p2/p3 etc
FIXED: revamped routine that puts the blanks up and the zeros up for
players. (about 10 bytes bigger though, darn)
BUG: Ball in attract mode saucer causes attract mode to freeze.
FIXED.
BUG: Completing standups in mode in order did not complete mode.
fix in place, needs test. FIXED.
;
8/17/2009 sc
rewrote score code, interupt code to optimize, eliminate original
soundboard code
;
8/18/2009 sc
added a fancy bonus countup-countdown. added a secondary bonus
(thanks Korn) based on 300 points per rebound hit
during the ball (kind of an indicator of ball times)
Need to tweak times.
;
8/19/2009 sc
;v0.31
re-wrote fancy bonus countdown to save romspace.
found an usused x-wide memory location; eliminated the 'set x to
current player' locations! (HUGE cycle savings!)
;
8/26/2009 sc
Changed reset qualified modes to reset spinner if not completed only
as spinner is easy to qualify.
Added code so that if the spinner is spinning when you go in the
saucer, it waits.
8/29/2009 sc
Removed preceding code, too buggy. Saucer will go back to double
clutching which is 100% unacceptable. Will live
with spinner keeping scoring.
Changed spinner qualification levels to make it so you can't get
super spinner qualified with one spin!
Added killblit when you qualify drops, pops, spinner.
;
;v0.32 9/6/2009 sc
Completing a mode awards 20k (drop, pop, spinner, standups) CAN BE
DOUBLED!!!
Completing blackout awards 50k
Added dip switch settings for extra ball instead of replay, extra
ball awards eb/50k, tournament mode
Added more code for drop handling
Corrected ball start lamp effect lighting shoot again in BG
; a added delay for multiple matching (tested and it works)
settable countdown timer 1a for inlane shots
9/7/2009 sc
; b eliminated lampon/lampoff
bug: eliminated too much, took out continuous solenoids!
; c fixed cont. bug new bug, 10k bonus for qualification scores all the
time!
; d fixed qualify scoring bug
new bug: lamp effect ball start not pulling correct data!
; e this was NOT a new bug! It's been in there since at least lv28
freeze! wasn't saving the FROM x register, duh!
Attempt again to put spinner still spinning handling in saucer
switch.....
; f 9/8/2009 sc
Spinner handling now works (yay!) but timeout was WAY too long.
Added CSPINNERTIMEOUT and will tweak.
Started last major consolidation to make compile 'clean'
Works in pinmame, will burn and test in machine
;v0.33 9/9/2009 sc
Tested consolidation in machine, new solenoid test works.
; a removed dip switch test, too much code for little return
added spinner skill shots
added dip setting for testing of blackout - you'll have to complete
spinner mode to qualify blackout (all other modes will light)
9/13/2009 sc
; c removed dip setting after testing (works)
debugged super skill timers
more consolidation, broke something, fixed now
;d 9/16/2009 sc
changed coin ratios to better reflect modern needs
;e 9/18/2009 sc
tweaked spinner saucer timeout a bit.
;
added DOL to spinner skill shot - hitting any of the 3 awards the
skill shot
;
changed spinner skill shot to award 5k per pop
;
add 'hot streak' for inlanes for More Score (tm)
hot streak scores and resets 1a timer started by inlanes (ONLY!)
slings=500 more
pops=2k more
standups=1k more
rebounds=extra rebound towards end of ball bonus, 10 extra points
drops=extra 3k+extra 2 bonus/ENDS HOT STREAK!!
drop standup=20k more (40k total)
no hot streak during blackout
;f 9/19/2009 sc
BUG: Hot streak on drop target endless loop.
FIXED: Because of super skill code for spinner/hot streak, hitting a
drop during hot streak ends hot streak.
Increased hot streak timeout to $d0
;g 9/27/2009 sc
Increased hot streak timers - inlane to $d0, streak to $e0
Eliminated BG lamps for # players, player up to reuse for pops
Added pop lamps, removed from GI, must add wiring for this to work!
Fixed pop lamp complete to 50 instead of 51
;h changed pop cycle to just cycle left-right-bottom instead of last pop off
removed secondary 16 bit timer - does not work correctly in game mode.
removed pop blinking during super pops mode, blink code does not work
up into 21d-21e!
;i 9/28/2009 sc
Moved 16 bit timer to $1e instead of $1c
Added 8 bit timers to $1c, $1d for more timing events (lamp effects
during gameplay)
Moved credits to award to $c instead of $d
$d now holds next lamp effect script event (framework added, not
implemented yet)
bugfix to be tested for 2x PF scoring running, light qualified events
during that mode (i.e. relight start mode during 2x scoring)
;j bugfix complete failure, lights mode start at all times (oops)
bugfix #2 attempt
;k bugfix #3 attempt, other modes that were qualified were restarting.
(complete a mode, other modes reset if you went into saucer)
;l bugfix #4 attempt, modes not restarting, but single mode not ending
if you qualified another during a mode.
;m think the bug MIGHT be fixed.
changed saucer to kill 2x scoring if blackout starting
;
;34 9/29/2009 sc
Cut out blackout stepping back, consolidated some routines
New blackout rule is collect 50k for completing it + 7x multiplier -
does not remove score
9/30/2009 sc
Revamped attract scripting, saving ~$AA bytes but eliminating
flexibility in attract mode
Rewrote replay levels, still have to use that part of blackout
stepback (darn, that was another 50 bytes.....)
10/1/2009 sc
Rewrote first digit handling routine - went smaller but up in cycles,
changed to slightly smaller, DOWN in cycles.
Rewrote various other bit shifting routines using ADDx instead of LSx
(cycle savings/couple of bytes)
Changed adda routines back, due to a major flaw in my math ;)
Combed through more pages of code for hand-optimizations. (cycle/space)
Bug in blackout (#26) - left higher scoring in place if you timed
mode out! (fixed in A)
;a fixed bug #26
10/2/2009 sc
;b Continued combing through code, found several more speed optimizations.
Revamped chase in attract to eliminate script level - script level is
2 bytes for chase, and so is the data.
Used the data itself as the script level!
Found a lot of dangling code leftover from when crazy hack hooks
being used. Eliminated.
Cleaned up whitespace in code and started eliminating old cuts.
;c error in routine caused no modes to qualify
;d fixed
10/3/2009 sc
;e changed blackout flag back to m5d
new attract script frees up space in 5101 to store lamp matrix events
10/4/2009 sc
cycle optimizations any 'bra' changed to 'jmp' in gameplay, left in
self-test, bootup code/non gameplay (i.e. lamp effect ball start)
;f 10/5/2009 sc
changed sound trigger to load A instead of x w/ lookup table uses $12
for storage location
shaved yet more cycles out of main loop (although added some more
code, eliminated a couple bsr and jsr's)
;g 10/6/2009 sc
added bonus ladder animation (only) just for concept - will modify if
it works out well
;h 10/10/2009 sc
Code for animation worked but I DESPISE the way it 'plays'. Removing!
Added test for the super spinner - if you don't get any spins, it
won't reset it (even if you have it set to conservative)
;
;35 3-29-2010
Added code to 'carry over' status on pop mode that you do not complete.
Carries over decade of pops completed (i.e. you restart with
0,10,20,30 or 40 as a 'head start')
;

Adam Becker

unread,
Mar 29, 2010, 12:26:07 PM3/29/10
to
Very Cool, thanks for that Scott it's nice to see some of the insides
of this project, I know I'm looking forward to it's completion!.

Adam

Eric

unread,
Mar 31, 2010, 6:55:22 AM3/31/10
to
Yes, as a DP/LV wannabe I appreciate the update. I don't understand
half of that but know that's a ton of hours of work there. Rule set
looks like it has a bunch of features. Thanks,

Eric

EricPinball

unread,
Apr 1, 2010, 1:21:57 PM4/1/10
to

Great news.
Hope to have soom some pictures of playfield and cabinet.

Regards

Eric

http://ericpinball.be

0 new messages