Welcome, Guest. Please login or register.
Amiga Kit Amiga Store Hollywood MAL AMIStore App Store A600 Memory

AuthorTopic: AmiQuake 2 - new 68k Quake 2 Port  (Read 14549 times)

0 Members and 1 Guest are viewing this topic.

Offline nicholas

Re: AmiQuake 2 - new 68k Quake 2 Port
« Reply #150 on: May 16, 2013, 09:57:07 PM »
On the subject of making ancient hardware do 3d stuff it wasn't designed for, take a look at this masterpiece of coding wizardry! :)
http://pouet.net/prod.php?which=61298
“Een rezhim-i eshghalgar-i Quds bayad az sahneh-i ruzgar mahv shaved.” - Imam Ayatollah Sayyed  Ruhollah Khomeini
 

Offline Crumb

Re: AmiQuake 2 - new 68k Quake 2 Port
« Reply #151 on: May 16, 2013, 11:27:15 PM »
@nicholas

not bad for a c64 although I was more amazed by smash design's versions of amiga&pc demos.

BTW, on an AGA miggy this smoothness is achieved using copper-synchronized c2p :-)
http://pouet.net/prod.php?which=56885

It would be nice to see some techniques like these in Q2-AGA
The only spanish amiga news web page/club: Club de Usuarios de Amiga de Zaragoza (CUAZ)
 

Offline nicholas

Re: AmiQuake 2 - new 68k Quake 2 Port
« Reply #152 on: May 16, 2013, 11:57:24 PM »
Quote from: Crumb;735245
@nicholas

not bad for a c64 although I was more amazed by smash design's versions of amiga&pc demos.

Oh of course, but real-time raycasting in 254 bytes @ <1MHz is amazing. :)

Quote
BTW, on an AGA miggy this smoothness is achieved using copper-synchronized c2p :-)
http://pouet.net/prod.php?which=56885

It would be nice to see some techniques like these in Q2-AGA

Very nice indeed and it would be nice to see these improvements on top of the stellar work Nova has achieved so far.
« Last Edit: May 17, 2013, 12:12:38 AM by nicholas »
“Een rezhim-i eshghalgar-i Quds bayad az sahneh-i ruzgar mahv shaved.” - Imam Ayatollah Sayyed  Ruhollah Khomeini
 

Offline NovaCoder

Re: AmiQuake 2 - new 68k Quake 2 Port
« Reply #153 on: May 17, 2013, 12:24:27 AM »
Do you have the source for this copper assisted C2P?

:)
Life begins at 100 MIPS!


Nice Ports on AmiNet!
 

Offline nicholas

Re: AmiQuake 2 - new 68k Quake 2 Port
« Reply #154 on: May 17, 2013, 12:31:08 AM »
Quote from: NovaCoder;735250
Do you have the source for this copper assisted C2P?

:)


IRA? ;)

http://aminet.net/package/dev/asm/ira
“Een rezhim-i eshghalgar-i Quds bayad az sahneh-i ruzgar mahv shaved.” - Imam Ayatollah Sayyed  Ruhollah Khomeini
 

Offline Iggy

Re: AmiQuake 2 - new 68k Quake 2 Port
« Reply #155 on: May 17, 2013, 05:43:46 AM »
Quote from: nicholas;735253
IRA? ;)

http://aminet.net/package/dev/asm/ira


What the heck does a reasembler do?
"Not making any hard and fast rules means that the moderators can use their good judgment in moderation, and we think the results speak for themselves." - Amiga.org, terms of service

"You, got to stem the evil tide, and keep it on the the inside" - Rogers Waters

"God was never on your side" - Lemmy

Amiga! "Our appeal has become more selective"
 

Offline NovaCoder

Re: AmiQuake 2 - new 68k Quake 2 Port
« Reply #156 on: May 17, 2013, 07:25:56 AM »
I guess it changes compiled code back to assembler.   This doesn't do me much good though, I'd need some documented (and compilable) assembler code with ideally some kind of example code or usage readme at the very least.
Life begins at 100 MIPS!


Nice Ports on AmiNet!
 

Offline nicholas

Re: AmiQuake 2 - new 68k Quake 2 Port
« Reply #157 on: May 17, 2013, 08:54:40 AM »
Quote from: Iggy;735280
What the heck does a reasembler do?


Like a disassembler but the code it produces can usually be reassembled to an executable, this isn't always true for some disassemblers like Resource etc.
“Een rezhim-i eshghalgar-i Quds bayad az sahneh-i ruzgar mahv shaved.” - Imam Ayatollah Sayyed  Ruhollah Khomeini
 

Offline Crumb

Re: AmiQuake 2 - new 68k Quake 2 Port
« Reply #158 on: May 17, 2013, 09:37:42 AM »
Quote from: NovaCoder;735250
Do you have the source for this copper assisted C2P?

:)


