M2 Toaplan collection

This is the main shmups forum. Chat about shmups in here - keep it on-topic please!
User avatar
BIL
Posts: 19069
Joined: Thu May 10, 2007 12:39 pm
Location: COLONY

Re: M2 Toaplan collection

Post by BIL »

heli wrote:Image
My favourite icon
Yeah same Image Good ol' Neo-Geo.com forum smilies. :cool:
User avatar
trap15
Posts: 7835
Joined: Mon Aug 31, 2009 4:13 am
Location: 東京都杉並区
Contact:

Re: M2 Toaplan collection

Post by trap15 »

I have a strong guess that the input delay reduction is just run-ahead of 1 frame. For most everything this should be completely invisible because most game software already has at least 1 frame of input latency, but it does come at a higher performance overhead. Perhaps the system was getting over-taxed with that and failing to fill the audio buffer in time sometimes with Hishouzame (how they managed to achieve this failure mode is... beyond me). Though, from their notes they make it sound like the setting is now always enabled or something? Very strange stuff.
@trap0xf | daifukkat.su/blog | scores | FIRE LANCER
<S.Yagawa> I like the challenge of "doing the impossible" with older hardware, and pushing it as far as it can go.
StrzxgvNuvWvfld
Posts: 86
Joined: Fri Aug 25, 2017 12:26 pm

Re: M2 Toaplan collection

Post by StrzxgvNuvWvfld »

trap15 wrote:I have a strong guess that the input delay reduction is just run-ahead of 1 frame. For most everything this should be completely invisible because most game software already has at least 1 frame of input latency, but it does come at a higher performance overhead. Perhaps the system was getting over-taxed with that and failing to fill the audio buffer in time sometimes with Hishouzame (how they managed to achieve this failure mode is... beyond me). Though, from their notes they make it sound like the setting is now always enabled or something? Very strange stuff.
Have they ever spoken about how Shot Triggers releases are made? Run ahead would suggest emulation, but some of M2's games have some pretty big changes (arrange modes etc) that would suggest to me (with limited knowledge of this side of development) they either have some kind of source code, either decompiled or from the original developers.

I'm not an expert, but once you have the source code, does it make more sense to recompile and build an emulator, or just port the game to modern platforms?

I know the the Sega Ages version of Virtua Racing isn't emulation, but I'm not as sure about their other releases. I'm sure mini-consoles etc are emulation, but are their premium releases like Shot Triggers?

Even if they are emulation, if you've got some source code you can compile to make a new rom, I'm guessing it's fairly trivial to re-write the input routines if the original code was laggy without resorting to hacks like run ahead.
User avatar
Sumez
Posts: 8044
Joined: Fri Feb 18, 2011 10:11 am
Location: Denmarku
Contact:

Re: M2 Toaplan collection

Post by Sumez »

StrzxgvNuvWvfld wrote: I'm not an expert, but once you have the source code, does it make more sense to recompile and build an emulator, or just port the game to modern platforms?
When the "source code" you have is assembly code at best, "porting the game to modern platforms" and emulating it is the same thing.
I wouldn't be surprised if they are doing a bunch of high level emulation stuff running on top of things to smoothen the experience, but if you're expecting a game to run completely arcade perfect on a platform it wasn't designed to run on... that's basically what emulation means. :)
User avatar
Rastan78
Posts: 1969
Joined: Wed Jan 26, 2005 2:08 am

Re: M2 Toaplan collection

Post by Rastan78 »

StrzxgvNuvWvfld wrote:Have they ever spoken about how Shot Triggers releases are made? Run ahead would suggest emulation, but some of M2's games have some pretty big changes (arrange modes etc) that would suggest to me (with limited knowledge of this side of development) they either have some kind of source code, either decompiled or from the original developers.
I remember they talked about developing and testing GG Aleste 3 with the help of emulation. Probably safe to say it's running on a GG emulator.

Another thing they talked about in the past was the so-called Gigadrive emulator. Basically it simulated an imaginary MD console with somewhat higher specs. That would give them headroom to add on 3D effects like on the 3DS Sega Ages series.

Here's a thread with some info about those games that might be telling about their process:

https://gbatemp.net/threads/research-m2 ... or.475800/
Naoki Horii said:

We cut some of the fat, accelerated things by writing some assembly code and whatnot. However for the 3DS remakes, we wanted to effectively utilize the 3DS’s CPU resources as much as possible, so we wrote assembly where we needed assembly, and swapped out code as needed from the emulator, which was written in C. This took quite a bit of time, and turned into quite a magnificent bit of work. So we had to slowly cobble together performance speed by doing things like writing code that more easily hits the cache every time it’s called.
Steven
Posts: 2922
Joined: Tue May 11, 2021 5:24 am
Location: Tokyo

