Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: Continue plugin v0.19 (Defender and Scramble added)  (Read 4432 times)

0 Members and 1 Guest are viewing this topic.

10yard

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 138
  • Last login:Today at 05:49:24 pm
  • L BREAK into program
    • DKAFE Frontend
Continue plugin v0.19 (Defender and Scramble added)
« on: March 10, 2022, 05:56:54 am »
I have developed a "continue" plugin for MAME.  The plugin adds a continue feature to the following arcade games.

  • Pac-Man
  • Ms.Pac-Man
  • Galaga
  • Galaxians
  • Frogger
  • Q*bert
  • Robotron
  • Sinistar
  • Donkey Kong
  • Donkey Kong Junior
  • Missile Command
  • Defender
  • Scramble
  • Centipede
  • Berzerk
  • Space Invaders
  • Crazy Climber
  • Battlezone
  • Asteroids

Other variants of these games are also supported including Pac-Man Plus, Super Galaxians, Super Missile Attack, Moon Alien, DK II Jumpman Returns and the DK remix editions.  Pac-Man, Ms.Pac-Man and Galaga Speed Up Hacks.

A continue option will appear before your game is over with a 10 second countdown timer. Simply push the P1 Start button to continue your game and your score will be reset.

A tally of the number of continues made will appear on screen.





I would like to add support for more classic games. Does anyone have any requests?

You can get the plugin from my github releases page at https://github.com/10yard/continue/releases

To install,  you simply extract the continue folder from the ZIP and copy it over to your MAME plugins folder.

The plugin is run by adding "-plugin continue" to your MAME arguments e.g.

Code: [Select]
mame mspacman -plugin continue
or you can enable the plugin in your MAME ini configuration.  Then it will just work automatically for all roms that are supported.


More information at https://github.com/10yard/continue

Jon
« Last Edit: April 09, 2022, 04:41:05 am by 10yard »
Check out my Donkey Kong Arcade Frontend at https://github.com/10yard/dkafe#readme


10yard

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 138
  • Last login:Today at 05:49:24 pm
  • L BREAK into program
    • DKAFE Frontend
Re: Continue plugin v0.1
« Reply #1 on: March 11, 2022, 08:11:14 am »
I have now added support for Galaga and my original post was updated.  This was taxing to get working.  The Galaga ROM disassembly resources were not great so I had to dig into the MAME debugger and trial and error to figure out most things for myself.  Anyway,  this gives me confidence to tackle other classic roms if there is any demand.


Check out my Donkey Kong Arcade Frontend at https://github.com/10yard/dkafe#readme


meyer980

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 385
  • Last login:March 29, 2024, 04:00:11 pm
  • Building fun things for fun
    • sergiostuff.com/2020/04/15/felix-son-arcade-game/
    • Sergio Stuff
Re: Continue plugin v0.1
« Reply #2 on: March 11, 2022, 11:07:41 am »
Hey 10Yard, I just want to say it's been amazing seeing your work. Not all of it interests me specifically but I'm still more than impressed. I always look forward to seeing what you do next.


10yard

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 138
  • Last login:Today at 05:49:24 pm
  • L BREAK into program
    • DKAFE Frontend
Re: Continue plugin v0.1
« Reply #3 on: March 11, 2022, 11:44:48 am »
Hey 10Yard, I just want to say it's been amazing seeing your work. Not all of it interests me specifically but I'm still more than impressed. I always look forward to seeing what you do next.
Thanks man :cheers:  Little projects like this force me to learn and give me focus.  The skill of those original rom and hardware developers was off the scale considering the tools that were available back in 1980.  It's been fun taking a look behind the screen.
Check out my Donkey Kong Arcade Frontend at https://github.com/10yard/dkafe#readme


millercentral

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 99
  • Last login:March 07, 2024, 04:38:47 pm
  • I want to build my own arcade controls!
Re: Continue plugin v0.1
« Reply #4 on: March 11, 2022, 06:19:33 pm »
Can't wait to try this out when I get home! Does it support clones as well (for example the "faster" hacks of Pac-Man, Ms. Pac-Man, Galaga)? Does it work with 2P sessions? My wishlist of additional games would be:

- Frogger
- Robotron
- Qbert

abispac

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1525
  • Last login:April 17, 2024, 04:59:22 pm
Re: Continue plugin v0.1
« Reply #5 on: March 12, 2022, 12:10:12 am »
please,do robotron and sinistar.

10yard

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 138
  • Last login:Today at 05:49:24 pm
  • L BREAK into program
    • DKAFE Frontend
Re: Continue plugin v0.12
« Reply #6 on: March 12, 2022, 12:21:19 pm »
Can't wait to try this out when I get home! Does it support clones as well (for example the "faster" hacks of Pac-Man, Ms. Pac-Man, Galaga)? Does it work with 2P sessions? My wishlist of additional games would be:

- Frogger
- Robotron
- Qbert
Yes,  it now supports the speed up hacks for Pac-Man, Ms.Pac-Man and Galaga (fast-shooting).   I maintain a table with a hard-coded list of the supported roms.  I simply  added the following entries.  Tested and working.  You will need to grab the latest version of the plugin (v0.12).  Thanks for bringing it to my attention  :cheers:.

mspacmnf 
pacmanf
galagamf

It will likely support other hacks and clones based on the currently working roms.

Space Invaders is mostly working now too.  I just need to clean up some of the sprite redraws.

I will add Frogger, Robotron and Qbert to my requests list.

Jon
« Last Edit: March 13, 2022, 06:14:49 pm by 10yard »
Check out my Donkey Kong Arcade Frontend at https://github.com/10yard/dkafe#readme


10yard

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 138
  • Last login:Today at 05:49:24 pm
  • L BREAK into program
    • DKAFE Frontend
Re: Continue plugin v0.12
« Reply #7 on: March 12, 2022, 12:25:38 pm »
please,do robotron and sinistar.
Robotron and Sinistar are added to my requests list.  Thanks.  I'm not making any promises but I will at least take a look and give them a go.

