The X68000 games porting experiment

All 680x0 related coding posts in this section please.

Moderators: simonsunnyboy, Mug UK, Zorro 2, Moderator Team

User avatar
Desty
Atari God
Atari God
Posts: 1959
Joined: Thu Apr 01, 2004 2:36 pm
Location: 53 21N 6 18W
Contact:

Re: The X68000 games porting experiment

Postby Desty » Thu Jan 29, 2015 11:35 pm

That looks absolutely amazing!
tá'n poc ar buile!

User avatar
Eero Tamminen
Atari God
Atari God
Posts: 1748
Joined: Sun Jul 31, 2011 1:11 pm

Re: The X68000 games porting experiment

Postby Eero Tamminen » Sat Jan 31, 2015 4:03 pm

Anima wrote:All I can say so far is: DSP to the rescue! :D 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...


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.

There's even tool to analyze polling, e.g. between CPU & DSP (which I originally wrote for Douglas, for BadMood optimization :-)).

User avatar
Anima
Atari Super Hero
Atari Super Hero
Posts: 666
Joined: Fri Mar 06, 2009 9:43 am
Contact:

Re: The X68000 games porting experiment

Postby Anima » Mon Mar 23, 2015 5:55 pm

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.

Dal
Administrator
Administrator
Posts: 4161
Joined: Tue Jan 18, 2011 12:31 am
Location: Cheltenham, UK
Contact:

Re: The X68000 games porting experiment

Postby Dal » Mon Mar 23, 2015 8:42 pm

Excellent stuff! I can also compare it to a real X68000 too.
Mega"SST" 12, MegaSTE, STE: Desktopper case, IDE interface, UltraSatan (8GB + 512Mb) + HXC floppy emulator. Plus some STE's/STFM's

User avatar
Anima
Atari Super Hero
Atari Super Hero
Posts: 666
Joined: Fri Mar 06, 2009 9:43 am
Contact:

Re: The X68000 games porting experiment

Postby Anima » Mon Mar 23, 2015 9:01 pm

Dal wrote:Excellent stuff! I can also compare it to a real X68000 too.

Great. :) It's a very fast shooter and even watching it running at half the frame rate you would think it's full speed without comparison. ;)

Note that the binary also runs on a stock 16 MHz Falcon with 14 MB RAM but it doesn't look nice yet.

EvilFranky
Atari Super Hero
Atari Super Hero
Posts: 856
Joined: Thu Sep 11, 2003 10:49 pm
Location: UK
Contact:

Re: The X68000 games porting experiment

Postby EvilFranky » Tue Mar 24, 2015 9:37 am

I should get some time this week to give it a blast Anima! :cheers:

User avatar
Anima
Atari Super Hero
Atari Super Hero
Posts: 666
Joined: Fri Mar 06, 2009 9:43 am
Contact:

Re: The X68000 games porting experiment

Postby Anima » Tue Mar 24, 2015 6:42 pm

EvilFranky wrote:I should get some time this week to give it a blast Anima! :cheers:

:cheers:

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.

User avatar
Eero Tamminen
Atari God
Atari God
Posts: 1748
Joined: Sun Jul 31, 2011 1:11 pm

Re: The X68000 games porting experiment

Postby Eero Tamminen » Tue Mar 24, 2015 8:09 pm

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.)
You do not have the required permissions to view the files attached to this post.

User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3472
Joined: Sat Jun 30, 2012 9:33 am

Re: The X68000 games porting experiment

Postby dml » Tue Mar 24, 2015 8:27 pm

The screenshot looks completely nuts - downloading the zip, will try it out as soon as I can.

User avatar
Anima
Atari Super Hero
Atari Super Hero
Posts: 666
Joined: Fri Mar 06, 2009 9:43 am
Contact:

Re: The X68000 games porting experiment

Postby Anima » Tue Mar 24, 2015 9:14 pm

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.)

Ahhhh... thanks for your report! The joystick should work now. So when you want to play it please download the latest version again. :wink:

The sprites will disappear when the background wraps so this is still a bug in the sprite routine.

User avatar
Anima
Atari Super Hero
Atari Super Hero
Posts: 666
Joined: Fri Mar 06, 2009 9:43 am
Contact:

Re: The X68000 games porting experiment

Postby Anima » Tue Mar 24, 2015 10:15 pm

dml wrote:The screenshot looks completely nuts - downloading the zip, will try it out as soon as I can.

:cheers:

How ChoRenSha 68k looks on a stock Falcon030


User avatar
CiH
Atari God
Atari God
Posts: 1125
Joined: Wed Feb 11, 2004 4:34 pm
Location: Middle Earth (Npton) UK
Contact:

Re: The X68000 games porting experiment

Postby CiH » Tue Mar 24, 2015 10:22 pm

Now that is blummin' amazing!
"Where teh feck is teh Hash key on this Mac?!"

EvilFranky
Atari Super Hero
Atari Super Hero
Posts: 856
Joined: Thu Sep 11, 2003 10:49 pm
Location: UK
Contact:

Re: The X68000 games porting experiment