Re: M2 Toaplan collection

Post by Steven »

I was under the impression that these are all basically ROM hacks running in extremely good software emulation.
StrzxgvNuvWvfld
Posts: 86
Joined: Fri Aug 25, 2017 12:26 pm

Re: M2 Toaplan collection

Post by StrzxgvNuvWvfld »

Sumez wrote:
StrzxgvNuvWvfld wrote: I'm not an expert, but once you have the source code, does it make more sense to recompile and build an emulator, or just port the game to modern platforms?
When the "source code" you have is assembly code at best, "porting the game to modern platforms" and emulating it is the same thing.
I wouldn't be surprised if they are doing a bunch of high level emulation stuff running on top of things to smoothen the experience, but if you're expecting a game to run completely arcade perfect on a platform it wasn't designed to run on... that's basically what emulation means. :)
When I say emulation, I'm thinking of a program that recreates the hardware of the original machine in code, so the rom believes it's running on the the original platform and works as it should without any changes to the original code.

When I say port, I'm more thinking about converting the logic to c++ or similar and making a version of the game that runs without the need for software emulation of the original hardware. Nothing wrong with assembly source for a company that specialises in this kind of thing, surely?

I'm a pretty experienced software developer and I've coded in asembly going back to the C64, but I have no real experience of modern game/emulator development, so I've no idea which of these approaches would make most sense (or maybe it'll be a combination of the two).

Either way, they make some quite advanced changes to some of these games (bespoke arrange modes are one example). I would imagine if it is emulation, then they must have source code (either decompiled themselves or from the developers) they can work on to create new builds. Once you have this, surely you wouldn't need to rely on hacks like run-ahead to reduce input lag, you can just re-write the input routines yourself?
Last edited by StrzxgvNuvWvfld on Tue May 31, 2022 2:42 pm, edited 2 times in total.
StrzxgvNuvWvfld
Posts: 86
Joined: Fri Aug 25, 2017 12:26 pm

Re: M2 Toaplan collection

Post by StrzxgvNuvWvfld »

Rastan78 wrote:
StrzxgvNuvWvfld wrote:Have they ever spoken about how Shot Triggers releases are made? Run ahead would suggest emulation, but some of M2's games have some pretty big changes (arrange modes etc) that would suggest to me (with limited knowledge of this side of development) they either have some kind of source code, either decompiled or from the original developers.
I remember they talked about developing and testing GG Aleste 3 with the help of emulation. Probably safe to say it's running on a GG emulator.

Another thing they talked about in the past was the so-called Gigadrive emulator. Basically it simulated an imaginary MD console with somewhat higher specs. That would give them headroom to add on 3D effects like on the 3DS Sega Ages series.

Here's a thread with some info about those games that might be telling about their process:

https://gbatemp.net/threads/research-m2 ... or.475800/
Interesting! I'll read that properly when I have a little time.

I know GG Aleste 3 is GG emulation because the ROM has been extracted and there have been attempts to get it running on real hardware.
User avatar
BareKnuckleRoo
Posts: 6167
Joined: Mon Oct 03, 2011 4:01 am
Location: Southern Ontario

Re: M2 Toaplan collection

Post by BareKnuckleRoo »

When I say port, I'm more thinking about converting the logic to c++ or similar and making a version of the game that runs without the need for software emulation of the original hardware. Nothing wrong with assembly source for a company that specialises in this kind of thing, surely?
This basically never happens nowadays. You had to rewrite the game from scratch back in the day of porting from one console to the other because the option of running it in an emulation environment simply wasn't a thing. Nowadays it's much easier to use emulation rather than converting an old game to the native language of every new system on the market. It'd be a huge time and cost sink for questionable gain, especially given that emulation quality for some of these releases (M2's in particular) is really damn good.

It's worth emphasizing that companies like M2 have more than proven themselves capable of actual porting. Some of M2's first releases were exceptional ports such as Gauntlet IV for the Genesis and Gunstar Heroes for the Game Gear.
Steven
Posts: 2922
Joined: Tue May 11, 2021 5:24 am
Location: Tokyo

Re: M2 Toaplan collection

Post by Steven »

The only one that I am aware of is an actual port is the X68000 Cotton port to PS4/Switch/Windows in Cotton Reboot!. Everything else that I am aware of runs in software emulation, although I'm sure there might be a few more that I don't know about.
StrzxgvNuvWvfld
Posts: 86
Joined: Fri Aug 25, 2017 12:26 pm