Jon
« Last Edit: March 13, 2022, 06:15:04 pm by 10yard »
Check out my Donkey Kong Arcade Frontend at https://github.com/10yard/dkafe#readme


10yard

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 138
  • Last login:Today at 05:49:24 pm
  • L BREAK into program
    • DKAFE Frontend
Re: Continue plugin v0.13
« Reply #8 on: March 13, 2022, 06:09:48 pm »
Does it work with 2P sessions? My wishlist of additional games would be:

- Frogger
- Robotron
- Qbert
The plugin does not currently support 2P sessions.

"Frogger" was added today.  I figured out everything using the MAME debugger.  I may document the process for reference as the techniques used for Frogger would apply to other roms. 
« Last Edit: March 13, 2022, 06:14:26 pm by 10yard »
Check out my Donkey Kong Arcade Frontend at https://github.com/10yard/dkafe#readme


10yard

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 138
  • Last login:Today at 05:49:24 pm
  • L BREAK into program
    • DKAFE Frontend
Re: Continue plugin v0.14
« Reply #9 on: March 16, 2022, 03:57:05 pm »
please,do robotron and sinistar.

My wishlist of additional games would be:

- Frogger
- Robotron
- Qbert

Robotron is now supported.



Tested with these Robotron roms:

- Solid Blue Label (robotron)
- 2015 Tie-Die (robotrontd)
- 1987 shoot-in-the corner fix (robotron87)
- Wave 201 Start Hack (robotron12)

« Last Edit: March 16, 2022, 04:11:44 pm by 10yard »
Check out my Donkey Kong Arcade Frontend at https://github.com/10yard/dkafe#readme


millercentral

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 99
  • Last login:March 07, 2024, 04:38:47 pm
  • I want to build my own arcade controls!
Re: Continue plugin v0.14 (Robotron added)
« Reply #10 on: March 18, 2022, 11:02:06 pm »
This is working great - thank you for your work on this!

I'm assuming the answer to this is no, but is there any way to have the message display from the plugin be affected by the shaders running on the game? It looks a little bit unnatural on top of the screen when scanlines are on the screen but not the text/timer. This is a very minor nit pick - the plugin is awesome.

10yard

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 138
  • Last login:Today at 05:49:24 pm
  • L BREAK into program
    • DKAFE Frontend
Re: Continue plugin v0.14 (Robotron added)
« Reply #11 on: March 19, 2022, 04:14:10 pm »
This is working great - thank you for your work on this!
I’m really pleased to hear this 🍻

I'm assuming the answer to this is no, but is there any way to have the message display from the plugin be affected by the shaders running on the game? It looks a little bit unnatural on top of the screen when scanlines are on the screen but not the text/timer. This is a very minor nit pick - the plugin is awesome.
It’s a generic message and countdown timer overlayed (as pixels) after the frame is drawn.  I hadn’t considered shaders and the current solution does not support them.  An option would be for me to instead write to the video ram of the machine being emulated. The modified frame would then get processed by the shaders.  It gets complicated because I’d have to deal with the many different implementations of video ram and character sets.  I’ll give it some thought.  Firstly,  I will contact MAME to see if they can help resolve this issue - by picking up the LUA/Plug-in frame before applying shaders.

Jon
Check out my Donkey Kong Arcade Frontend at https://github.com/10yard/dkafe#readme


Xiaou2

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4098
  • Last login:November 12, 2023, 05:41:19 pm
  • NOM NOM NOM
Re: Continue plugin v0.12
« Reply #12 on: March 20, 2022, 05:34:32 am »
please,do robotron and sinistar.
Robotron and Sinistar are added to my requests list.  Thanks.  I'm not making any promises but I will at least take a look and give them a go.

Jon

 I personally do not understand why anyone would want a Continue on these treasured classics.  They are meant to be
hard as balls... to create a real challenge and sense of accomplishment, when you Earn the skills to get to higher levels.

 However, as another has said... I really appreciate the skill it takes to do things like this.

 I think a much more cool thing to do...

 1)  Modify Sinistar's Difficulty.

  According to the original Devs... they made a perfectly balanced game rom set... but management had made them change
the difficulty, due to the fact that arcade owners complained if the play-time was too long.   The "perfect" rom was either misplaced
or is in someones storage unit.  Possibly lost forever.  (all info according to how I remember hearing it)

 Maybe a few emails to the original Devs could be made, to figure out what changes were made, and thus, the best way to revert them.

 Many arcade classics are very challenging... but they are also still very Fair about your chances, as long as you have the skills.
Sinistar is different, in that its virtually impossible, past a certain level, for a player to survive... no matter how good they are.

 There are some tricks to keep alive longer, which I can try to post later.  But these tricks only work long enough to get you to
a certain level... and then the timing and methods fail to work any longer after that... due to how much faster the enemies attack,
and the reduced time for Sinistar to be fully built...etc.


 Simply adding a Continue to Sinistar isnt going to do much to help... because the games difficulty will still be unplayable at
a certain stage.


 2)  Spy Hunter - Flight Mod

 According to one of the Devs...  the plan was that they were going to add in way to fly a Jet plane ... or maybe it was a helicopter ?
But they ran out of time... and so it was scrapped.   It would be interesting to speak to the Devs on how they envisioned the gameplay
while flying... and if it could be created and added to the original hardware.

 The game is basically Flawless, IMO.  But having another layer of depth, is just more icing on the cake.  : )


 3)  Marble Madness - Level Editor

 Its probably a very tall order... but for someone to be able to create a MM level editor, would be epic.
The game is cool... but its way too short.

 4)  Out Run 3D  (Stereographic)

 Theres a man behind "Cannonball",   a Disassembly and port of Outrun, with enhancements.

 However, Ive wondered how difficult it might be to change the simulated sprite 3d... into actual stereocopic 3d,
