Quake 2 ported to Amiga AGA...

All about games on the Falcon, TT & clones

Moderators: Mug UK, moondog/.tSCc., [ProToS], lp, Moderator Team

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

Quake 2 ported to Amiga AGA...

Postby EvilFranky » Mon Apr 08, 2013 7:24 pm

...I'm impressed.

http://eab.abime.net/showthread.php?t=68414

But think a Falcon060 would have been a better target platform! :angel:

Honestly thought Quake 2 would have been well beyond a 060 to process but those 80Mhz Amiga 1200's seem to do quite well. Still think those Rev.6 060 CPU's are wasted on them :mrgreen:

Hmm, 16-bit colour version with faster RAM and faster BUS...oh and faster 060 :wink:
Last edited by EvilFranky on Mon Apr 08, 2013 8:19 pm, edited 1 time in total.

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

Re: Quake 2 ported to AGA...

Postby CiH » Mon Apr 08, 2013 7:34 pm

Careful, don't let Doug Little see this thread, he's got a CT60 now, it might give him ideas! :mrgreen:
"Where teh feck is teh Hash key on this Mac?!"

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

Re: Quake 2 ported to AGA...

Postby EvilFranky » Mon Apr 08, 2013 7:44 pm

Ha!

It's certainly not a request matey, but can't help but feel a Falcon version would be better. Well in fact it would be better all round, more colours, chunky screen, faster 060, faster RAM, faster BUS, better more capable sound.

Now to find an Rev.6 060 :evil:

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

Re: Quake 2 ported to Amiga AGA...

Postby dml » Mon Apr 08, 2013 9:53 pm

Actually I was thinking about this the other day - that the Q2 SW rasterizer might be workable on 060.

I have never looked at the source though, don't know how different the rasterizer it is from Q1 except of course what it has to draw :) I do remember a bit about the main tech and differences from Q1 but it's mostly to do with scene management for more HW friendly rendering.

Seems like it's a direct port too (the video was made before they coded assembler optimisations for it and I expect those optimisations are still pretty 'light').

Somebody with a CT60, a compiler and a bit of time might get it running fairly quickly. Doom and Q1 were pretty easy to get up and running on Atari, at least displaying the menus and startpoint.

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

Re: Quake 2 ported to Amiga AGA...

Postby dml » Tue Apr 09, 2013 4:06 pm

Decided to have a look inside via a postmortem:

http://fabiensanglard.net/quake2/quake2 ... nderer.php

Awesomely good stuff. I even see a few BM-like palette tricks in there ;-) Or should that now be Q2-like palette tricks in BM?

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

Re: Quake 2 ported to Amiga AGA...

Postby EvilFranky » Tue Apr 09, 2013 4:49 pm

So there is no 16-bit + colour software rendering in Q2 then...quite clever how they did that really!

Interesting read, even though I didn't understand most of it :mrgreen:

User avatar
MrMaddog
Captain Atari
Captain Atari
Posts: 169
Joined: Fri Oct 06, 2006 3:03 am
Contact:

Re: Quake 2 ported to Amiga AGA...

Postby MrMaddog » Wed Apr 10, 2013 5:32 am

I like the video that was linked to it... It reminds me of playing Quake 2 on a Pentium with software rendering back in my university days. Gotta admit the Amiga is getting more impressive (still know what my first love is) :cheers:

User avatar
RetroGamerUK
RetroLamerUK
RetroLamerUK
Posts: 2918
Joined: Fri Mar 26, 2004 6:37 pm
Location: Northwest England.

Re: Quake 2 ported to Amiga AGA...

Postby RetroGamerUK » Wed Apr 10, 2013 3:19 pm

Might be a daft question.. but does anyone know where to download this port of Q2? would like to give it a go on WinUAE... I won't ask on the EAB or any Amiga board as they are usually unfriendly to say the least... :)

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

Re: Quake 2 ported to Amiga AGA...

Postby Dal » Wed Apr 10, 2013 4:21 pm

RetroGamerUK wrote:Might be a daft question.. but does anyone know where to download this port of Q2? would like to give it a go on WinUAE... I won't ask on the EAB or any Amiga board as they are usually unfriendly to say the least... :)


F&$@ OFF!

Lol - sorry, I couldn't resist..

It can be downloaded here, mate:
http://aminet.net/package/game/shoot/AmiQuake2
TT030: 4MB/16MB + Crazy Dots, Mega"SST" 12, STacy 2, MegaSTE, STE: Desktopper case, IDE interface, UltraSatan (8GB + 512Mb) + HXC floppy emulator. Plus some STE's/STFM's

User avatar
RetroGamerUK
RetroLamerUK
RetroLamerUK
Posts: 2918
Joined: Fri Mar 26, 2004 6:37 pm
Location: Northwest England.

