shmups.system11.org

Shmups Forum
 
* FAQ    * Search
 * Register  * Login 
It is currently Thu Jan 21, 2021 9:36 pm View unanswered posts
View active topics



Post new topic Reply to topic  [ 98 posts ]  Go to page Previous  1, 2, 3, 4
Author Message
 Post subject: Re: Paprium - New beat em' up for MegaDrive/Genesis
PostPosted: Fri Dec 18, 2020 9:39 pm 


User avatar

Joined: 19 Jun 2010
Posts: 1854
Location: Germany, Berlin
Major issues is the way that you access VDP registers on the MD and having to 'do things in blocks' and waiting for when DMA is cheapest.

There were few custom ICs added to MD Cartridges with Virtua Racer being the one with the most advanced IC on-board. However, Street Fighter II had a special memory-mapper that swapped pages into memory space - I know this as I recall the tests we did on UMDK around 2015 or so.

I don't consider the use of extra chips or what not as it making it 'not a MD title'. That it runs on the MD is the main factor for me. But you have to consider what you'd add and a lot of that rests on the the type of game you wish to make: does it require lots of calculation of geometry, etc.?

You then have to consider cost in terms of components and in terms of how much the entire cart's components require power - there's an upper limit.

It's a MD title in my book in any case.

It is true we do have better tools by far these days, but we are lacking people who have low-level development skills too.

One of the best ways to get insight is to reverse a commercial MD ROM and work out how the pros did it.

Quote:
One scenerio is an ARM processor. The ARM would feed instructions (and a ton of no ops to the MD hardware registers). The ARM would "race" the Mega Drive. Because the ARM runs faster than the Mega Drive, the slack time (between sending updates to the Mega Drive and during no-ops) would be available for logic. Additionally, the game's state would "live" on the ARM cart. That allows a large share of the game to be written in C++. That makes development (writing, debugging, and iterating) significantly easier.


This is indeed how NG:Dev's hardware for the NeoGeo does its thing. Having a cheap (in terms of monetary cost and power-consumption) ARM uC is most certainly feasible but again it boils down to what your intentions are. An ARM could easily decompress a lot faster than the 68K. If you needed to do any multiplication or division again the 68K is expensive to do so using the MUL and DIV opcodes which is why most people use logical shifts left and right for multiplication and division for the 68K.
_________________
More Bromances = safer people


Top
 Offline Profile  
 
 Post subject: Re: Paprium - New beat em' up for MegaDrive/Genesis
PostPosted: Mon Dec 21, 2020 5:04 am 


User avatar

Joined: 20 Aug 2016
Posts: 1996
So much to cover, because it's a complicated topic. Taking the Z80 out of the loop also eliminates sharing memory (no need to idle the m8k to share the bus). So, even that is a potentially big difference, because it is possible to let the m8k go about its business uninterrupted.
_________________
We apologise for the inconvenience


Top
 Offline Profile  
 
 Post subject: Re: Paprium - New beat em' up for MegaDrive/Genesis
PostPosted: Mon Dec 21, 2020 10:05 am 


User avatar

Joined: 19 Jun 2010
Posts: 1854
Location: Germany, Berlin
orange808 wrote:
So much to cover, because it's a complicated topic. Taking the Z80 out of the loop also eliminates sharing memory (no need to idle the m8k to share the bus). So, even that is a potentially big difference, because it is possible to let the m8k go about its business uninterrupted.

I dare say they are still using the Z80 to read the joypads and control the YM2612.
_________________
More Bromances = safer people


Top
 Offline Profile  
 
 Post subject: Re: Paprium - New beat em' up for MegaDrive/Genesis
PostPosted: Mon Dec 21, 2020 11:05 am 


User avatar

Joined: 26 Jan 2005
Posts: 4710
Location: Finland
The hardware discussion is an interesting topic, but I wonder if it'd be better served by a thread split? That way it wouldn't need to be limited just to Paprium and Mega Drive. Not too long ago I saw a video of Doom running on NES, and it's a Raspberry Pi inside the cart.
_________________
No matter how good a game is, somebody will always hate it. No matter how bad a game is, somebody will always love it.

My videos


Top
 Offline Profile  
 
 Post subject: Re: Paprium - New beat em' up for MegaDrive/Genesis
PostPosted: Mon Dec 21, 2020 8:08 pm 


User avatar

Joined: 20 Aug 2016
Posts: 1996
MintyTheCat wrote:
orange808 wrote:
So much to cover, because it's a complicated topic. Taking the Z80 out of the loop also eliminates sharing memory (no need to idle the m8k to share the bus). So, even that is a potentially big difference, because it is possible to let the m8k go about its business uninterrupted.

I dare say they are still using the Z80 to read the joypads and control the YM2612.


If I understand the docs correctly, I can feed audio directly from the cart. Using the YM2612 is always an option, but the cart should be able to handle all the duties.

I didn't realize the Z80 handled polling the controllers. I see you do have to idle the bus in vblank to grab the state of the controllers. Although, it's still simplified if you offload all the audio duties to the cart.

Makes sense, I guess. Master System backwards compatibility was on their minds when they were designing the hardware.
_________________
We apologise for the inconvenience


Top
 Offline Profile  
 
 Post subject: Re: Paprium - New beat em' up for MegaDrive/Genesis
PostPosted: Tue Dec 22, 2020 12:34 pm 