Re: M2 Toaplan collection

Post by StrzxgvNuvWvfld »

BareKnuckleRoo wrote:
When I say port, I'm more thinking about converting the logic to c++ or similar and making a version of the game that runs without the need for software emulation of the original hardware. Nothing wrong with assembly source for a company that specialises in this kind of thing, surely?
This basically never happens nowadays. You had to rewrite the game from scratch back in the day of porting from one console to the other because the option of running it in an emulation environment simply wasn't a thing. Nowadays it's much easier to use emulation rather than converting an old game to the native language of every new system on the market. It'd be a huge time and cost sink for questionable gain, especially given that emulation quality for some of these releases (M2's in particular) is really damn good.
I don't think this is really correct. Is porting game code any more difficult than porting an emulator? Look at that version of Ikaruga that was released on the X-Box 360 and then ported to every platform under the sun, surely that isn't a Naomi emulator? And we know M2 don't always use emulation because Virtua Racing isn't built that way.
User avatar
Rastan78
Posts: 1969
Joined: Wed Jan 26, 2005 2:08 am

Re: M2 Toaplan collection

Post by Rastan78 »

I would assume Roo is taking about how it's now super rare for older games like the ones M2 usually do to be ported without the use of software emulation. Things like the Megaman Zero/ZX Legacy Collection or Raiden Fighters Aces come to mind.

For newer stuff like the Live Wire Cave ports, Ikaruga etc they're not using emulation AFAIK.

Yeah I think full on ports back in the day were a ton of work. Where it could even takes many months for a dedicated team of people. Think about something like SNES SF2, they had to redraw all the art at a lower pixel resolution, redo the music for the SNES sound chip, basically remake the entire game from the ground up. There was no other way, and it was worth it then bc they could potentially sell millions of copies at full retail. That was 70 or 80 USD back then, which is equivalent 120 bucks or something crazy like that now.
User avatar
Sumez
Posts: 8044
Joined: Fri Feb 18, 2011 10:11 am
Location: Denmarku
Contact:

Re: M2 Toaplan collection

Post by Sumez »

StrzxgvNuvWvfld wrote: When I say emulation, I'm thinking of a program that recreates the hardware of the original machine in code (...)
That's pretty spot on I'd say. And when the source code you have is assembly code (basically just dolled up machine code), that's also essentially the only way to use said code on a modern platform.
When I say port, I'm more thinking about converting the logic to c++ or similar and making a version of the game that runs without the need for software emulation of the original hardware. Nothing wrong with assembly source for a company that specialises in this kind of thing, surely?
Yeah pretty much, and that's also what I was getting at. If you're looking to replicate exactly how the game behaves down to the tiniest detail, rewriting the entire code in a high level language such as C++ would be complete folly. You'd have to go through line by line and make sure you are translating every bit of peculiar behavior, including odd optimizations and buffering logic etc. which were designed specifically to work around the original hardware. So at that point, you're essentially just doing what a 68k emulator would be doing for you, nevermind the fact that emulating a 68k is already very simple in the first place.

Where it gets both more complex to emulate, and less "important" to emulate correctly, is when you start getting into graphics and audio hardware, the kind of stuff that is often handled on a higher level in emulators (though mostly those that emulate newer hardware) in order to improve performance.
By emulating the purpose of a graphics chip for example, rather than its inner workings, you get the ability to easily tweak a whole bunch of stuff and make "improvements" to a game that doesn't involve the game logic itself - things like hi-res Mode7, ignoring sprite limits etc.. Of course, that's usually not the kind of approach M2 usually takes, often favoring precise replication of weird hardware artifacts over a smoother recreation. But at the same time, I don't recall any Toaplan games ever doing anything special with raster effects, etc. either.
Once you have this, surely you wouldn't need to rely on hacks like run-ahead to reduce input lag, you can just re-write the input routines yourself?
I don't know about the source code to games like Tiger-Heli or Hishouzame, but I can't really imagine there's any inherent lag in the code to these games. It's probably just reading inputs through a serial shift register at the start of a frame, and processing them immediately. It's honestly more work to buffer the input changes to the next frame, rather than just using them as is.
Of course, occasionally some silly game design logic can cause an extra frame of delay in some games (rare in old shooters, but it happens), but in those situations changing the game's logic to avoid that is probably quite hard to do without also affecting how the game works, which I can't imagine M2 would want.

