Bad Mood : Falcon030 'Doom'

All 680x0 related coding posts in this section please.

Moderators: Zorro 2, Moderator Team

User avatar
Atari030
Atari Super Hero
Atari Super Hero
Posts: 784
Joined: Mon Feb 27, 2012 6:14 am
Location: Melbourne, Australia

Re: Bad Mood : Falcon030 'Doom'

Post by Atari030 »

Sounds like my desk. :) Its not urgent, mate. I appreciate all your work and my li'll ole machine is hardly a priority. I'm just stunned at how well it runs on a stock Falcon.
ctirad
Captain Atari
Captain Atari
Posts: 312
Joined: Sun Jul 15, 2012 9:44 pm

Re: Bad Mood : Falcon030 'Doom'

Post by ctirad »

dml wrote:On VGA monitors, BadMooD uses a 416x240 pixel video mode to display titles - IIRC this uses a scaled version of the RGB dot clock, not the VGA one. So if you have an accelerator mod which hacks the RGB dot clock (some bus boosters will do this by default) then the display will crap out
Using the master 32MHz clock for a VGA pixel clock is a very bad idea, becuase this clock changes with ANY bus acceleration and there is no way how to fix it.
User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3991
Joined: Sat Jun 30, 2012 9:33 am

Re: Bad Mood : Falcon030 'Doom'

Post by dml »

ctirad wrote: Using the master 32MHz clock for a VGA pixel clock is a very bad idea, becuase this clock changes with ANY bus acceleration and there is no way how to fix it.
I'm aware of that. The project was meant to be targeted at the machine Atari shipped, not relying on (or much respecting) mods to the board. To get the most out of the original machine.

However there are so many add-ons circulating that its clearly getting in the way for typical users so I will probably backpedal on that particular one.
User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3991
Joined: Sat Jun 30, 2012 9:33 am

Re: Bad Mood : Falcon030 'Doom'

Post by dml »

I won't get time to investigate properly until a bit later, but a quick test on my 68040 machine earlier suggests the problem (on 060 machines) is perhaps blitter related. It seems to have got stuck half way through drawing the disk icon while loading the menus, before the title screen appears.

If that's the case it might not be so bad to debug.
User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3991
Joined: Sat Jun 30, 2012 9:33 am

Re: Bad Mood : Falcon030 'Doom'

Post by dml »

Fixed the missing title screen but there are still some other issues.

So long as I don't let it run from FastRAM it will start and play, but hangs eventually. Running from FastRAM causes instant hang as soon as the gamedata loads. So it's probably a timing fault. I'll need to go through it all with a magnifier now :)
User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3991
Joined: Sat Jun 30, 2012 9:33 am

Re: Bad Mood : Falcon030 'Doom'

Post by dml »

It's running now on 68040, after fixing a couple of things.

It seems fast when looking at a wall, but slow when looking at the floor. This is because one of the compromises for 68040/68060 is pedantic DSP synchronization per pixel when floor filling. I'll fix this later so it can run decently fast on 060. But for now its running again.

[EDIT]
The 060 bugs were:
- one case of a timing fault while transmitting to DSP
- one case of a blitter safety check failing with sources in TT-ram, causing blits to be cancelled (missing title screen)
- one case of a 030 PMMU mask applied within code when it shouldn't have been, breaking when seg buffers were in TT-ram
- general purpose rectangle blit probably shouldn't have been using blitter device in CPU-clean mode - particularly if bus is accelerated >= 20MHz
Last edited by dml on Thu Feb 26, 2015 12:45 pm, edited 1 time in total.
User avatar
Atari030
Atari Super Hero
Atari Super Hero
Posts: 784
Joined: Mon Feb 27, 2012 6:14 am
Location: Melbourne, Australia

Re: Bad Mood : Falcon030 'Doom'

Post by Atari030 »