Postby EvilFranky » Tue Mar 24, 2015 10:41 pm

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.

:cheers:

ctirad
Captain Atari
Captain Atari
Posts: 259
Joined: Sun Jul 15, 2012 9:44 pm

Re: The X68000 games porting experiment

Postby ctirad » Tue Mar 24, 2015 11:15 pm

WOW! I have to test it on an overclocked machine.

User avatar
Scarlettkitten
Captain Atari
Captain Atari
Posts: 260
Joined: Thu Mar 19, 2009 11:42 am
Location: Northamptonshire, UK

Re: The X68000 games porting experiment

Postby Scarlettkitten » Tue Mar 24, 2015 11:38 pm

Looks amazing even on the 16MHz machine 8)
Music gear
Falcon 030 14MB, Cubase Audio, Soundpool FA8,FDI, MAudio 88 keystation, Roland S750, Yamaha A5000, Roland JV1080, Yamaha MG10, 1040STE, ZX Spectrum 128k.

https://soundcloud.com/softkitty123

User avatar
calimero
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2226
Joined: Thu Sep 15, 2005 10:01 am
Location: STara Pazova, Serbia
Contact:

Re: The X68000 games porting experiment

Postby calimero » Tue Mar 24, 2015 11:42 pm

Anima wrote:How ChoRenSha 68k looks on a stock Falcon030

This is imposible! :shrug:

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

:cheers: keep up INCREDIBLE work!
using Atari since 1986.http://wet.atari.orghttp://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

User avatar
Anima
Atari Super Hero
Atari Super Hero
Posts: 666
Joined: Fri Mar 06, 2009 9:43 am
Contact:

Re: The X68000 games porting experiment

Postby Anima » Wed Mar 25, 2015 6:10 am

Thanks all! :cheers:

calimero wrote:
Anima wrote:How ChoRenSha 68k looks on a stock Falcon030
What is resolution?
How do you draw screen? Overwrite everything every frame?!?

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.

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.

User avatar
calimero
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2226
Joined: Thu Sep 15, 2005 10:01 am
Location: STara Pazova, Serbia
Contact:

Re: The X68000 games porting experiment

Postby calimero » Wed Mar 25, 2015 6:54 am

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.

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?)

sorry for asking this question but I really try to understand how you manage to do all this magic in games (dml, laurents, you... :))

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.

what is RLE? like Run Length Encoding compresion?
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.orghttp://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

Zamuel_a
Atari God
Atari God
Posts: 1223
Joined: Wed Dec 19, 2007 8:36 pm
Location: Sweden

Re: The X68000 games porting experiment

Postby Zamuel_a » Wed Mar 25, 2015 7:24 am

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 :wink:
ST / STFM / STE / Mega STE / Falcon / TT030 / Portfolio / 2600 / 7800 / Jaguar / 600xl / 130xe

User avatar
calimero
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2226
Joined: Thu Sep 15, 2005 10:01 am
Location: STara Pazova, Serbia
Contact:

Re: The X68000 games porting experiment

Postby calimero » Wed Mar 25, 2015 7:49 am

Zamuel_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 :wink:

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" game :D

ChoRenSha looks also awesome! :)
using Atari since 1986.http://wet.atari.orghttp://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

User avatar
Anima
Atari Super Hero
Atari Super Hero
Posts: 666
Joined: Fri Mar 06, 2009 9:43 am
Contact:

Re: The X68000 games porting experiment

Postby Anima » Wed Mar 25, 2015 9:23 am

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?)

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:what is RLE? like Run Length Encoding compresion?

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: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)?

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).

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.

User avatar
Anima
Atari Super Hero
Atari Super Hero
Posts: 666
Joined: Fri Mar 06, 2009 9:43 am
Contact:

Re: The X68000 games porting experiment

Postby Anima » Wed Mar 25, 2015 9:32 am

calimero wrote:
Zamuel_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 :wink:

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" game :D

ChoRenSha looks also awesome! :)

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.

User avatar
calimero
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2226
Joined: Thu Sep 15, 2005 10:01 am
Location: STara Pazova, Serbia
Contact:

Re: The X68000 games porting experiment

Postby calimero » Wed Mar 25, 2015 9:42 am

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.

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!

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.orghttp://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

Zamuel_a
Atari God
Atari God
Posts: 1223
Joined: Wed Dec 19, 2007 8:36 pm
Location: Sweden

Re: The X68000 games porting experiment

Postby Zamuel_a » Wed Mar 25, 2015 9:49 am

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" game :D


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 it :wink:
ST / STFM / STE / Mega STE / Falcon / TT030 / Portfolio / 2600 / 7800 / Jaguar / 600xl / 130xe

User avatar
calimero
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2226
Joined: Thu Sep 15, 2005 10:01 am
Location: STara Pazova, Serbia
Contact:

Re: The X68000 games porting experiment

Postby calimero » Wed Mar 25, 2015 10:02 am

But how far can you reach with one coin? :)
using Atari since 1986.http://wet.atari.orghttp://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


Social Media

     

Return to “680x0”

Who is online

Users browsing this forum: No registered users and 2 guests