like the racing game  "F1 Circus 3D"  (whos 3d effects are incredible).

 Most of the sprites already should have a Z depth.  However, the processing power, and alternating the
display.. may be the main issue.

 To solve that... Ive wondered if  one were to use emulation of TWO Outrun boards... could it be accomplished?

 - Each board would be displaying their own images, with sync to the LCD shutter glasses timings

 - Each board would be synced to each other, so that they operated at the exact same time.  The differences
would be, that each boards sprite drawing positions, would be different, to reflect the correct stereo positionings.

 - Since you are now using dual boards... one might also add in the possibility of true 4 channel surround sound.
Two front speakers, and Two rear speakers..  to better simulate passing car sounds, as well as the possibility of
enhanced music clarity,  depth effects,  and panning effects.

 - Enhanced Motion Feedback support:

 There are two main Outrun models.  The Standup, and Sitdown:

 - The Standup cabinet has a steering wheel that moves side to side, via a one-direction spinning motor,
that drives a piston, which moves the entire steering wheel controllers base.

 Its violent, and awesomely realistic,  as the entire wheel moves about One inch of travel, back and forth.


 - The Sitdown cabinet,  however... has a dual direction motor, that drives a huge worm gear.. that causes the
entire cabinet to bank to the left of right.  This effect is great too... though,  its a bit slow, and struggles to
match the on-screen action.

 Anyway... it would be great if one of the boards could drive a different motor,  so that a cabinet could be made
to tilt back and forth... to simulate the hills that you drive up and down... matching the hills approximated angles.

 Basically, using the same feedback system as Afterburner 2 Sitdown.  Maybe the ability to use the AB cabinet, as is.
(with a steering wheel and gear shifter controller swap)


 I have no idea how the programmers did things on the Nintendo 3DS version  (and Ive never had the pleasure of
seeing and playing that one) .. but from my experience with Stereo 3D... for the best depth effects.. you
really need as large of a display as possible.   The larger the screen.. the more the objects are able to Pop out of
the screen... rather than simply being deep into the screen.

 This is why Imax 3d movie screens are like 60 ft tall, with seats that are much closer to the screen, via use of
steep stadium seating, and less overall seats.   This allows images to be able to come out of the screen, as
close as maybe 7 ft away from you... at life-size scale.

 Meanwhile, my former Sega Master systems 3d effects, with Missile Defense 3D... allowed the missies to pop
out like only 3 inches from my tiny 15" commodore CRT monitor.

 The key here, is that one could use a 3D projector, or a large display panel... to have quite a different level
of 3D depth effects.

 That said... the F1 Circus 3D game was is astounding in its stereo 3d effects.  Most of the depth was drawn
into the screen.. but,  every like 30 seconds or so.. you would have various car parts flying out of the screen.
 As well as 3d smoke trails sprites, that would also pop out of the screen.  And when you crash... the tires and
spoiler wing, fly out of the screen too.

 Because they planned using smaller parts to pop out of the screen... that allowed them to make
these sprites pop out much further than if they had used larger objects.  (as separation can be much further
apart, without going off either screen,  thus no illusion destroying border "cut-off").

 A similar thing might be able to be down in Outrun, when the car crashes at high speeds.  The car could
be made to fly out of the screen at a much further distance than the rest of the objects + road.

 The Tire-Smoke trails could be re-drawn similar to how Afterburner II works with Missiles.. popping out.
 If someone with good art skills are involved.. actual car parts could also be made to also fly out.

 Bits of Sand, Grass, Gravel, could be kicked out of the screen, when the car is off-road.


 Probably all way too much to ask of a single developer... with potential exception of modifying
Sinistars Difficulty curves.  But a guy can dream  ;)

10yard

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 138
  • Last login:Today at 05:49:24 pm
  • L BREAK into program
    • DKAFE Frontend
Re: Continue plugin v0.14 (Robotron added)
« Reply #13 on: March 21, 2022, 05:41:02 am »
please,do robotron and sinistar.
Robotron and Sinistar are added to my requests list.  Thanks.  I'm not making any promises but I will at least take a look and give them a go.

Jon

 I personally do not understand why anyone would want a Continue on these treasured classics.  They are meant to be
hard as balls... to create a real challenge and sense of accomplishment, when you Earn the skills to get to higher levels.

 However, as another has said... I really appreciate the skill it takes to do things like this.

 I think a much more cool thing to do...

 1)  Modify Sinistar's Difficulty.

  According to the original Devs... they made a perfectly balanced game rom set... but management had made them change
the difficulty, due to the fact that arcade owners complained if the play-time was too long.   The "perfect" rom was either misplaced
or is in someones storage unit.  Possibly lost forever.  (all info according to how I remember hearing it)

 Maybe a few emails to the original Devs could be made, to figure out what changes were made, and thus, the best way to revert them.

 Many arcade classics are very challenging... but they are also still very Fair about your chances, as long as you have the skills.
Sinistar is different, in that its virtually impossible, past a certain level, for a player to survive... no matter how good they are.

 There are some tricks to keep alive longer, which I can try to post later.  But these tricks only work long enough to get you to
a certain level... and then the timing and methods fail to work any longer after that... due to how much faster the enemies attack,
and the reduced time for Sinistar to be fully built...etc.


 Simply adding a Continue to Sinistar isnt going to do much to help... because the games difficulty will still be unplayable at
a certain stage.


 2)  Spy Hunter - Flight Mod

 According to one of the Devs...  the plan was that they were going to add in way to fly a Jet plane ... or maybe it was a helicopter ?
But they ran out of time... and so it was scrapped.   It would be interesting to speak to the Devs on how they envisioned the gameplay
while flying... and if it could be created and added to the original hardware.

 The game is basically Flawless, IMO.  But having another layer of depth, is just more icing on the cake.  : )


 3)  Marble Madness - Level Editor

 Its probably a very tall order... but for someone to be able to create a MM level editor, would be epic.