Re: Quake 2 ported to Amiga AGA...

Postby RetroGamerUK » Wed Apr 10, 2013 9:55 pm

:thumbs: RetroGamerUK likes this.

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

Re: Quake 2 ported to Amiga AGA...

Postby dml » Sun Apr 14, 2013 7:33 am

I had a quick go at the source code (linux version) and after hacking out all of the X11, VGA library and x86 assembly language stuff I did get a generic 'stub' version compiled with gcc which tries to run properly.

Unfortunately Q2 uses shared libraries/plugins (which TOS doesn't understand) for the game and rendered objects - so that needs modified before it can be built for Atari. I don't think it's a big deal though, looking at the code.

I think it would need tested on the CT60 directly since Hatari probably won't offer enough RAM to run it under emulation.

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

Re: Quake 2 ported to Amiga AGA...

Postby Eero Tamminen » Sun Apr 14, 2013 10:18 am

dml wrote:I had a quick go at the source code (linux version) and after hacking out all of the X11, VGA library and x86 assembly language stuff I did get a generic 'stub' version compiled with gcc which tries to run properly.

Unfortunately Q2 uses shared libraries/plugins (which TOS doesn't understand) for the game and rendered objects - so that needs modified before it can be built for Atari. I don't think it's a big deal though, looking at the code.

I think it would need tested on the CT60 directly since Hatari probably won't offer enough RAM to run it under emulation.


If it doesn't use DSP, you might be able to run it under Aranym... Best would probably be to run it from MiNT console as multitasking AESes aren't very friendly for fullscreen games, and you probably would need to disable fVDI aranym driver for anything accessing the screen directly.

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

Re: Quake 2 ported to Amiga AGA...

Postby dml » Sun Apr 14, 2013 10:37 am

Eero Tamminen wrote:If it doesn't use DSP, you might be able to run it under Aranym... Best would probably be to run it from MiNT console as multitasking AESes aren't very friendly for fullscreen games, and you probably would need to disable fVDI aranym driver for anything accessing the screen directly.


So far I'm just trying a pure, clean port so there's no DSP or assembly language involved. It may work in Aranym but I had trouble with it in the past with host shares, and strange IDE image partition zapping accidents :-z

Hatari caused me no such problems so it would be nice to have TT ram support in there even if it's just mapping the physical memory at 16M+, and allowing the rest (publishing the ram to TOS) to be done with an auto folder patch (easy)!

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

Re: Quake 2 ported to Amiga AGA...

Postby Eero Tamminen » Sun Apr 14, 2013 11:09 am

dml wrote:
Eero Tamminen wrote:If it doesn't use DSP, you might be able to run it under Aranym... Best would probably be to run it from MiNT console as multitasking AESes aren't very friendly for fullscreen games, and you probably would need to disable fVDI aranym driver for anything accessing the screen directly.


So far I'm just trying a pure, clean port so there's no DSP or assembly language involved. It may work in Aranym but I had trouble with it in the past with host shares, and strange IDE image partition zapping accidents :-z


I think there have been some fixes to Aranym NatFeats / VFAT MiNT driver. And one memory corruption issue has been recently fixed in MiNTlib (which is linked to almost all MiNT programs) by Vincent Riviere.


dml wrote:Hatari caused me no such problems so it would be nice to have TT ram support in there even if it's just mapping the physical memory at 16M+, and allowing the rest (publishing the ram to TOS) to be done with an auto folder patch (easy)!


It's very unlikely for TT ram to be supported before next Hatari release.

Maybe some tiny Quake WAD could be gotten partly working even in 14MB by disabling enough stuff? The original Quake documentation states:

Code: Select all

Quake System Requirements
-------------------------
IBM PC and Compatibles
Pentium processor or better
VGA Compatible Display or better
8MB RAM minimum, 16MB recommended (16 MB required for running under Win95)
CD-ROM drive Required
MS-DOS 5.0 or better or Windows 95 (does NOT run under Windows NT)
Hard Drive (30MB for Shareware, 80 MB for Registered)
...
Please note that higher-resolution modes require correspondingly more
system memory in order for Quake to run, and that some high-resolution
modes may not be available when running Quake on 8 Mb machines.


Btw. IMHO as a game, MDK would be more interesting than Quake. :-)

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

Re: Quake 2 ported to Amiga AGA...

Postby dml » Sun Apr 14, 2013 11:24 am

Eero Tamminen wrote:I think there have been some fixes to Aranym NatFeats / VFAT MiNT driver. And one memory corruption issue has been recently fixed in MiNTlib (which is linked to almost all MiNT programs) by Vincent Riviere.


Well I may try again but the repeated partition failures left me a bit cold and wary of the thing. Soaked up a lot of my time.

Eero Tamminen wrote:It's very unlikely for TT ram to be supported before next Hatari release.


That's ok, but it would be *very* nice to have - allows big projects to be ported to CT60 without needing the kit nearby (like, via laptop on a train).


Eero Tamminen wrote:Maybe some tiny Quake WAD could be gotten partly working even in 14MB by disabling enough stuff? The original Quake documentation states:


Keep in mind this is Quake II - different technology, bigger PAK files - bigger hardware.

Eero Tamminen wrote:Btw. IMHO as a game, MDK would be more interesting than Quake. :-)


