07 June 2023, 11:46 | #81 |
Registered User
Join Date: Jul 2005
Location: Athens, Greece
Age: 54
Posts: 157
|
There is a Japanese version of TFX, for psx. If anyone is interested in it, I can upload it to the Zone!!
|
07 June 2023, 13:05 | #82 | |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,571
|
Quote:
This is actually worse than c2p, where you have the simplest possible byte pet pixel plotting to your chunky buffer followed by the C2P step which is a very mature proposition today. If TFX is doing it's various shaded polygon plotting directly to chip ram in the planar domain I'm not surprised it crawls. |
|
07 June 2023, 17:02 | #83 | |
Registered User
Join Date: Feb 2017
Location: Denmark
Posts: 1,239
|
Quote:
Yes, it's as bad as you suspect. Flat polys: Short spans (and/or depending on color): Code:
AND.L D6,(-24000,A1) AND.L D6,(-16000,A1) AND.L D6,(-8000,A1) OR.L D2,(A1) OR.L D2,(8000,A1) OR.L D2,(16000,A1) OR.L D2,(24000,A1) OR.L D2,(32000,A1) JMP (A6) Code:
MOVE.W #$e0c0,D2 CMP.W #$0020,D4 BEQ.W LAB_3569 ADD.W D1,D1 LAB_355E: SUBX.L D6,D6 BFINS D6,(A1){D3:D4} MOVE.L D6,(4,A1) MOVE.L D6,(8,A1) BFINS D6,(12,A1){0:D5} ADDA.W D2,A1 ADD.W D1,D1 BNE.S LAB_355E JMP (A6) Code:
BFINS D3,D4{D1:1} ; D1 = bit position LSR.B #1,D3 ; D3 = chunky pixel BFINS D3,D5{D1:1} LSR.B #1,D3 ; repeat for each plane Another hot function is a sprite blitting function that uses the CPU (for sprites not in chip RAM, or if the source pointer isn't word-aligned (???)). |
|
07 June 2023, 17:52 | #84 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,571
|
Is the code in a buildable state?
|
07 June 2023, 17:56 | #85 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,388
|
I suppose the disassembly re-assembles to something that runs
|
07 June 2023, 18:50 | #86 |
Registered User
Join Date: Feb 2017
Location: Denmark
Posts: 1,239
|
I mostly looked at it in Ghidra, and just threw it through IRA. The output from that produces an invalid relocation from:
Code:
LEA (PlotColour.L,ZPC,D0.W),A3 ;4cfa4: 47fb01b000099edc Code:
warning 2007 in line 152864 of "TFX.040.s": displacement at bad position > CMPA.W (ZA2,A3.W*8,-1203914524.L),A3 ;7116e: b6f2b797b83db8e4 After that you'd have ~100K lines of uncommented assembly code (symbols help a lot, sure). Maybe easier to do a surgical strike with whdload patching. Most drawing seems to go through a few key functions (_MaskSprite/ScanFillDown etc.) that could be targeted without a complete rebuild. Though other parts could probably do with some optimizations as well. If you feel like taking on the job of revamping another huge assembly source base (this time without most labels), I'll gladly give more hints |
07 June 2023, 18:57 | #87 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,571
|
If you build it*, they will come**.
*As in get it into buildable state. ** Terms and conditions apply. There must be a few demo coders on this forum that can make flat and shaded polygons fly |
07 June 2023, 19:34 | #88 |
Registered User
Join Date: Feb 2017
Location: Denmark
Posts: 1,239
|
Feel like I'm being nerd sniped into looking at it But as usual, I've only played the game for 2 minutes, and don't really have any affinity towards it.
Think course of action (still not saying I'd be involved) would be: 1. Stay bitplane based for now. 2. Get rid of all blitter usage. Think sprite drawing can already be easily replaced by existing CPU function. Replace blitter based line drawing routine by standard Bresnham one (probably not called much, so OK if a bit slow). 3. Move screen buffer to fast RAM, and copy it to chip RAM only when flipping. 4. This should be fast enough for PIstorm. Profit. 5. Get roped into further improvements because it's not fast on "real" 040/060's. 6. Draw to chunky buffer and do normal C2P stuff 7. Don't profit because you've spent time optimizing a game nobody plays, and could have made a fortune marketing a "web3.0" shitcoin instead. |
07 June 2023, 19:37 | #89 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,571
|
Nerd snipe someone, moi?
|
07 June 2023, 19:46 | #90 | |
Retro Freak
Join Date: Nov 2001
Location: Slovenia
Age: 51
Posts: 1,669
|
Quote:
"In 1994, PC Gamer UK named TFX the 26th best computer game of all time. The editors called it "one of the best flight sims out on the PC and, with a bit of effort, a hugely playable game"." Would certainly be nice to see it play with nice FPS on our miggy... even if it takes a pistorm or vampire to do it. |
|
07 June 2023, 19:50 | #91 |
Registered User
Join Date: Nov 2014
Location: Italy
Posts: 2,460
|
yes, esthetically more advanced, but for gameplay the best is, imho, Combat Air Patrol.
|
07 June 2023, 19:52 | #92 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,571
|
Has anyone tried TFX for PC in an emulator on PiStorm? I bet PCTask or PCx would manage it fine. The Pi4 is already much faster than any desktop 68K or x86 of the era.
|
07 June 2023, 19:59 | #93 |
Retro Freak
Join Date: Nov 2001
Location: Slovenia
Age: 51
Posts: 1,669
|
Yes, unfortunetly the JIT of Emu68 is not really very well suited for dynamic compilation of PCTask and PCx compatibility is not that high, so most of the things don't run that well. Couldn't get TFX to run under those two. In DOSBox it runs but it is very slow (slower than Amiga version).
|
07 June 2023, 20:23 | #94 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,571
|
What about running PCTask as an interpreter? Depending on the emergent effects of many factors, this might be faster than the JIT.
|
07 June 2023, 20:32 | #95 |
Retro Freak
Join Date: Nov 2001
Location: Slovenia
Age: 51
Posts: 1,669
|
That almost never works for some reason. It is WAY faster when it works, but normally none of the memory extenders (like dos4gw) work with it. Don't think I got any serious game working with the interpreter version of PCTask.
|
07 June 2023, 22:41 | #96 |
Registered User
Join Date: Nov 2014
Location: Italy
Posts: 2,460
|
|
07 June 2023, 23:00 | #97 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,571
|
You know, given the game renders flat and Gouraud polygons only, it's an ideal target for a hardware rasteriser...
|
08 June 2023, 09:56 | #98 |
Amiga Games Database
Join Date: Jun 2006
Location: South West England
Posts: 1,294
|
|
08 June 2023, 10:22 | #99 | |
Registered User
Join Date: Nov 2018
Location: Germany
Posts: 110
|
Quote:
Since you look at disassembly - can you have a look if maybe tfx is using data cache on chip memory? If it had did that in copy back mode and if it had flushed it regularly then it would have a chance to work reasonably good after enabling data cache for chip in Emu68 … |
|
08 June 2023, 11:20 | #100 | |
Registered User
Join Date: Nov 2014
Location: Italy
Posts: 2,460
|
Quote:
CAP is released also on PC with mega texture and scenery mountains hils very realistic like modern games, but Amiga version is much much much better. |
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
PiStorm32-Lite problems | tech3475 | support.Hardware | 52 | 23 October 2023 17:49 |
Pistorm a500 & Pistorm32: Can you VNC? | ElectroBlaster | support.Hardware | 4 | 09 March 2023 09:00 |
AGA, Amiga Demos on Pistorm32 | nikosidis | Amiga scene | 8 | 06 March 2023 22:11 |
Unique - Origins on Pistorm32 | nikosidis | Amiga scene | 5 | 01 March 2023 18:02 |
FS: Pistorm32 - GreaseWeazle - ATX Adaptors | RetroPassionUK | MarketPlace | 0 | 14 January 2023 13:34 |
|
|