The game is cool... but its way too short.

 4)  Out Run 3D  (Stereographic)

 Theres a man behind "Cannonball",   a Disassembly and port of Outrun, with enhancements.

 However, Ive wondered how difficult it might be to change the simulated sprite 3d... into actual stereocopic 3d,
like the racing game  "F1 Circus 3D"  (whos 3d effects are incredible).

 Most of the sprites already should have a Z depth.  However, the processing power, and alternating the
display.. may be the main issue.

 To solve that... Ive wondered if  one were to use emulation of TWO Outrun boards... could it be accomplished?

 - Each board would be displaying their own images, with sync to the LCD shutter glasses timings

 - Each board would be synced to each other, so that they operated at the exact same time.  The differences
would be, that each boards sprite drawing positions, would be different, to reflect the correct stereo positionings.

 - Since you are now using dual boards... one might also add in the possibility of true 4 channel surround sound.
Two front speakers, and Two rear speakers..  to better simulate passing car sounds, as well as the possibility of
enhanced music clarity,  depth effects,  and panning effects.

 - Enhanced Motion Feedback support:

 There are two main Outrun models.  The Standup, and Sitdown:

 - The Standup cabinet has a steering wheel that moves side to side, via a one-direction spinning motor,
that drives a piston, which moves the entire steering wheel controllers base.

 Its violent, and awesomely realistic,  as the entire wheel moves about One inch of travel, back and forth.


 - The Sitdown cabinet,  however... has a dual direction motor, that drives a huge worm gear.. that causes the
entire cabinet to bank to the left of right.  This effect is great too... though,  its a bit slow, and struggles to
match the on-screen action.

 Anyway... it would be great if one of the boards could drive a different motor,  so that a cabinet could be made
to tilt back and forth... to simulate the hills that you drive up and down... matching the hills approximated angles.

 Basically, using the same feedback system as Afterburner 2 Sitdown.  Maybe the ability to use the AB cabinet, as is.
(with a steering wheel and gear shifter controller swap)


 I have no idea how the programmers did things on the Nintendo 3DS version  (and Ive never had the pleasure of
seeing and playing that one) .. but from my experience with Stereo 3D... for the best depth effects.. you
really need as large of a display as possible.   The larger the screen.. the more the objects are able to Pop out of
the screen... rather than simply being deep into the screen.

 This is why Imax 3d movie screens are like 60 ft tall, with seats that are much closer to the screen, via use of
steep stadium seating, and less overall seats.   This allows images to be able to come out of the screen, as
close as maybe 7 ft away from you... at life-size scale.

 Meanwhile, my former Sega Master systems 3d effects, with Missile Defense 3D... allowed the missies to pop
out like only 3 inches from my tiny 15" commodore CRT monitor.

 The key here, is that one could use a 3D projector, or a large display panel... to have quite a different level
of 3D depth effects.

 That said... the F1 Circus 3D game was is astounding in its stereo 3d effects.  Most of the depth was drawn
into the screen.. but,  every like 30 seconds or so.. you would have various car parts flying out of the screen.
 As well as 3d smoke trails sprites, that would also pop out of the screen.  And when you crash... the tires and
spoiler wing, fly out of the screen too.

 Because they planned using smaller parts to pop out of the screen... that allowed them to make
these sprites pop out much further than if they had used larger objects.  (as separation can be much further
apart, without going off either screen,  thus no illusion destroying border "cut-off").

 A similar thing might be able to be down in Outrun, when the car crashes at high speeds.  The car could
be made to fly out of the screen at a much further distance than the rest of the objects + road.

 The Tire-Smoke trails could be re-drawn similar to how Afterburner II works with Missiles.. popping out.
 If someone with good art skills are involved.. actual car parts could also be made to also fly out.

 Bits of Sand, Grass, Gravel, could be kicked out of the screen, when the car is off-road.


 Probably all way too much to ask of a single developer... with potential exception of modifying
Sinistars Difficulty curves.  But a guy can dream  ;)

Hey Xiaou2, thanks for your suggestions.

This is a pet project driven by my interest in learning about classic arcade systems and their implementation.  It has been interesting and very challenging at times.  I am enjoying the journey, disassembly, debugging, testing, and the focus that it brings.  I appreciate that this plugin will not be for everyone.

From your proposed "Cool things to do" list,  I would be most interested in looking into Sinistar's difficulty curves.  There is information about the "perfect" version and subsequent revisions on this site - http://www.schoenke.com/tyler/sinistar/revisions/revision_perfect.html 
Maybe I will take a deeper dive into Sinistar whilst I am working on the continue feature for it.
Check out my Donkey Kong Arcade Frontend at https://github.com/10yard/dkafe#readme


haynor666

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1471
  • Last login:April 17, 2024, 02:58:00 am
  • retro maniac
Re: Continue plugin v0.14 (Robotron added)
« Reply #14 on: March 21, 2022, 04:26:44 pm »
Very interesting plugin, thanks for all your work :)

10yard

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 138
  • Last login:Today at 05:49:24 pm
  • L BREAK into program
    • DKAFE Frontend
Re: Continue plugin v0.14 (Robotron added)
« Reply #15 on: March 21, 2022, 05:47:53 pm »
Very interesting plugin, thanks for all your work :)

 :cheers:  :cheers:
Check out my Donkey Kong Arcade Frontend at https://github.com/10yard/dkafe#readme


10yard

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 138
  • Last login:Today at 05:49:24 pm
  • L BREAK into program
    • DKAFE Frontend
Re: Continue plugin v0.15 (Q*bert and Missile Command added)
« Reply #16 on: March 22, 2022, 12:47:43 pm »
Q*bert and Missile Command are now supported by the plugin. 



I found interesting glitches in the logic of Q*bert that I had to workaround.  The remaining player lives sprites which appear to the left of screen are gradually removed by a band of vertical spaces which increase in length after each death.  If the length is not reset then the black band continues to eat into the screen making a right old mess.  The band was visible after 10 deaths and the player score was corrupted after about 20 deaths.  Resetting was possible once I had figured out what was going on.