Great news. I can't wait to check it out. My DSP is going a bit funny @50mhz so I wasn't sure it wasn't just my dodgy machine.
User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3991
Joined: Sat Jun 30, 2012 9:33 am

Re: Bad Mood : Falcon030 'Doom'

Post by dml »

This one stands a better chance of working on 060. It worked last night on my 040 and I expect the issues are much the same.

https://dl.dropboxusercontent.com/u/129 ... 0_test.zip

Don't expect it to be super quick - it has some brakes applied. If it works I'll gradually relax the brakes for retest. This is not meant to be run on 030 at all so don't waste your time trying that.

[EDIT]

A quick test here with some of the brakes removed works happily on my 040 @ 40/20MHz ratio & 50MHz DSP. Runs smoothly in fullscreen, high detail mode. I'd say faster than my 486 DX/66 at the time (judging by e4m2, which did crawl).

I don't know if that will work on 060, as it may wake up timing problems again but I'll post a test if the one above seems to work.
User avatar
jvas
Atari Super Hero
Atari Super Hero
Posts: 504
Joined: Fri Jan 28, 2005 4:30 pm
Location: Budapest, Hungary

Re: Bad Mood : Falcon030 'Doom'

Post by jvas »

If you don't have any midi playback device, but still want doom music:
https://www.youtube.com/watch?v=X-aELWPghHo
User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3991
Joined: Sat Jun 30, 2012 9:33 am

Re: Bad Mood : Falcon030 'Doom'

Post by dml »

jvas wrote:If you don't have any midi playback device, but still want doom music:
https://www.youtube.com/watch?v=X-aELWPghHo
:-D

From my experience with those things (and I have some) - I think it's safe to say his gaming box is not in the same room. Possibly not in the same building.
User avatar
calimero
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2639
Joined: Thu Sep 15, 2005 10:01 am
Location: Serbia

Re: Bad Mood : Falcon030 'Doom'

Post by calimero »

dml wrote:This one stands a better chance of working on 060. It worked last night on my 040 and I expect the issues are much the same.

https://dl.dropboxusercontent.com/u/129 ... 0_test.zip
Works on CT63/76MHz!

- There are around 1/3 of line with random color pixels between play area and status bar. They are blinking all the time.
- Status bar sometimes blinks (I think it blinks when new sound is loaded for first time on level!).
- Sometimes when you watch crossover of two sectors and move quickly mouse to look around: sometime there is a glitch like random wall appear in offset position.
- Map (tab) now work correctly :)

and it works in 030 mode! :)

btw I think that sound of chainsaw is to "fast" (like on wrong frequency, but it is also in older build)

btw2 I only now notice that enemies kill each other!! is this normal? (I play on Ultra-Violence!)
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
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3991
Joined: Sat Jun 30, 2012 9:33 am

Re: Bad Mood : Falcon030 'Doom'

Post by dml »

Ok here's another one to try, brakes off. Also less likely to work, unless DSP is boosted.

https://dl.dropboxusercontent.com/u/129 ... _test2.zip

BTW the flicker is caused by a timerb screensplit, which was not expected to work too well on accelerated machines and just barely works on 030 as it i s:)
User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3991
Joined: Sat Jun 30, 2012 9:33 am

Re: Bad Mood : Falcon030 'Doom'

Post by dml »

calimero wrote: btw2 I only now notice that enemies kill each other!! is this normal? (I play on Ultra-Violence!)
Doom's enemies do attack each other if they take damage, yes.
User avatar
calimero
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2639
Joined: Thu Sep 15, 2005 10:01 am
Location: Serbia

Re: Bad Mood : Falcon030 'Doom'

Post by calimero »

dml wrote:
calimero wrote: btw2 I only now notice that enemies kill each other!! is this normal? (I play on Ultra-Violence!)
Doom's enemies do attack each other if they take damage, yes.
I never notice this before - it looks like that I killed them to fast :D

