The X68000 games porting experiment
Moderators: simonsunnyboy, Mug UK, Zorro 2, Moderator Team
- Eero Tamminen
- Fuji Shaped Bastard
- Posts: 2317
- Joined: Sun Jul 31, 2011 1:11 pm
Re: The X68000 games porting experiment
Just a reminder... Hatari's debugger/profiler offers all the same features for DSP debugging/profiling as it offers for doing it for the m68k side.Anima wrote:All I can say so far is: DSP to the rescue!Doug has had some ideas about utilizing the DSP for the NeoGeo project and my idea is going in that direction. So please stay tuned...
There's even tool to analyze polling, e.g. between CPU & DSP (which I originally wrote for Douglas, for BadMood optimization

Re: The X68000 games porting experiment
Ok... too much time has passed but anyway: here's a new test version. Still no DSP code though but the sprite drawing is now optimised for the CPU.
Note that this test is meant for faster Falcons to see if the choking is gone and the game can run at full speed. Also there are some graphical glitches like missing texts and a flickering logo so please don't expect a perfect version like the one shown on ARAnyM.
So I would like to get some visual feedback from MC68060 owners like screenshots or better: videos to see if this optimisation goes in the right direction.
Note that this test is meant for faster Falcons to see if the choking is gone and the game can run at full speed. Also there are some graphical glitches like missing texts and a flickering logo so please don't expect a perfect version like the one shown on ARAnyM.
So I would like to get some visual feedback from MC68060 owners like screenshots or better: videos to see if this optimisation goes in the right direction.
Re: The X68000 games porting experiment
Excellent stuff! I can also compare it to a real X68000 too.
STE: Desktopper case, IDE interface, UltraSatan (8GB + 512Mb) + HXC floppy emulator. Plus some STE's/STFM's
Re: The X68000 games porting experiment
Great.Dal wrote:Excellent stuff! I can also compare it to a real X68000 too.


Note that the binary also runs on a stock 16 MHz Falcon with 14 MB RAM but it doesn't look nice yet.
-
- Atari Super Hero
- Posts: 895
- Joined: Thu Sep 11, 2003 10:49 pm
- Location: UK
Re: The X68000 games porting experiment
I should get some time this week to give it a blast Anima! 

Re: The X68000 games porting experiment
EvilFranky wrote:I should get some time this week to give it a blast Anima!

A new test version with less flicker is now available to run and watch it on an unaccelerated Falcon030. Note that you need 14 MB RAM though.
- Eero Tamminen
- Fuji Shaped Bastard
- Posts: 2317
- Joined: Sun Jul 31, 2011 1:11 pm
Re: The X68000 games porting experiment
This is really fast and sprites are huge!
It works otherwise fine also with EmuTOS (v0.9.4), except for joystick directions. Are you reading joystick data in some non-standard / TOS version specific way?
(There are still some cases where parts of sprites or whole sprites disappear temporarily, e.g. in situations like one below.)
It works otherwise fine also with EmuTOS (v0.9.4), except for joystick directions. Are you reading joystick data in some non-standard / TOS version specific way?
(There are still some cases where parts of sprites or whole sprites disappear temporarily, e.g. in situations like one below.)
You do not have the required permissions to view the files attached to this post.
Re: The X68000 games porting experiment
The screenshot looks completely nuts - downloading the zip, will try it out as soon as I can.
d:m:l
Home: http://www.leonik.net/dml/sec_atari.py
AGT project https://bitbucket.org/d_m_l/agtools (source) https://bitbucket.org/d_m_l/agtools/downloads?tab=tags
BadMooD p/l: http://www.youtube.com/playlist?list=PL ... oOGiLtcniv
Quake II p/l: http://www.youtube.com/playlist?list=PL ... 5nMm10m0UM
Home: http://www.leonik.net/dml/sec_atari.py
AGT project https://bitbucket.org/d_m_l/agtools (source) https://bitbucket.org/d_m_l/agtools/downloads?tab=tags
BadMooD p/l: http://www.youtube.com/playlist?list=PL ... oOGiLtcniv
Quake II p/l: http://www.youtube.com/playlist?list=PL ... 5nMm10m0UM
Re: The X68000 games porting experiment
Ahhhh... thanks for your report! The joystick should work now. So when you want to play it please download the latest version again.Eero Tamminen wrote:It works otherwise fine also with EmuTOS (v0.9.4), except for joystick directions. Are you reading joystick data in some non-standard / TOS version specific way?
(There are still some cases where parts of sprites or whole sprites disappear temporarily, e.g. in situations like one below.)