The Super Missile Attack conversion of Missile Command was tested and is working too.

My original post was updated.

Jon
« Last Edit: March 24, 2022, 04:46:45 pm by 10yard »
Check out my Donkey Kong Arcade Frontend at https://github.com/10yard/dkafe#readme


10yard

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 138
  • Last login:Today at 05:49:24 pm
  • L BREAK into program
    • DKAFE Frontend
Re: Continue plugin v0.17 (Centipede, Berzerk, Battlezone added)
« Reply #17 on: March 25, 2022, 11:31:43 am »
- Centipede
- Berzerk
- Battlezone

are now supported by the plugin.



I'm currently working on Sinistar.

Any other requests?
Check out my Donkey Kong Arcade Frontend at https://github.com/10yard/dkafe#readme


10yard

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 138
  • Last login:Today at 05:49:24 pm
  • L BREAK into program
    • DKAFE Frontend
Re: Continue plugin v0.18
« Reply #18 on: March 31, 2022, 08:42:19 am »
please,do robotron and sinistar.

Sinistar was added!
Man,  Sinistar is a fantastic game!  I have learned so much about it over the past few weeks.
It was a big technical challenge to figure out this games logic and to get the plugin working.  It has been one of the most difficult tasks that I have ever undertaken.  There was not a rom disassembly available BUT surprisingly,  I was able to locate the programs source code at https://github.com/historicalsource/sinistar

The plugin allows you to continue after losing your last life and will reset your score.  The sinibombs are retained!  I figure hoarding sinibombs will help you take on the more difficult later levels.



1)  Modify Sinistar's Difficulty.

  According to the original Devs... they made a perfectly balanced game rom set... but management had made them change
the difficulty, due to the fact that arcade owners complained if the play-time was too long.   The "perfect" rom was either misplaced
or is in someones storage unit.  Possibly lost forever.  (all info according to how I remember hearing it)

 Maybe a few emails to the original Devs could be made, to figure out what changes were made, and thus, the best way to revert them.

 Many arcade classics are very challenging... but they are also still very Fair about your chances, as long as you have the skills.
Sinistar is different, in that its virtually impossible, past a certain level, for a player to survive... no matter how good they are.

 There are some tricks to keep alive longer, which I can try to post later.  But these tricks only work long enough to get you to
a certain level... and then the timing and methods fail to work any longer after that... due to how much faster the enemies attack,
and the reduced time for Sinistar to be fully built...etc.


 Simply adding a Continue to Sinistar isnt going to do much to help... because the games difficulty will still be unplayable at
a certain stage.

The Sinistar program source (linked above) relates to developer version V17 and includes reference to previous changes going back to V11.  V11 seems to be the last iteration of the "PERFECT" label put together by the developers before it was changed to "AMOA" label - refer to Sinistar revisions chart at http://www.schoenke.com/tyler/sinistar/revisions/sinistar_revisions.htm.  It "may" be possible to figure out how to revert back the difficulty curves.
« Last Edit: March 31, 2022, 03:07:14 pm by 10yard »
Check out my Donkey Kong Arcade Frontend at https://github.com/10yard/dkafe#readme


Xiaou2

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4098
  • Last login:November 12, 2023, 05:41:19 pm
  • NOM NOM NOM
Re: Continue plugin v0.18 (Sinistar added)
« Reply #19 on: April 05, 2022, 02:32:21 pm »
If you can do that... you will be considered a G0D,  to the entire Retrogaming community.


 I found one of my Posts, regarding Playing tips on Sinistar:

TIPS:   

1) Some of the Asteroids carry many more Crystals than others.  If you are noticing that very few are shaking out... its better to find another asteroid to mine instead.

2) Learn to be able to move the stick very small amounts, to prevent over-shooting the crystals.  The joysticks rubber might be old and worn... causing the resistance to be too soft / weak.  I believe some people make replica replacements.   I believe you can actually turn the ship to face any direction, without actually moving, if you have precise control.

3) Try to find close groupings of asteroids. (look at the scanner map)  This allows you to quickly go from one rock to the next, especially if one of them isnt paying out well.  You can also use the other rocks as cover from the enemies.  And... if you were in the center of some rocks, crystals that would otherwise fly far away.. might get bounced back, when hitting one of the nearby rocks.

4)  Try not to fight the general Enemies, unless you absolutely have to.  Focus on mining, unless a Warrior (Tank) comes into play... as they can end up blowing you up.

5) Try not to travel long distances to find Asteroids, or to Chase an Escaping enemy.  The more time you are not mining... the more time that the enemies have to build Sinistar.

6) It does not take the maximum load of Sinibombs, to kill Sinistar... BUT... you want your Sinibombs to be stocked Full.  If you have Siniboms left after defeating him... it will give you a HUGE head-start on the next level  (where you will have far less time, and far more difficulty, to collect the bare minimal)

7) When you use Sinibombs, make sure that Sinistar is fairly Close to you... as otherwise the bombs might end up hitting one of the asteroids / enemies, instead of him.   This will help keep as many Sinibombs as possible, for the next level.   Release them at a fairly slow pace, rather than rapid-firing them all at once.

8 ) Keep an Eye on the Radar when Sinistar is built.. to try to make sure that he doesnt run right into you.

9) You can find the location where Sinistar is being built... and shoot bombs at it, before its even completed.  This can help delay the build.. however,  this strategy can often fail,  as they can often build him back faster than you can mine for more bombs.   Being well stocked, or completely full.. before attempting this, is better than trying this with minimal bombs in reserve.