I will test new build soon!
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
EvilFranky
Atari Super Hero
Atari Super Hero
Posts: 926
Joined: Thu Sep 11, 2003 10:49 pm
Location: UK

Post by EvilFranky »

I might have some time to play with this at the weekend on my CT60. Will be interesting :)
User avatar
calimero
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2639
Joined: Thu Sep 15, 2005 10:01 am
Location: Serbia

Re: Bad Mood : Falcon030 'Doom'

Post by calimero »

sorry, I got carried away playing doom :)

test 2 also work (on 030 and 060)!

btw
what did you say regarding FPS counter and timedemo?
Is it somehow possible to measure FPS in BadMood?

I played it on both, 030 and 060 CPU:
difference is not so big!
- on 060 you can play in fullscreen mode
- in complex scene 060 is lot faster
but I would need two Falcons, side by side, to be able to more objectively see speed difference
Fact is that BadMood is very playable on default settings* on stock Falcon so extra speed does not make so much difference!

Maybe it would be nice (if it is not too complicate) to have full speed, 30fps, game logic on 060?

and I think that there is bug on Nightmare difficulty: game freez every time at specific point of level (I try different episodes, couple of times; I would say that game freez when loading new sound - when new enemy appear for first time or when enemy appear from teleport, I am not sure...). Last episode ("Thy Flesh Consumed") will freez almost at first enemy!

also, on 060 game would freez in first level of "Thy Flesh Consumed" after you open passage and try to look at him (move view to the left in screenshot).
IMG_0176.JPG
(I will post screenshot of every freez point! stay tuned...)

*hi res x/y mode; screensize four ---- from full screen.
You do not have the required permissions to view the files attached to this post.
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
Eero Tamminen
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3999
Joined: Sun Jul 31, 2011 1:11 pm

Re: Bad Mood : Falcon030 'Doom'

Post by Eero Tamminen »

It's sometimes fun to try to line up the imps (moving myself so that they get in line) so that they kill each other, but always one gets left alive.

Nethack players do things like "vegetarian guests" (getting to end without eating any corpses), I wonder has anybody completed doom without any kills, even with easiest difficulty? :-)
User avatar
calimero
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2639
Joined: Thu Sep 15, 2005 10:01 am
Location: Serbia

Re: Bad Mood : Falcon030 'Doom'

Post by calimero »

this freezes in Nightmare difficulty are quite strange. Same episode "Thy Flesh Consumed" on 030 will freez here:
IMG_0177.JPG
You do not have the required permissions to view the files attached to this post.
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
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3991
Joined: Sat Jun 30, 2012 9:33 am

Re: Bad Mood : Falcon030 'Doom'

Post by dml »

calimero wrote:this freezes in Nightmare difficulty are quite strange. Same episode "Thy Flesh Consumed" on 030 will freez here:
Does this freeze only happen with the newest 060 test binary? Does it happen with the original 030 release on 030 hardware?

Does it only happen on Nightmare mode?

If it happens reliably and only in Nightmare mode, and on any machine then I should be able to repeat it here and debug.

BTW no need to post any more freeze points if one reliable case can be used. You could easily flood out the topic with screenshots :) If I cant repeat it then another one or two might be useful afterwards.


I'm surprised the 060 build will run on 030 - it contains a cpush instruction which doesn't exist on 030. But apart from that its just slower than the 030 build so its not recommended for a base box.
User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3991
Joined: Sat Jun 30, 2012 9:33 am

Re: Bad Mood : Falcon030 'Doom'

Post by dml »

Well its repeatable here in Hatari and doesn't seem related to 030/060/DSP timing etc. It's some sort of AI bug causing the game to go into an inescapable loop. Perhaps related to tick scaling.

I won't get to look at this for a bit - will come back to it and investigate properly when I'm free. Should be fixable though.

(game never escapes from AI processing...)

Code: Select all