If I can get the Doom, Q1, Q2 engines to run, perhaps somebody can fill in the gaps for other projects?

Note: I still have a lot of asm code left over from the Q1 port which will be usable on a CT60.

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

Re: Quake 2 ported to Amiga AGA...

Postby dml » Sun Apr 14, 2013 1:25 pm

...got it statically linked now, and the dynamically linked game API is fixed up at runtime. Rasterizer needs fixed in the same way and then it might run (sort of - minus any input/output).

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

Re: Quake 2 ported to Amiga AGA...

Postby Eero Tamminen » Sun Apr 14, 2013 3:24 pm

dml wrote:
Eero Tamminen wrote:It's very unlikely for TT ram to be supported before next Hatari release.


That's ok, but it would be *very* nice to have - allows big projects to be ported to CT60 without needing the kit nearby (like, via laptop on a train).


Sure, but nobody's working on it, and I think next Hatari release is coming "soon". I once took a quick look at it and it was a bit more complicated than I had thought (Hatari has 2 CPU core implementations, optional MMU etc), so I'm leaving it to somebody else...

dml wrote:
Eero Tamminen wrote:Maybe some tiny Quake WAD could be gotten partly working even in 14MB by disabling enough stuff? The original Quake documentation states:


Keep in mind this is Quake II - different technology, bigger PAK files - bigger hardware.


System requirements for Quake II:

Code: Select all

W95/98/ME/NT/XP
P90, recommended P133
Memory:
W95 16Mb
Others: 24Mb recommended
4*CD Drive
DX5 or higher


If the code is still at the same level, I would have thought it at least possible to squeeze partly working version into 14MB. If you have a build that "should" still work also for Linux, I could profile it a bit with my memory profiling tools, to see where the memory goes i.e. is there anything that could be easily disabled.

dml wrote:
Eero Tamminen wrote:Btw. IMHO as a game, MDK would be more interesting than Quake. :-)


If I can get the Doom, Q1, Q2 engines to run, perhaps somebody can fill in the gaps for other projects?


AFAIK there are no sources for MDK. It was more of a comment that MDK I/II is worth a look as a game (.e.g. under Dosbox), as it's a bit different FPS from Doom/Quake.

dml wrote:Note: I still have a lot of asm code left over from the Q1 port which will be usable on a CT60.


Does Q1 already work "well enough" on CT60, or is Q2 just more fun? :-)

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

Re: Quake 2 ported to Amiga AGA...

Postby dml » Sun Apr 14, 2013 3:47 pm

Eero Tamminen wrote:Sure, but nobody's working on it, and I think next Hatari release is coming "soon". I once took a quick look at it and it was a bit more complicated than I had thought (Hatari has 2 CPU core implementations, optional MMU etc), so I'm leaving it to somebody else...


CiH offered me a CT60 recently (and I jumped at it!) so assuming I can get all the software/firmware set up properly and a CF installed it will be enough. Just means I have to be at home to work with it.

Eero Tamminen wrote:System requirements for Quake II:

Code: Select all

P90, recommended P133
Memory:
W95 16Mb
Others: 24Mb recommended



Ok so there's a small chance it might still fit if booted from AUTO :)

Eero Tamminen wrote:If the code is still at the same level, I would have thought it at least possible to squeeze partly working version into 14MB.


Ultimately it could definitely be squeezed but initially testing the executable (before any actual squeezing is done) might be problematic. Will find out now that I have copied the PAK file over.

I think it needs the PAK to be unpacked to raw files too, it's failing to find image files at the moment...

Code: Select all

$ ./debug/quake2
couldn't exec default.cfg
couldn't exec config.cfg
Console initialized.
recursive shutdown
Error: Couldn't load pics/colormap.pcx



Eero Tamminen wrote:If you have a build that "should" still work also for Linux, I could profile it a bit with my memory profiling tools, to see where the memory goes i.e. is there anything that could be easily disabled.