10)  Sinibombs have Auto-Tracking, so its possible that you can fire a bomb from quite far away... and it will still eventually hit Sinistar.  This could help or hinder you... depending on if the bombs fail to land.

 If your Sinibomb cache is Full.. you can Mine a rock to make some crystals float away from it... Then shoot some of your Sinibombs right afterwards (Long Distance / Offscreen).  These should home in on Sinistar... and while thats taking place... quickly scoop up the on-screen crystals that are still floating,  so that you replenish the bombs you just fired off.

 Basically, you are pre-replacing the bombs as you are shooting, allowing you to do damages, and still maintain a full Sinibomb cache.

11)  You can use the Asteroids to help block Sinistar.. as they will get in between you and him, as well as may slow him down a bit.   However, if you shoot a Sinibomb.. you have to be careful as they may hit the asteroids instead of him.


If you want to play this remotely well on a PC... use a large analog flight stick.  A Gamepads mini-analog sticks will be too hard to accurately control the speed and direction.  The longer handle of a flight stick, gives you better leverage and thus control.. of the ship.  Never use a digital joystick / joypad... that is completely Futile.

 Some non arcade versions of Sinistar, have Artificial acceleration / deceleration algorithms, to better handle Digital controls.  However, that still does not make them that much more playable.


 Sinistar's 49 way controller, has some very unique qualities:

 1)  Unlike a typical analog stick... which has to be programmed with a decent sized "dead-zone" in the center, (due to the way its centering springs work)... the 49 way has virtually no dead-zone.  The slightest of touch, starts the ship pointing or moving, in the direction you pushed.

2)  The analog control you get from this 49 way stick... is about 10x more accurate than any other Analog controller.  Part of this is due to the "X-Shaped" rubber-spring mechanism that is used.  The further you get away from the center of the stick... the more resistance you will be given.  The x shape multiplies the forces greatly...  as you are always fighting against at least 3 other legs of the rubber X.  This makes it very easy to stay in the center of the stick... without accidentally sliding to the furthest edges.

 With a typical metal spring return system... you have a certain amount of force needed to escape the center... and once that level of pressure is achieved... it takes the same amount of force to move from just beyond the center... to the furthest edges.  This makes it very easy to accidentally over-shoot your intended stopping position.

 With the X-Shaped rubber spring system... you have almost no resistance in the very center... but the more you move away from the center... it gets progressively harder and harder... requiring more and more force to be applied.

3)  As a result of the player having far greater precision in speed and directional control... the game programmers were able to allow the player to have a much greater RANGE of speeds.   The ship can barely move.. and then immediately reach mach 10.. in an mere instant.   With typical modern analog stick games.., the programmer has to reduce the range of speeds... because of the players lack of ability to control the ship with decent accuracy.

Part 2:

I forgot to add, even though its probably apparent..  that if your Sinibombs are Full.. you can Mine a rock to make some crystals float away from it... Then shoot some of your Sinibombs right afterwards.  These should home in on Sinistar, and while thats taking place... quickly scoop up the on-screen crystals that are still floating.

 Basically, you are pre-replacing the bombs as you are shooting, allowing you to do damages, and still maintain a full Sinibomb cache.

 Also, you can use asteroids as sort of shielding against Sinistars attempted rush at you. (slows him down, but sinibombs can end up hitting them if you are not careful)



 I love the game.  If only it was a hair bit more fair...  (hope the Dev finds the "perfect" romset before its too late).


 If I had the resources, I might consider adding to the experience, by making a moving motion simulator chair, to add to the experience.

- Use of  Bass-Shaker Transducers, would also add to the feel of things.  (such as when hitting an Asteroid, bullets..etc)
- Individual coils / shaker effects  might be applied when specifically pressing the Sinibomb button... so that you really Feel that massive surge of power, being released.

- Possibly find a way to activate flashing strobe light when you explode  ..and or, possibly add a red-tinted strobe.. for when enemies explode.

 *Instead of just flashing red for explosion effects.. one might use IR Heat Lamps.  That could be a wicked way to experience the Heat of an actual explosion (as well as already having that reddish orange colored bright light).   Not sure how well those lamps hold up to frequent on/off  cycles, however.


 Interesting enough... since the background of the game is black... one might even be able to create a Floating 3D effect, similar to an Asteroids Deluxe cabinet. Where the main monitor image is bounced off the front face of a half silvered mirror... And behind it,  you would place a monitor that had generic planets, and replicated game asteroids, and stars.. that are programmed to move (animate) as you moved the joystick.   This would create a real 3D depth of field effect, and could be quite visually amazing.

 They would have to be reduced in brightness and detail (blurred),  to help prevent confusion between the different depths, and the gameplay layer.

« Last Edit: April 05, 2022, 02:56:37 pm by Xiaou2 »

10yard

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 138
  • Last login:Today at 05:49:24 pm
  • L BREAK into program
    • DKAFE Frontend
Re: Continue plugin v0.18 (Sinistar added)
« Reply #20 on: April 08, 2022, 01:14:54 pm »
If you can do that... you will be considered a G0D,  to the entire Retrogaming community.


 I found one of my Posts, regarding Playing tips on Sinistar:

TIPS:   

1) Some of the Asteroids carry many more Crystals than others.  If you are noticing that very few are shaking out... its better to find another asteroid to mine instead.

2) Learn to be able to move the stick very small amounts, to prevent over-shooting the crystals.  The joysticks rubber might be old and worn... causing the resistance to be too soft / weak.  I believe some people make replica replacements.   I believe you can actually turn the ship to face any direction, without actually moving, if you have precise control.

3) Try to find close groupings of asteroids. (look at the scanner map)  This allows you to quickly go from one rock to the next, especially if one of them isnt paying out well.  You can also use the other rocks as cover from the enemies.  And... if you were in the center of some rocks, crystals that would otherwise fly far away.. might get bounced back, when hitting one of the nearby rocks.

4)  Try not to fight the general Enemies, unless you absolutely have to.  Focus on mining, unless a Warrior (Tank) comes into play... as they can end up blowing you up.