The sprites will disappear when the background wraps so this is still a bug in the sprite routine.
Re: The X68000 games porting experiment
dml wrote:The screenshot looks completely nuts - downloading the zip, will try it out as soon as I can.

How ChoRenSha 68k looks on a stock Falcon030
-
- Atari God
- Posts: 1169
- Joined: Wed Feb 11, 2004 4:34 pm
- Location: Middle Earth (Npton) UK
- Contact:
Re: The X68000 games porting experiment
Now that is blummin' amazing!
"Where teh feck is teh Hash key on this Mac?!"
-
- Atari Super Hero
- Posts: 895
- Joined: Thu Sep 11, 2003 10:49 pm
- Location: UK
Re: The X68000 games porting experiment
Quite amazing really!
Yes there is a bit of slow down now and again, but it looks pretty playable! Not bad at all for the amount of sprites being CPU rendered.

Yes there is a bit of slow down now and again, but it looks pretty playable! Not bad at all for the amount of sprites being CPU rendered.

Re: The X68000 games porting experiment
WOW! I have to test it on an overclocked machine.
- Scarlettkitten
- Captain Atari
- Posts: 261
- Joined: Thu Mar 19, 2009 11:42 am
- Location: Northamptonshire, UK
Re: The X68000 games porting experiment
Looks amazing even on the 16MHz machine 

My musical dribbles https://soundcloud.com/sophierosemusix
- calimero
- Fuji Shaped Bastard
- Posts: 2408
- Joined: Thu Sep 15, 2005 10:01 am
- Location: STara Pazova, Serbia
- Contact:
Re: The X68000 games porting experiment
This is imposible!Anima wrote:How ChoRenSha 68k looks on a stock Falcon030

What is resolution?
How do you draw screen? Overwrite everything every frame?!?

using Atari since 1986. ・ http://wet.atari.org ・ http://milan.kovac.cc/atari/software/ ・ Atari Falcon030/CT63/SV ・ Atari STe ・ Atari Mega4/MegaFile30/SM124 ・ Amiga 1200/PPC ・ Amiga 500 ・ C64 ・ ZX Spectrum ・ RPi ・ MagiC! ・ MiNT 1.18 ・ OS X
Re: The X68000 games porting experiment
Thanks all!
In fact, now every sprite is drawn and completely restored again. This is not really necessary because the next sprite position is almost the same as two frames before and restoring costs a lot of time. The next step is to write a DSP routine which creates a RLE intelligent "restoration info" for each frame based on the sprite masks. This might be helpful as well for drawing in cases where the huge overdraw happens (explosions) but the drawing code is not quite easy to modify without loosing speed.