_A_Chase:
_P_Move:
_P_TryMove:
_P_CheckPosition:
_P_TryMove.part.7:
_P_UnsetThingPosition:
_P_SetThingPosition:
_A_Chase:
_P_NewChaseDir:
_P_Move:
_P_TryMove:
_P_CheckPosition:
_P_TryMove.part.7:
_P_UnsetThingPosition:
_P_SetThingPosition:
_A_Chase:
_P_Move:
_P_TryMove:
_P_CheckPosition:
_P_TryMove.part.7:
_P_UnsetThingPosition:
_P_SetThingPosition:
_A_Chase:
_P_Move:
_P_TryMove:
_P_CheckPosition:
_P_TryMove.part.7:
_P_NewChaseDir:
_P_Move:
_P_TryMove:
_P_CheckPosition:
_P_TryMove.part.7:
_P_Move:
_P_TryMove:
_P_CheckPosition:
_P_TryMove.part.7:
_P_UnsetThingPosition:
_P_SetThingPosition:
_A_Chase:
User avatar
calimero
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2639
Joined: Thu Sep 15, 2005 10:01 am
Location: Serbia

Re: Bad Mood : Falcon030 'Doom'

Post by calimero »

dml wrote:Does this freeze only happen with the newest 060 test binary? Does it happen with the original 030 release on 030 hardware?
They also happened in old build ver. 33 on 030 hardware
dml wrote:Does it only happen on Nightmare mode?
Yes.
dml wrote:If it happens reliably and only in Nightmare mode, and on any machine then I should be able to repeat it here and debug.
It happen always at same place on my computer.
(but different place on 030 and 060!)
dml wrote:I'm surprised the 060 build will run on 030 - it contains a cpush instruction which doesn't exist on 030. But apart from that its just slower than the 030 build so its not recommended for a base box.
Yes, I notice it is slower on 030.
And there is no red or blue border lines when you get shot or when you pickup item.
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
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3991
Joined: Sat Jun 30, 2012 9:33 am

Re: Bad Mood : Falcon030 'Doom'

Post by dml »

I have rebuilt new binaries for anyone with spare time to try them on a 68040 or 68060 machine. These are not aimed at a stock machine.


This one just fixes the lockups Calimero encountered in nightmare mode, which was just a game AI bug:

https://dl.dropboxusercontent.com/u/129 ... _test3.zip

This is the same, but with enhanced music & SFX for faster machines:

https://dl.dropboxusercontent.com/u/129 ... _test4.zip

Same enhanced audio, but with the 12FPS framerate cap removed for superfast machines. No idea how well it will work on a real box but the peak framerate should definitely go higher than 12 in ideal cases (but worst case views may be slower - possibly, I can't measure it here).

https://dl.dropboxusercontent.com/u/129 ... _test5.zip
User avatar
calimero
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2639
Joined: Thu Sep 15, 2005 10:01 am
Location: Serbia

Re: Bad Mood : Falcon030 'Doom'

Post by calimero »

ok.

I could not wait until monday to test so I test it now!

>> test_5 works perfectly!!!

first impression: it is a beauty! only at fullscreen, hi res, no cap, full speed, you can see all the beauty of BadMood engine! Super fine lightning, transparency, fluid lava...!

drool! :D

and it is much harder now with 35Hz enemies ;)
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
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3991
Joined: Sat Jun 30, 2012 9:33 am

Re: Bad Mood : Falcon030 'Doom'

Post by dml »

Ok, I'm putting on my evil hat now.

:twisted:

Glad it worked!
User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3991
Joined: Sat Jun 30, 2012 9:33 am

Re: Bad Mood : Falcon030 'Doom'

Post by dml »

calimero wrote:only at fullscreen, hi res, no cap, full speed, you can see all the beauty of BadMood engine! Super fine lightning, transparency, fluid lava...!
Feel free to post a video from your setup sometime, if you are able - I haven't seen what this one looks like on CT60. I have only seen a very old version which was less complete and still frame capped...

Return to “680x0”