5) Try not to travel long distances to find Asteroids, or to Chase an Escaping enemy.  The more time you are not mining... the more time that the enemies have to build Sinistar.

6) It does not take the maximum load of Sinibombs, to kill Sinistar... BUT... you want your Sinibombs to be stocked Full.  If you have Siniboms left after defeating him... it will give you a HUGE head-start on the next level  (where you will have far less time, and far more difficulty, to collect the bare minimal)

7) When you use Sinibombs, make sure that Sinistar is fairly Close to you... as otherwise the bombs might end up hitting one of the asteroids / enemies, instead of him.   This will help keep as many Sinibombs as possible, for the next level.   Release them at a fairly slow pace, rather than rapid-firing them all at once.

8 ) Keep an Eye on the Radar when Sinistar is built.. to try to make sure that he doesnt run right into you.

9) You can find the location where Sinistar is being built... and shoot bombs at it, before its even completed.  This can help delay the build.. however,  this strategy can often fail,  as they can often build him back faster than you can mine for more bombs.   Being well stocked, or completely full.. before attempting this, is better than trying this with minimal bombs in reserve.

10)  Sinibombs have Auto-Tracking, so its possible that you can fire a bomb from quite far away... and it will still eventually hit Sinistar.  This could help or hinder you... depending on if the bombs fail to land.

 If your Sinibomb cache is Full.. you can Mine a rock to make some crystals float away from it... Then shoot some of your Sinibombs right afterwards (Long Distance / Offscreen).  These should home in on Sinistar... and while thats taking place... quickly scoop up the on-screen crystals that are still floating,  so that you replenish the bombs you just fired off.

 Basically, you are pre-replacing the bombs as you are shooting, allowing you to do damages, and still maintain a full Sinibomb cache.

11)  You can use the Asteroids to help block Sinistar.. as they will get in between you and him, as well as may slow him down a bit.   However, if you shoot a Sinibomb.. you have to be careful as they may hit the asteroids instead of him.


If you want to play this remotely well on a PC... use a large analog flight stick.  A Gamepads mini-analog sticks will be too hard to accurately control the speed and direction.  The longer handle of a flight stick, gives you better leverage and thus control.. of the ship.  Never use a digital joystick / joypad... that is completely Futile.

 Some non arcade versions of Sinistar, have Artificial acceleration / deceleration algorithms, to better handle Digital controls.  However, that still does not make them that much more playable.


 Sinistar's 49 way controller, has some very unique qualities:

 1)  Unlike a typical analog stick... which has to be programmed with a decent sized "dead-zone" in the center, (due to the way its centering springs work)... the 49 way has virtually no dead-zone.  The slightest of touch, starts the ship pointing or moving, in the direction you pushed.

2)  The analog control you get from this 49 way stick... is about 10x more accurate than any other Analog controller.  Part of this is due to the "X-Shaped" rubber-spring mechanism that is used.  The further you get away from the center of the stick... the more resistance you will be given.  The x shape multiplies the forces greatly...  as you are always fighting against at least 3 other legs of the rubber X.  This makes it very easy to stay in the center of the stick... without accidentally sliding to the furthest edges.

 With a typical metal spring return system... you have a certain amount of force needed to escape the center... and once that level of pressure is achieved... it takes the same amount of force to move from just beyond the center... to the furthest edges.  This makes it very easy to accidentally over-shoot your intended stopping position.

 With the X-Shaped rubber spring system... you have almost no resistance in the very center... but the more you move away from the center... it gets progressively harder and harder... requiring more and more force to be applied.

3)  As a result of the player having far greater precision in speed and directional control... the game programmers were able to allow the player to have a much greater RANGE of speeds.   The ship can barely move.. and then immediately reach mach 10.. in an mere instant.   With typical modern analog stick games.., the programmer has to reduce the range of speeds... because of the players lack of ability to control the ship with decent accuracy.

Part 2:

I forgot to add, even though its probably apparent..  that if your Sinibombs are Full.. you can Mine a rock to make some crystals float away from it... Then shoot some of your Sinibombs right afterwards.  These should home in on Sinistar, and while thats taking place... quickly scoop up the on-screen crystals that are still floating.

 Basically, you are pre-replacing the bombs as you are shooting, allowing you to do damages, and still maintain a full Sinibomb cache.

 Also, you can use asteroids as sort of shielding against Sinistars attempted rush at you. (slows him down, but sinibombs can end up hitting them if you are not careful)



 I love the game.  If only it was a hair bit more fair...  (hope the Dev finds the "perfect" romset before its too late).


 If I had the resources, I might consider adding to the experience, by making a moving motion simulator chair, to add to the experience.

- Use of  Bass-Shaker Transducers, would also add to the feel of things.  (such as when hitting an Asteroid, bullets..etc)
- Individual coils / shaker effects  might be applied when specifically pressing the Sinibomb button... so that you really Feel that massive surge of power, being released.

- Possibly find a way to activate flashing strobe light when you explode  ..and or, possibly add a red-tinted strobe.. for when enemies explode.

 *Instead of just flashing red for explosion effects.. one might use IR Heat Lamps.  That could be a wicked way to experience the Heat of an actual explosion (as well as already having that reddish orange colored bright light).   Not sure how well those lamps hold up to frequent on/off  cycles, however.


 Interesting enough... since the background of the game is black... one might even be able to create a Floating 3D effect, similar to an Asteroids Deluxe cabinet. Where the main monitor image is bounced off the front face of a half silvered mirror... And behind it,  you would place a monitor that had generic planets, and replicated game asteroids, and stars.. that are programmed to move (animate) as you moved the joystick.   This would create a real 3D depth of field effect, and could be quite visually amazing.

 They would have to be reduced in brightness and detail (blurred),  to help prevent confusion between the different depths, and the gameplay layer.

Thank you for the comprehensive play tips  :cheers: 

To play this game properly I should really get myself a 49-way stick.  I imagine they are difficult to get hold of :dunno