User avatar

Joined: 19 Jun 2010
Posts: 1854
Location: Germany, Berlin
orange808 wrote:
MintyTheCat wrote:
orange808 wrote:
So much to cover, because it's a complicated topic. Taking the Z80 out of the loop also eliminates sharing memory (no need to idle the m8k to share the bus). So, even that is a potentially big difference, because it is possible to let the m8k go about its business uninterrupted.

I dare say they are still using the Z80 to read the joypads and control the YM2612.


If I understand the docs correctly, I can feed audio directly from the cart. Using the YM2612 is always an option, but the cart should be able to handle all the duties.

I didn't realize the Z80 handled polling the controllers. I see you do have to idle the bus in vblank to grab the state of the controllers. Although, it's still simplified if you offload all the audio duties to the cart.

Makes sense, I guess. Master System backwards compatibility was on their minds when they were designing the hardware.

MD's cartridge connector has an analogue input for audio which will be mixed into the MD's audio amplifier:

Code:
B1    Input    Left Audio    Audio sourced from cartridge, left channel, mixed into output.
B3    Input    Right Audio    Audio sourced from cartridge, right channel, mixed into output.
https://melaircraft.net/2019/01/17/sega-megadrive-genesis-cartridge-pinout/

YEs, the cart could handle all duties but you would not have genuine YM2612 sound then and would be a bi of a cop out. It's easy enough to implement an FM Synth using a CPLD or FPGA though and you would hardly knwo the difference; they will be mixed using the same audio amp after all.

I did some work around 15 years back and measured the performance of the amp for a few different MD versions but I don't have the data or graphs here. IT is a fairly standard configuration that was on the datasheet though and nothing unusual.

Yes: there are kind of four uses for the Z80 on the MD: 1. polling controller ports/I/O port which can be as an RS232 port or as a parallel port depending on how you configure it. Early MD1 models also have the extra control port at the back of the console which was to be used for the modem. I think one or two games used it for that; I recall messing around with some japanese ROM that used the extra I/O port for data transfer back in 2015 or so and it really does work. I began programming the MD by using the third port as an RS232 port and then wrote a command monitor to send data back and forth between the PC and the MD - long, long before I got my hands on UMDK which allows me to do the same at much faster speeds over USB :)

2: control and feed the YM2612 : register writes and such.
3: when the MD is set to 'Mode V' was it? Then it is in MD mode, pulled low it has the Z80 as the main mpu and allows you to run Master-System games and such.

Code:
B30    Input    /M3    Pulled high in console, cartridge shorts to ground to indicate console should run in Mark 3 (Master System) mode.


4: manage the PSG - the other sound device that makes the 'bleeep' and 'bloop' like sounds that we all love.
Matt has an article on it here: https://blog.bigevilcorporation.co.uk/2 ... -psg-chip/

Yes: VBlank is when the MD does most of its heavy writes through DMA, you can do it during active but it is a lot slower - also, the MD'S VDP has exactly the same limitation which is why the VDP is kind of the bottle-neck when programming the MD pretty much, that and the slowish 68K - e.g. it was not uncommon to decompress gfx data as the game was playing to be ready in time. Using a more powerful mcu as they have in Paprium (and discussed years back as an idea to give the native MD hardware more power) would allow much faster actions. Also, consider that once the YM2612 has the majority of its registers set for the FM Voice (synth patch to the rest of the world) it only needs to modify every so often parameters so it is not a heavy bandwidth device once programmed for the song to place. Also, consider that polling often enough the state of control pads is not a heavy activity as users are slow :)

The MD has a laughably slow baudrate on the RS232 port too :)

It is possible to feed the PSG, YM2612, poll the user input on the joypads and feed audio signals into the cart's analogue audio pin without any issues and this was the intention when the MD was designed long ago as it gives developers options.

I hope that gives you some further insight into the MD's internals :)
_________________
More Bromances = safer people


Top
 Offline Profile  
 
 Post subject: Re: Paprium - New beat em' up for MegaDrive/Genesis
PostPosted: Sun Jan 03, 2021 6:32 pm 


User avatar

Joined: 16 Feb 2006
Posts: 5640
Location: Canada
Game Sack made a review. It's pretty thorough. Covers all the major issues except one of the most glaring - Some of the enemy designs and sprite animations are just flat out copied from other games.

https://www.youtube.com/watch?v=ydMLculJDIc


Top
 Offline Profile  
 
 Post subject: Re: Paprium - New beat em' up for MegaDrive/Genesis
PostPosted: Mon Jan 11, 2021 1:17 pm 


User avatar

Joined: 19 Jun 2010
Posts: 1854
Location: Germany, Berlin
I agree with the reviewer: we did not need all this fluff. And him complaining about having to do the extra work on his time: he hosted that project, took the public's money and that was the deal. He only needed to add standard packaging and no one needs a pair of panties :D The Fonzie's not living in this world, and he'll got a lot of flack for that 'release party' back in 2018, Paris.

The Brawler is ok, but there are better on the SNES and there's no way it needed to have caused this much grief and drama and all this misuse of funds. No way in hell I'll be backing anything with Fonzie involved any time soon.
_________________
More Bromances = safer people


Top
 Offline Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 98 posts ]  Go to page Previous  1, 2, 3, 4

All times are UTC


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
cron
Space Pilot 3K template by Jakob Persson
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group