Well, it's not like 030s using copper to help with c2p but copper is used to choose between rendering and c2p. The time you have between one frame and the next one you can write to chipmem at maximum speed (7MB/s). In this short interval your copy to chipmem shouldn't be interrupted by the rest of the system or the system wouldn't make much sense, that's why disabling multitasking is usual with this technique (perhaps running your program with a very high priority like 127 helps, I don't know).

If you talk to Blueberry/Loonies he'll tell you that performing just a copy to chipmem is a waste of time because you can do more effects at the same time. And he's very right but both techniques aren't mutually exclusive so you probably can perform the copy in the short interval *and* apply some filters.

All in all you should organize your code to have 2 phases: one of rendering and another one of c2p (c2p one would include a pair of c2p functions, one that does c2p inside fastmem and the other that does c2p to chipmem).

Article by Rune Stensland (put special attention to the part titled "DMA Problem"):
http://membres.multimania.fr/amycoders/opt/fasttruec2p.html

This part is the one that you could implement:
Quote

I use 2 interrupts triggered by the copper, one when the frame starts, and one when the frame ends. Each time the interrupt is triggered I change state from c2p->effectrender or effektrender->c2p. Inside the interrupt I exgange all registres used by the current routine (a0-a7/d0-d7,PC,SR), the Program counter and status register changes are performed by writing to the supervisor stack, so when I RTE the system will automaticly change to the right PC,Sr)


You told me some time ago that you didn't want to shut down multitasking, if you have changed your mind Winden/Network offered me the sources a pair of years ago, I could ask him if he wouldn't mind sending you the sources to do that. Perhaps it's already in the sources he published of some his demos/intros.
The only spanish amiga news web page/club: Club de Usuarios de Amiga de Zaragoza (CUAZ)
 

Offline matthey

Re: AmiQuake 2 - new 68k Quake 2 Port
« Reply #159 on: May 17, 2013, 01:58:55 PM »
Quote from: nicholas;735286
Like a disassembler but the code it produces can usually be reassembled to an executable, this isn't always true for some disassemblers like Resource etc.


Reassemblers are disassemblers that specialize in generating assembler code that can be assembled back to original with good accuracy. Resource is one of the most accurate (68k/Amiga) but requires manual changes (using it's gui/editor) for best results. IRA is not as good of a reassembler (despite any documentation claims) in my opinion. It will automatically identify more than Resource but isn't as accurate. It is a better general purpose disassembler with many useful options. The best automatic/smart reassembler for the Amiga is the updated ADis I have worked on:

http://www.heywheel.com/matthey/Amiga/ADis.lha

Most ADis disassembled system friendly 68k Amiga programs can be assembled with vasm and work. It's still good to look for problem areas as it's very difficult to determine whether small amounts of data are code or data. ADis needs some more improvements too.
 

Offline NovaCoder

Re: AmiQuake 2 - new 68k Quake 2 Port
« Reply #160 on: July 05, 2013, 03:31:51 AM »
Someone found a little bug in the menu which I've now fixed in v1.09, I'll upload to AmiNet tomorrow.   I've also added the option to play back in mono and lower the mixing frequency (check the readme for more details).

[youtube]gWmpwGYM7ds[/youtube]
Life begins at 100 MIPS!


Nice Ports on AmiNet!
 

Offline NovaCoder

Re: AmiQuake 2 - new 68k Quake 2 Port
« Reply #161 on: August 25, 2013, 04:26:55 AM »
v1.10 running on my A1200 :)

This will be the final version.

New in this release:

1) Uses maths lookup tables
2) Small render loop optimizations
3) Fixed screen size
4) NTSC support added


[youtube]TS21EyNkRlw[/youtube]
Life begins at 100 MIPS!


Nice Ports on AmiNet!
 

Offline NovaCoder

Re: AmiQuake 2 - new 68k Quake 2 Port
« Reply #162 on: July 08, 2020, 09:02:59 AM »
I was asked to update some of my old ports to support the new Warp 1260 RTG card  8)

AmiQuake and AmiQuake 2 RTG version now available.


https://www.amigafrance.com/forums/topic/quake1/
https://www.amigafrance.com/forums/topic/quake2/
Life begins at 100 MIPS!


Nice Ports on AmiNet!
 

Offline ronniebeck

Re: AmiQuake 2 - new 68k Quake 2 Port
« Reply #163 on: July 09, 2020, 07:41:47 PM »
What needed to be done?  I would have thought it was already supported?   RTG is..........RTG.
 

Offline NovaCoder

Re: AmiQuake 2 - new 68k Quake 2 Port
« Reply #164 on: July 10, 2020, 12:03:51 AM »
Amiquake 1 and 2 didn't 'officially' support RTG, other authors had patched in RTG support to my old AGA builds.

These new builds also support a few extras and bug fixes :)
Life begins at 100 MIPS!


Nice Ports on AmiNet!
 
The following users thanked this post: Crumb