The Linux one should be easy to get working on a Linux setup with X11 and some other deps configured properly. However I'm working with a hacked, stubbed-out version of that under Cygwin so I can switch to my gcc-mint install once the deps are all gone.

dml wrote:Does Q1 already work "well enough" on CT60, or is Q2 just more fun? :-)


Q2 has a nice rasterizer :-) and both of them (fancy scanline-coherence spanbuffer rasterizer) are quite DSP-able too :)

CT60 already has a decent Q1 port (PMandin?) so doing another one isn't very interesting. Although the port I did had big chunks of the rasterizer rewritten in 68k and 040 FPU, similar to Id's x86 version. It was nearly usable on a 32MHz 68040 with fastram - but not quite. That should fly on a 68060.

There is also a broken DSP implementation of the same rasterizer for Q1 which I attempted afterwards but it's not worth saving - it would be better done again having learned a few lessons since.

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

Re: Quake 2 ported to Amiga AGA...

Postby dml » Sun Apr 14, 2013 4:16 pm

Haha... looks like I broke the sound code while stubbing it out. Looks close though.

Code: Select all

Added packfile ./baseq2/pak0.pak (3307 files)
execing default.cfg
couldn't exec config.cfg
Console initialized.
768k surface cache
ref_soft version: SOFT 0.01
------------------------------------

------- sound initialization -------
==== InitGame ====
------- Server Initialization -------
0 entities inhibited
0 teams with 0 entities
-------------------------------------
====== Quake2 Initialized ======

0.0.0.0:0: client_connect

------- sound initialization -------
Cmd_AddCommand: play already defined
Cmd_AddCommand: stopsound already defined
Cmd_AddCommand: soundlist already defined
Cmd_AddCommand: soundinfo already defined

------- sound initialization -------
Cmd_AddCommand: play already defined
Cmd_AddCommand: stopsound already defined
Cmd_AddCommand: soundlist already defined
Cmd_AddCommand: soundinfo already defined
Segmentation fault (core dumped)

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

Re: Quake 2 ported to Amiga AGA...

Postby dml » Sun Apr 14, 2013 4:32 pm

Well it's running now but since I stubbed out all the I/O it's not very interesting to watch. Will take a look in the debugger and see if its stuck or doing the right thing, and will have a go at moving it over to TOS when I get an hour or so free. Probably can't do much more with it today.

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

Re: Quake 2 ported to Amiga AGA...

Postby dml » Sun Apr 14, 2013 11:18 pm

I think I have Q2 running on TOS, although hard to tell what it's doing. Will need to post some events from the engine to see if there's any life.

There is a crash-causing memory corruption bug somewhere during init which I had to work around so there are still some problems needing fixed, maybe portability related. Will look at it more closely during the week.

q2tos.png
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: 3468
Joined: Sat Jun 30, 2012 9:33 am

Re: Quake 2 ported to Amiga AGA...

Postby dml » Mon Apr 15, 2013 5:28 pm

I have confirmed it was both short of user stack space, and is running out of memory generally @ 14MB so I'll need to try it on the 68040 machine later with FastRAM etc. to see if it gets into the game.

User avatar
MadMax2023
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 142
Joined: Tue May 10, 2011 7:57 am
Location: France, Aix
Contact:

Re: Quake 2 ported to Amiga AGA...

Postby MadMax2023 » Mon Apr 15, 2013 5:43 pm

Thanks, you are doing a good job.
It will be so excellent to play it on our atari computers :)
I can test your version on my falcon ct63 at 95mhz to see what happens.
(my email is my name account here @ hotmail.com)

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

Re: Quake 2 ported to Amiga AGA...

Postby dml » Mon Apr 15, 2013 7:26 pm

MadMax2023 wrote:Thanks, you are doing a good job.
It will be so excellent to play it on our atari computers :)
I can test your version on my falcon ct63 at 95mhz to see what happens.
(my email is my name account here @ hotmail.com)


Thanks. I think the hard part now will be finding a convenient way to get 2MB executables quickly and frequently from my PC to the Atari for tests. The floppy emulator only works with folder mounts up to 1.7mb, and the debug build of Q2 is 2mb! Need to find another way.

I can at least see what's happening on a real machine with occasional tests - but for rapid edit & compile turnaround the transfer process is too lengthy.

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

Re: Quake 2 ported to Amiga AGA...

Postby Eero Tamminen » Mon Apr 15, 2013 8:28 pm

dml wrote:I have confirmed it was both short of user stack space, and is running out of memory generally @ 14MB so I'll need to try it on the 68040 machine later with FastRAM etc. to see if it gets into the game.


Is Q2 compatible with Q1 PAKs? If yes, would it require less memory with them?


Social Media

     

Return to “Games”

Who is online

Users browsing this forum: No registered users and 1 guest