24 April 2022, 12:19 | #361 | |
Registered User
Join Date: Jun 2016
Location: UK
Posts: 428
|
Quote:
|
|
24 April 2022, 14:54 | #362 |
Registered User
Join Date: Nov 2017
Location: NRW/Germany
Posts: 31
|
I have expressed myself somewhat confusingly. I use a sega mega drive pad for the Turrican games, which I can set to an additional button with autofire. So far so good. I like the CD32 PAd more (more buttons). But the frequency of the autofire button could be a little higher. Do you understand what I mean now? It's higher on the mega drive pad (which only has 2 buttons instead of 7). But on the other hand. It's fine the way it is, I don't want to confuse you.
|
25 April 2022, 06:09 | #363 | |
Registered User
Join Date: Sep 2019
Location: Sydney
Posts: 357
|
Quote:
I've compared it to the original and can't detect any differences myself. I did make changes to the player routine way back when I adapted it. In places where INTENA is set, followed by INTREQ being set, I set INTREQ twice. In places where INTENA is set on its own, I do a tst.w DMACONR immediately afterwards. It was some time ago that I added these. I believe they were listed somewhere as being required to avoid bugs on the A4000. |
|
27 April 2022, 00:13 | #364 | |
Registered User
Join Date: Sep 2019
Location: Sydney
Posts: 357
|
Quote:
Holding down green on the CD32 pad should give you the maximum possible firing rate, as the fire button is registering on every frame. Are you sure that it is slower that using a hardware auto-fire on a different joypad? It doesn't seem possible. A video might be helpful. |
|
27 April 2022, 10:09 | #365 | |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,380
|
Quote:
It sometimes only shows with fast machines, using fastmem. It shows on my real amiga A1200/060. Toni emulates it too by adding a line in your winuae config Code:
chipset_hacks=0x8 |
|
27 April 2022, 10:14 | #366 | |
Defendit numerus
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 54
Posts: 4,498
|
Quote:
But I think jotd refers (EDIT: oops, just noticed that I basically wrote together with jotd ) to the re-start or re-trigger of a note and the relative restart of the DMA channel (so nothing to do with INTxxx). Usually when you stop audio DMA (and you need to restart it), you have to wait 'some time', that depends of previous period (Audio State Machine need to be in idle state). Of course to make the wait generic (which should be done with a CIA timer via IRQ..) you can consider the worst period; let's say around 500 e-clock is an adequate wait. Then you can re-enable DMA using eventually the new (latched) sample pointer and length. |
|
27 April 2022, 10:29 | #367 | |
Moderator
Join Date: Sep 2004
Location: France
Age: 51
Posts: 4,277
|
Quote:
|
|
27 April 2022, 10:33 | #368 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,380
|
I usually perform a busy wait of 4 rasterlines. If it's not enough, I can raise it up to 7.
A busy wait is easy and lame because it costs cycles, and can be a problem with in-game fixes. There's a glitch in Oscar triggered by that fix (flickering sprites). Using a CIA wait is better but difficult to adapt to an already existing SFX engine. Replacing it altogether (with phx ptplayer for instance) is a better solution, but you need to understand how the sfx system works! In the case of Turrican 2, it only happens in the intro, so a busy wait it can be safely done. Not much happening here. |
27 April 2022, 12:28 | #369 | |
Registered User
Join Date: Jan 2008
Location: Warsaw/Poland
Age: 56
Posts: 2,049
|
Quote:
|
|
27 April 2022, 12:44 | #370 |
Registered User
Join Date: Jan 2008
Location: Warsaw/Poland
Age: 56
Posts: 2,049
|
About Turrican 2 music.
Muzza can use better rate for TFMX 7V mixing routine for 68020+. Originally Turrican 2 used 16-18 kHz (I dont remember exactly). Original TFMX 7V replay has 22 kHz limit and this is safe to use up to 22kHz. I dont know which version of TFMX 7V replayer he used for T2 AGA. I enhanced original mixing routine to 28 kHz, and later (after some code modifications) to 29kHz. Then he can use this replayer, if he want. I dont remember if TFMX 7V replayer needs DMA wait, but original mixing routine uses SMC, perhaps it can sounds like DMA problem on fastest 68k CPU-s. And finally it will be nice, if Muzza can add Turrican 2 music box (press space on title screen to access on Amiga T2). All musics can be easy tested on all AGA configs, i think. |
28 April 2022, 03:26 | #371 | |
Registered User
Join Date: Sep 2019
Location: Sydney
Posts: 357
|
Thanks for all the information about the DMACON/TFMX issue. Knowing how to emulate it in WinUAE, and what the problem was made it an easy fix.
Quote:
|
|
28 April 2022, 16:43 | #372 | |
Registered User
Join Date: Jan 2008
Location: Warsaw/Poland
Age: 56
Posts: 2,049
|
Quote:
Seems i dont enhanced mixing range to 29kHz. Only for Mugician II and Jochen Hippel 7V i made this. Then this player has 28 kHz limit. For mix quality You can check 6 or 10 kHz too. My ears also dont hear differences for very high mixing rates, but musicians can hear differences. |
|
28 April 2022, 17:34 | #373 |
Registered User
Join Date: Jan 2008
Location: Warsaw/Poland
Age: 56
Posts: 2,049
|
And i forget then some TFMX 7V songs has mixing value set by effect command. If i remember right it was $ef03 command. I dont remember exactly, if Turrican 2 7V songs used this command to choose/set mixing rate. But if yes, you can modify replay source (like me for EP) or modify/edit mdat file to use 28 kHz mix rate.
|
28 April 2022, 17:54 | #374 | |
Defendit numerus
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 54
Posts: 4,498
|
Quote:
About the DMAWait this is the relevant code (TFMX 7V player module V1.3, versionnum = $0892): Code:
move.l 4.W,A1 ; exec base tst.b $129(A1) ; CPU check beq.b MC68000 lea CPUType(PC),A0 clr.w (A0) MC68000 .... .nodwait tst.w CPUType bne.b .NoWait bsr.w DMAWait .NoWait .... DMAWait movem.l D0/D1,-(SP) moveq #8,D0 .dma1 move.b $DFF006,D1 .dma2 cmp.b $DFF006,D1 beq.b .dma2 dbeq D0,.dma1 movem.l (SP)+,D0/D1 rts (but I don't know that Wait used Muzza). About the mixing code and inaudible audio differences at higher frequencies: this is probably due to the fact that existing modules are optimized to use the default frequency because they use samples that are already at the best quality at that frequency (and similar frequencies betweeen samples). Since the mixing does not use any kind of interpolation or oversampling (but a simple possible duplication in the case of higher frequencies) it is difficult to hear much difference if you do not have fine ears.. I think this is the reason, then there is probably also the thing said by Don in his last message |
|
28 April 2022, 18:42 | #375 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,380
|
a value of 8 is most of the time too much and wastes too many cpu cycles. I got away with 4 most of the time. It depends on what the routine is doing right afterwards
|
28 April 2022, 19:53 | #376 | |
Registered User
Join Date: Jan 2008
Location: Warsaw/Poland
Age: 56
Posts: 2,049
|
Quote:
And about wait for 8 lines. My players are not for games, but for Amiga OS. For Amiga OS and for some players even wait for 8 lines can be not enough. You must remember about double graphics modes, like DoublePAL, DoubleNTSC, Euro72 etc If i will use wait for 8 lines for game or demo. I will use Nicolas Pomarede method. You must read line number in one place (then add 8 lines) and wait before DMA access (if i remember right). Then for some cases and slow Amigas you even dont wait for 1 line, but for fast Amigas you can wait up to 8 lines for same code. |
|
28 April 2022, 20:09 | #377 | |
Registered User
Join Date: Jan 2008
Location: Warsaw/Poland
Age: 56
Posts: 2,049
|
Quote:
|
|
28 April 2022, 21:24 | #378 | |
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,355
|
Quote:
If you use very long wait you take the risk of having more sample triggering clicks and you waste cpu time. So the best way is to adapt the wait to the used frequencies. For this i recommend using the audio irq. |
|
28 April 2022, 22:15 | #379 | |
Registered User
Join Date: Jan 2008
Location: Warsaw/Poland
Age: 56
Posts: 2,049
|
Quote:
I dont use longer waits than 8 lines. For some players, like Sonic Arranger i dont used scan lines waits. CPU time is not important for 4 channel soundformats under Amiga OS. More important is working on all CPUs and screen modes without problems. When i was young, dont exists Amigas with 68000 50 MHz, 68060 100 MHz, 68010 or 68080. Anyway seems that if Muzza is using 8 lines wait from my TFMX 7V replay then it must works for jotd 68060 too, if 4 lines is enough on jotd config. |
|
29 April 2022, 00:47 | #380 |
Registered User
Join Date: Sep 2019
Location: Sydney
Posts: 357
|
I used the Turrican 2 WHDLoad source for the DMA delay code. It looks like this:
Code:
DMADelay: move.w d0,-(a7) move.w #8,d0 .bd_loop1 move.w d0,-(a7) move.b $dff006,d0 ; VPOS .bd_loop2 cmp.b $dff006,d0 beq.s .bd_loop2 move.w (a7)+,d0 dbf d0,.bd_loop1 move.w (a7)+,d0 rts |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Which ECS to AGA conversion worth playing? | superturrican2 | support.Games | 8 | 16 December 2018 23:03 |
turrican,lotus etc aga version ??? why never done ? | turrican3 | Retrogaming General Discussion | 6 | 24 July 2013 12:22 |
Best way to play Turrican 2 PC dos | buckrogers | Retrogaming General Discussion | 17 | 24 October 2005 12:25 |
Turrican 2 AGA+HD fixed | Ollibolli | request.Old Rare Games | 17 | 24 September 2002 04:13 |
|
|