Usually the input lag you get from emulation is because you have both the frameworks layered on top of the emulator logic *as well* as the system being emulated, and the first and most important thing you can to reduce lag is to avoid overhead there. Run-ahead is a universal solution on top of that which works kind of like a band-aid, but other things you could do if you have the computer muscle, is timing the emulation code so the entire frame is being emulated immediately before the next visible frame is being buffered, in as short a time as possible.
There's really nothing inherently laggy about emulation if you know what you are doing, but it's hard to avoid at least a little overhead. Nevertheless, people shouldn't assume emulation is just a bad thing. If emulation means "an accurate imitation", then emulation is what you want. :)
User avatar
pja
Posts: 79
Joined: Sat Jan 16, 2021 1:10 am
Location: Poland

Re: M2 Toaplan collection

Post by pja »

StrzxgvNuvWvfld wrote: Either way, they make some quite advanced changes to some of these games (bespoke arrange modes are one example). I would imagine if it is emulation, then they must have source code
I really wouldn't bet on that, it's basically romhacking at this point and people make pretty impressive romhacks nowadays, no reason M2 can't. (Not saying for sure this is how they did it but I find this plausible).
Atariboy
Posts: 65
Joined: Tue Apr 06, 2021 7:53 pm

Re: M2 Toaplan collection

Post by Atariboy »

StrzxgvNuvWvfld wrote:And we know M2 don't always use emulation because Virtua Racing isn't built that way.
When one reads about M2's work for Sega on the 3DS and Switch like those wonderful interviews they used to do for each release, it sounds like it's a hybrid approach that combines aspects of traditional porting and software emulation and doesn't fit cleanly into either category.
User avatar
hamfighterx
Posts: 574
Joined: Mon Aug 23, 2010 5:45 pm
Location: Bonus Round

Re: M2 Toaplan collection

Post by hamfighterx »

hamfighterx wrote:In other M2-related news that might be part of why we haven't yet seen an announcement for the next Toaplan Arcade Garage release... M2 just retweeted a Sega announcement of a June 3 live stream for a new project.
And it was... Mega Drive Mini 2, featuring MD and Mega CD games - see topic. Shooters on the initially announced game list (11 of 50+) include Thunder Force IV, Fantasy Zone (new 2022 MD port by M2), and Silpheed (Mega CD). So yeah, that might be one other project taking some of M2's time (along with Aleste games).
Steven
Posts: 2922
Joined: Tue May 11, 2021 5:24 am
Location: Tokyo

Re: M2 Toaplan collection

Post by Steven »

I just got back from Taito Hey, which I had never been to before. Their Tatsujin Ou has the C button speed up function. What's the point of this? It's kind of mildly interesting, but all it does is flood the screen with enemies for the most part, so I don't think it's particularly useful. I'd be very surprised if it wasn't an option on the M2 release, but the Astro City Mini V has this function available. I don't remember if this works in MAME or not.

Also got to play Dogyuun!! for the second time, played Teki-Paki on PCB for the first time and set a new personal best at stage 122, and also got to play arcade V-V again. Nice place, but it was so loud in there that I couldn't hear the music on the V-V/Dogyuun!! cabinet, which makes me very sad because I love Dogyuun Magic (and so should you). Also got to play DDP Saidaioujou EXA Label, Senjin Aleste, DoDonPachi II (first time playing it... Jesus this game looks like a fucking bootleg or an amateur ROM hack), R-Type Leo, and some other stuff, as well.
User avatar
OmegaFlareX
Posts: 884
Joined: Tue Jan 25, 2005 10:15 pm
Location: Virginia, USA

Re: M2 Toaplan collection

Post by OmegaFlareX »

Steven wrote:What's the point of this?
My guess would be a tool for debug/testing.

Didn't think HEY still had any retro games, that's cool. Maybe I'm thinking of another large Tokyo arcade who cleared out their retro stuff a few years back (one of Sega's?).
Steven
Posts: 2922
Joined: Tue May 11, 2021 5:24 am
Location: Tokyo

Re: M2 Toaplan collection

Post by Steven »

Yeah, I figured it would be some kind of debug function. Not sure why anyone would want to use it in actual gameplay since all it does is make the already completely broken game even harder, but it's there in Hey if anyone wants it. The enemies and your ship and stuff don't actually speed up, just the scrolling, but since the enemies still spawn at the proper screen scrolling points, you'll totally flood the screen with enemies if you hold the button down. I guess it might help you get through those sections of the game where you just sit there in one place and hold the fire button more quickly. I wonder if it affects the time-out on the bosses. Maybe I'll go back and try it again eventually.