The resolution is 256 x 240 pixels. Overwriting won't work even on the fastest machine. This is the reason why the most complete looking version only runs well on ARAnyM on a fast host. The bus bandwidth is simply too low for this approach.calimero wrote:What is resolution?Anima wrote:How ChoRenSha 68k looks on a stock Falcon030
How do you draw screen? Overwrite everything every frame?!?
In fact, now every sprite is drawn and completely restored again. This is not really necessary because the next sprite position is almost the same as two frames before and restoring costs a lot of time. The next step is to write a DSP routine which creates a RLE intelligent "restoration info" for each frame based on the sprite masks. This might be helpful as well for drawing in cases where the huge overdraw happens (explosions) but the drawing code is not quite easy to modify without loosing speed.
- calimero
- Fuji Shaped Bastard
- Posts: 2408
- Joined: Thu Sep 15, 2005 10:01 am
- Location: STara Pazova, Serbia
- Contact:
Re: The X68000 games porting experiment
The reason why I ask if you overwriting entire screen is because you have scrolling background and if you use true color mode than how do you scroll entire background (in new frame write only top-first line and move screen address?)Anima wrote:The resolution is 256 x 240 pixels. Overwriting won't work even on the fastest machine. This is the reason why the most complete looking version only runs well on ARAnyM on a fast host. The bus bandwidth is simply too low for this approach.
sorry for asking this question but I really try to understand how you manage to do all this magic in games (dml, laurents, you...

what is RLE? like Run Length Encoding compresion?The next step is to write a DSP routine which creates a RLE intelligent "restoration info" for each frame based on the sprite masks. This might be helpful as well for drawing in cases where the huge overdraw happens (explosions) but the drawing code is not quite easy to modify without loosing speed.
Is ChoRenSha port like your previous ports (replacing X68000 routs for drawing and sounds with Falcon specific using MMU)? Can you apply this same system for some other X68000 games (and will you be able to use future DSP intelligent "restoration info" in other games or it will be ChoRenSha specific)?
using Atari since 1986. ・ http://wet.atari.org ・ http://milan.kovac.cc/atari/software/ ・ Atari Falcon030/CT63/SV ・ Atari STe ・ Atari Mega4/MegaFile30/SM124 ・ Amiga 1200/PPC ・ Amiga 500 ・ C64 ・ ZX Spectrum ・ RPi ・ MagiC! ・ MiNT 1.18 ・ OS X
Re: The X68000 games porting experiment
This is really amazing to see! For something so complex with so many sprites on screen at once, it looks really fast. I think the slowdown would help me so that I would have a chance to play the game 

ST / STFM / STE / Mega STE / Falcon / TT030 / Portfolio / 2600 / 7800 / Jaguar / 600xl / 130xe
- calimero
- Fuji Shaped Bastard
- Posts: 2408
- Joined: Thu Sep 15, 2005 10:01 am
- Location: STara Pazova, Serbia
- Contact:
Re: The X68000 games porting experiment
I like to play Dodonpachi games on mame (I built Arcade Cabinet with Xbox inside) - Dodonpachi require zen state of mind while playing: you can not think fast enough but you need to "feel" gameZamuel_a wrote:This is really amazing to see! For something so complex with so many sprites on screen at once, it looks really fast. I think the slowdown would help me so that I would have a chance to play the game

ChoRenSha looks also awesome!

using Atari since 1986. ・ http://wet.atari.org ・ http://milan.kovac.cc/atari/software/ ・ Atari Falcon030/CT63/SV ・ Atari STe ・ Atari Mega4/MegaFile30/SM124 ・ Amiga 1200/PPC ・ Amiga 500 ・ C64 ・ ZX Spectrum ・ RPi ・ MagiC! ・ MiNT 1.18 ・ OS X
Re: The X68000 games porting experiment
There are two virtual screens of about 512 x 768 pixels in size and another background screen of the same size as the source for the restoration data. It's kind of a circular buffer which scrolls constantly downwards. The width of 512 pixels has been chosen mainly for a lazy vertical sprite position calculation. So therefore only the sprites need to be drawn and restored.calimero wrote:The reason why I ask if you overwriting entire screen is because you have scrolling background and if you use true color mode than how do you scroll entire background (in new frame write only top-first line and move screen address?)
Exactly. The restoration routine is actually using it but in an "unintelligent" manner. It's kind of alternating values like: offset to the next pixel followed by the pixel count. But in the current implementation the whole sprite i.e. background is restored. Considering having slow sprite movement this can be reduced by a good margin. This is the part where the DSP could help.calimero wrote:what is RLE? like Run Length Encoding compresion?
Yes. The goal is to have a generalised and optimized sprite routine for X68000 ports. ChoRenSha is a bit different because the XSP sprite library is able to push out up to 512 sprites. But keep in mind that even the X68000 has problems with the XSP library. Sometimes it simply skips the sprite display when there are more than 128 in one sector (1/4th of the screen height).calimero wrote:Is ChoRenSha port like your previous ports (replacing X68000 routs for drawing and sounds with Falcon specific using MMU)? Can you apply this same system for some other X68000 games (and will you be able to use future DSP intelligent "restoration info" in other games or it will be ChoRenSha specific)?
So in conclusion the port is done exactly like Pac-Mania and Galaga: a reassembled binary with Atari specific hooks. The MMU is not used here but it could be helpful for some cases.
Re: The X68000 games porting experiment
ChoRenSha and all the other Danmaku type of games rely on the smooth and constant framerate so this is the main problem here: ChoRenSha is definitely too much for a stock Falcon so which tradeoffs can be taken into account to maintain the fun of the game? Frameskip could be one solution but keep in mind that some sprite effects like the engine combustion needs the full frame rate.calimero wrote:I like to play Dodonpachi games on mame (I built Arcade Cabinet with Xbox inside) - Dodonpachi require zen state of mind while playing: you can not think fast enough but you need to "feel" gameZamuel_a wrote:This is really amazing to see! For something so complex with so many sprites on screen at once, it looks really fast. I think the slowdown would help me so that I would have a chance to play the game
ChoRenSha looks also awesome!
- calimero
- Fuji Shaped Bastard
- Posts: 2408
- Joined: Thu Sep 15, 2005 10:01 am
- Location: STara Pazova, Serbia
- Contact:
Re: The X68000 games porting experiment
I never played ChoRenSha but if games have slowdowns than it will be simple easier to play (not to bad for average player) but real speed demand high concentration and skills from player, it is quite demanding and challenging!Anima wrote:ChoRenSha and all the other Danmaku type of games rely on the smooth and constant framerate so this is the main problem here: ChoRenSha is definitely too much for a stock Falcon so which tradeoffs can be taken into account to maintain the fun of the game? Frameskip could be one solution but keep in mind that some sprite effects like the engine combustion needs the full frame rate.
Special effect should not be priority - you version already looks very impressive so I do not think that combustion effect would make some difference in overall impression.
Is it wireframe version of game available for download? It runs in full speed on stock Falcon, right?
using Atari since 1986. ・ http://wet.atari.org ・ http://milan.kovac.cc/atari/software/ ・ Atari Falcon030/CT63/SV ・ Atari STe ・ Atari Mega4/MegaFile30/SM124 ・ Amiga 1200/PPC ・ Amiga 500 ・ C64 ・ ZX Spectrum ・ RPi ・ MagiC! ・ MiNT 1.18 ・ OS X
Re: The X68000 games porting experiment
I have played Dodonpachi on Mame and have no problems with it. Could be because there are unlimited continues as long as you put "money" into itI like to play Dodonpachi games on mame (I built Arcade Cabinet with Xbox inside) - Dodonpachi require zen state of mind while playing: you can not think fast enough but you need to "feel" game

ST / STFM / STE / Mega STE / Falcon / TT030 / Portfolio / 2600 / 7800 / Jaguar / 600xl / 130xe
- calimero
- Fuji Shaped Bastard
- Posts: 2408
- Joined: Thu Sep 15, 2005 10:01 am
- Location: STara Pazova, Serbia
- Contact:
Re: The X68000 games porting experiment
But how far can you reach with one coin? 

using Atari since 1986. ・ http://wet.atari.org ・ http://milan.kovac.cc/atari/software/ ・ Atari Falcon030/CT63/SV ・ Atari STe ・ Atari Mega4/MegaFile30/SM124 ・ Amiga 1200/PPC ・ Amiga 500 ・ C64 ・ ZX Spectrum ・ RPi ・ MagiC! ・ MiNT 1.18 ・ OS X