In other news,  I seem to have disappeared down a massive Sinistar rabbit hole.  Taking a deep dive into the game logic and tying myself in knots.   I found a couple of instances were logic in the source version (V17) appears to override earlier defaults for warrior randomness and aggression.  I made some hacks and played some games but difficulty change is hardly noticeable on the first stage of the AMOA prototype rom (sinistarp).  I'll keep plugging away and start up another thread - if I ever have anything interesting to talk about.



Check out my Donkey Kong Arcade Frontend at https://github.com/10yard/dkafe#readme


Xiaou2

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4098
  • Last login:November 12, 2023, 05:41:19 pm
  • NOM NOM NOM
Re: Continue plugin v0.18 (Sinistar added)
« Reply #21 on: April 09, 2022, 03:58:28 am »
The difficulty in the first level,  wont likely be much different... because the 1st level is always meant to be the easiest for players.
It gets the player familiar with the game, and starts their addiction.

 However... the 2nd level is a HUGE jump in difficulty from the 1st level.  So much so... that if you didnt have extra Bombs
left over from the 1st level..   you likely will Never be able to mine enough crystals in time to challenge Sinistar.

 And by the 3rd stage...  its virtually impossible.  The enemies move and shoot too quickly, and in massive numbers.
 The Asteroids are much farther apart... and less plentiful.  There is so little time to mine... before Sinistar is born...
that even If you have started with some previous bombs... you likely will not be able to collect enough to defeat him.

Xiaou2

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4098
  • Last login:November 12, 2023, 05:41:19 pm
  • NOM NOM NOM
Re: Continue plugin v0.18 (Sinistar added)
« Reply #22 on: April 09, 2022, 04:32:06 am »




 This was my version.  I believe used a Foxfire Pro analog joystick.  I cut most of the shell off.  Removed the handle, and
made a ball top it.   I inserted a metal rod into the center of the plastic shaft, to give it more strength.

 The resistance bands are bike tire inner tube strips.  I used two layers, to get a very strong resistance level.
I used brass grommets to hold the rubber X together.  If memory serves right... I had a plastic joystick spacer that
fit perfectly in the center most grommet... which was fit on to the metal post.

 Surprisingly, the center metal riser tubes, didnt effect the movement / resistance much, if at all.  That said...
I should have just made a 2nd metal plate layer, with the risers at the four corners.

 The Foxfire flight stick, was one of the sticks that had an internal mechanism that was built strong enough to endure
that amount of stress.   A previous attempt with a different stick.. ended up falling apart, as it was not built to deal
with that much resistance.


 The real 49 way, is actually inferior to this thing.  This has a full analog range, so can be played with any game,
without issue.   It also has much greater resistance... which gives you much better speed control.

 If I were to make it again... Id probably try a 6 or 8 point star, instead of 4 points.  Though, the 4 legs worked just fine.

10yard

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 138
  • Last login:Today at 05:49:24 pm
  • L BREAK into program
    • DKAFE Frontend
Re: Continue plugin v0.19 (Defender and Scramble added)
« Reply #23 on: April 09, 2022, 05:39:02 am »
Defender and Scramble are supported in the latest version of the continue plugin.



Defender was tested in combination with Aaron's defenderlr plugin which simplifies the left-right movement controls.  This was done by specifying multiple plugins from the command line.

Code: [Select]
mame -plugin continue,defenderlr
Check out my Donkey Kong Arcade Frontend at https://github.com/10yard/dkafe#readme


Xiaou2

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4098
  • Last login:November 12, 2023, 05:41:19 pm
  • NOM NOM NOM
Re: Continue plugin v0.19 (Defender and Scramble added)
« Reply #24 on: April 11, 2022, 05:17:29 pm »
I thought I would ask.. just out of curiosity... but do you know that mame has a cheat engine?

(unless its been so long since I last used it.. that its been erased / disabled?)

 With many games, you can simply set the desired cheat, Such as:  infinite lives.

 I realize that is slightly different than a Coin based Continue.. but ultimately, the effect is kind of the same?
Continuing is always just a cheat.  It lessens the value of the games, and the reason and drive to getting good at them.

 That said.. the cheat option did allow me to play so much Sinistar in its higher levels... that I was able
to discover better play tactics.  That practice and knowledge earned, allowed me to play the game better, without cheats.

10yard

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 138
  • Last login:Today at 05:49:24 pm
  • L BREAK into program
    • DKAFE Frontend
Re: Continue plugin v0.19 (Defender and Scramble added)
« Reply #25 on: April 11, 2022, 08:20:48 pm »
I thought I would ask.. just out of curiosity... but do you know that mame has a cheat engine?

(unless its been so long since I last used it.. that its been erased / disabled?)

 With many games, you can simply set the desired cheat, Such as:  infinite lives.

 I realize that is slightly different than a Coin based Continue.. but ultimately, the effect is kind of the same?
Continuing is always just a cheat.  It lessens the value of the games, and the reason and drive to getting good at them.

 That said.. the cheat option did allow me to play so much Sinistar in its higher levels... that I was able
to discover better play tactics.  That practice and knowledge earned, allowed me to play the game better, without cheats.

I kind of already answered this earlier in the thread:
This is a pet project driven by my interest in learning about classic arcade systems and their implementation.  It has been interesting and very challenging at times.  I am enjoying the journey, disassembly, debugging, testing, and the focus that it brings.  I appreciate that this plugin will not be for everyone.

Really it has been a project to distract me from hacking at Donkey Kong exclusively  :laugh2:, .  I have learned a bunch about the internal workings of classic roms along the way.

I am aware of the MAME cheat engine and the possibility of infinite lives for some games.
The "continue" option differs slightly in that a) progression is optional b) your  score will be reset to zero c) a continue counter is chalked up so you can keep tally.  There is also the possibility for continues to require extra credits - something which could be easily added if there is interest.
Check out my Donkey Kong Arcade Frontend at https://github.com/10yard/dkafe#readme