Anyway, Hey has about 1/3 UFO catchers and other dumb shit like that, 1/3 old games, and 1/3 new games. Actually, a lot of their Egret IIs have multiple PCBs or a Neo Geo MVS with multiple carts in them, so they might actually have more old stuff than anything else. V-V and Dogyuun!!, R-Type and R-Type II, and In the Hunt and R-Type Leo all share cabinets with each other. Kind of convenient that way, actually; got my ass kicked by Dogyuun!! and decided to play V-V and didn't even have to stand up and go to a new cabinet!
User avatar
gbaplayer
Posts: 964
Joined: Wed Apr 11, 2012 12:30 pm
Location: Germany

Re: M2 Toaplan collection

Post by gbaplayer »

I wonder when M2 will announce the next entry in the Toaplan Arcade Garage Series?
My PCB Collection (2): Cyvern, R-Type Leo
User avatar
Koa Zo
Posts: 1166
Joined: Tue Feb 22, 2005 10:35 am
Location: Pennsylvania, United States

Re: M2 Toaplan collection

Post by Koa Zo »

gbaplayer wrote:I wonder when M2 will announce the next entry in the Toaplan Arcade Garage Series?
After Ubusana :wink:
Steven
Posts: 2922
Joined: Tue May 11, 2021 5:24 am
Location: Tokyo

Re: M2 Toaplan collection

Post by Steven »

PS4 Same! 1P has been counterstopped.
User avatar
heli
Posts: 585
Joined: Fri Sep 13, 2019 3:58 pm

Re: M2 Toaplan collection

Post by heli »

Steven wrote:PS4 Same! 1P has been counterstopped.
What does that mean ?
thank you
User avatar
Jonpachi
Posts: 1149
Joined: Thu Apr 18, 2019 5:35 pm
Location: Vancouver - BC

Re: M2 Toaplan collection

Post by Jonpachi »

heli wrote:
Steven wrote:PS4 Same! 1P has been counterstopped.
What does that mean ?
thank you
I assume it means someone has posted a maximum score of all 9's (whatever that number may be)
Formerly known as 8 1/2. I return on my second credit!
User avatar
ZPScissors
Posts: 147
Joined: Wed Jan 02, 2019 11:54 am
Contact:

Re: M2 Toaplan collection

Post by ZPScissors »

Jonpachi wrote:
heli wrote:
Steven wrote:PS4 Same! 1P has been counterstopped.
What does that mean ?
thank you
I assume it means someone has posted a maximum score of all 9's (whatever that number may be)
It's 100,000,000 for some reason, they actually added a 9th digit and didn't really use it.
User avatar
Jonpachi
Posts: 1149
Joined: Thu Apr 18, 2019 5:35 pm
Location: Vancouver - BC

Re: M2 Toaplan collection

Post by Jonpachi »

LOL that is super weird. Seems like it would take more work to have it stop at an arbitrary number vs just allowing the counter to continue on until it can't go up any higher.
Formerly known as 8 1/2. I return on my second credit!
User avatar
Sumez
Posts: 8044
Joined: Fri Feb 18, 2011 10:11 am
Location: Denmarku
Contact:

Re: M2 Toaplan collection

Post by Sumez »

From a programming perspective, those two are exactly the same thing :P
There's not really any work adding an additional digit as long as you can find the space for it, but you gotta stop somewhere. 100mil is a pretty badass max value :P
User avatar
Jonpachi
Posts: 1149
Joined: Thu Apr 18, 2019 5:35 pm
Location: Vancouver - BC

Re: M2 Toaplan collection

Post by Jonpachi »

Can anyone remind me how to find Sorcer Striker on the Japanese PSN store?
Formerly known as 8 1/2. I return on my second credit!
User avatar
Rastan78
Posts: 1969
Joined: Wed Jan 26, 2005 2:08 am

Re: M2 Toaplan collection

Post by Rastan78 »

Jonpachi wrote:Can anyone remind me how to find Sorcer Striker on the Japanese PSN store?
https://store.playstation.com/ja-jp/pro ... AISAKUSPS4
User avatar
Jonpachi
Posts: 1149
Joined: Thu Apr 18, 2019 5:35 pm
Location: Vancouver - BC

Re: M2 Toaplan collection

Post by Jonpachi »

Rastan78 wrote:
Jonpachi wrote:Can anyone remind me how to find Sorcer Striker on the Japanese PSN store?
https://store.playstation.com/ja-jp/pro ... AISAKUSPS4
\\

Any tips for an english term to use? Nothing I try works. I've searched for Sorcer, Maho, Mahou, Striker, STG, M2, Eighting... NOTHING comes up.
Formerly known as 8 1/2. I return on my second credit!
Post Reply