English Amiga Board


Go Back   English Amiga Board > Coders > Coders. General

 
 
Thread Tools
Old 14 July 2024, 13:06   #201
abu_the_monkey
Registered User
 
Join Date: Oct 2020
Location: Bicester
Posts: 2,066
as requested. Apollo 1240@40

Code:
Got Timer, tick frequency is 709379 Hz
Loaded sounds/airstrike.raw [60460 bytes] at 0x12bea80
Test case 0:
	Mix : None (data fectch only)
	Norm: None (data write only)
	Info: Move16 fetch, target 68040/60

	Mixing  1 channel(s):    38262 ticks 189 packets
	Mixing  2 channel(s):    41067 ticks 189 packets
	Mixing  3 channel(s):    46106 ticks 189 packets
	Mixing  4 channel(s):    47412 ticks 189 packets
	Mixing  5 channel(s):    50888 ticks 189 packets
	Mixing  6 channel(s):    53516 ticks 189 packets
	Mixing  7 channel(s):    56062 ticks 189 packets
	Mixing  8 channel(s):    60356 ticks 189 packets
	Mixing  9 channel(s):    62955 ticks 189 packets
	Mixing 10 channel(s):    66026 ticks 189 packets
	Mixing 11 channel(s):    69822 ticks 189 packets
	Mixing 12 channel(s):    71968 ticks 189 packets
	Mixing 13 channel(s):    76486 ticks 189 packets
	Mixing 14 channel(s):    80697 ticks 189 packets
	Mixing 15 channel(s):    81467 ticks 189 packets
	Mixing 16 channel(s):    84157 ticks 189 packets
Test case 1:
	Mix : Multiplication
	Norm: Multiplication/Shift
	Info: Move16 fetch, target 68060

	Mixing  1 channel(s):   104047 ticks 189 packets
	Mixing  2 channel(s):   155481 ticks 189 packets
	Mixing  3 channel(s):   205045 ticks 189 packets
	Mixing  4 channel(s):   249343 ticks 189 packets
	Mixing  5 channel(s):   302113 ticks 189 packets
	Mixing  6 channel(s):   346093 ticks 189 packets
	Mixing  7 channel(s):   388344 ticks 189 packets
	Mixing  8 channel(s):   439071 ticks 189 packets
	Mixing  9 channel(s):   484781 ticks 189 packets
	Mixing 10 channel(s):   529004 ticks 189 packets
	Mixing 11 channel(s):   576807 ticks 189 packets
	Mixing 12 channel(s):   623998 ticks 189 packets
	Mixing 13 channel(s):   673350 ticks 189 packets
	Mixing 14 channel(s):   716279 ticks 189 packets
	Mixing 15 channel(s):   762594 ticks 189 packets
	Mixing 16 channel(s):   788144 ticks 189 packets
Test case 2:
	Mix : Shift Only
	Norm: Multiplication/Shift
	Info: Move16 fetch, target 68040

	Mixing  1 channel(s):    93242 ticks 189 packets
	Mixing  2 channel(s):   129756 ticks 189 packets
	Mixing  3 channel(s):   158397 ticks 189 packets
	Mixing  4 channel(s):   189102 ticks 189 packets
	Mixing  5 channel(s):   221582 ticks 189 packets
	Mixing  6 channel(s):   254914 ticks 189 packets
	Mixing  7 channel(s):   284060 ticks 189 packets
	Mixing  8 channel(s):   318156 ticks 189 packets
	Mixing  9 channel(s):   345797 ticks 189 packets
	Mixing 10 channel(s):   379714 ticks 189 packets
	Mixing 11 channel(s):   408949 ticks 189 packets
	Mixing 12 channel(s):   442674 ticks 189 packets
	Mixing 13 channel(s):   474378 ticks 189 packets
	Mixing 14 channel(s):   505013 ticks 189 packets
	Mixing 15 channel(s):   535860 ticks 189 packets
	Mixing 16 channel(s):   554053 ticks 189 packets
Test case 3:
	Mix : Lookup
	Norm: Multiplication/Shift
	Info: Move16 fetch, target 68040/60

	Mixing  1 channel(s):    95102 ticks 189 packets
	Mixing  2 channel(s):   124686 ticks 189 packets
	Mixing  3 channel(s):   151468 ticks 189 packets
	Mixing  4 channel(s):   178837 ticks 189 packets
	Mixing  5 channel(s):   206412 ticks 189 packets
	Mixing  6 channel(s):   237385 ticks 189 packets
	Mixing  7 channel(s):   269127 ticks 189 packets
	Mixing  8 channel(s):   296815 ticks 189 packets
	Mixing  9 channel(s):   322307 ticks 189 packets
	Mixing 10 channel(s):   351619 ticks 189 packets
	Mixing 11 channel(s):   381851 ticks 189 packets
	Mixing 12 channel(s):   400917 ticks 189 packets
	Mixing 13 channel(s):   431904 ticks 189 packets
	Mixing 14 channel(s):   456465 ticks 189 packets
	Mixing 15 channel(s):   486514 ticks 189 packets
	Mixing 16 channel(s):   506035 ticks 189 packets
Test case 4:
	Mix : Delta Lookup
	Norm: Multiplication/Shift
	Info: Move16 fetch, target 68040/60

	Mixing  1 channel(s):    97014 ticks 189 packets
	Mixing  2 channel(s):   134346 ticks 189 packets
	Mixing  3 channel(s):   166873 ticks 189 packets
	Mixing  4 channel(s):   199198 ticks 189 packets
	Mixing  5 channel(s):   236140 ticks 189 packets
	Mixing  6 channel(s):   270004 ticks 189 packets
	Mixing  7 channel(s):   307443 ticks 189 packets
	Mixing  8 channel(s):   339725 ticks 189 packets
	Mixing  9 channel(s):   372852 ticks 189 packets
	Mixing 10 channel(s):   401830 ticks 189 packets
	Mixing 11 channel(s):   434775 ticks 189 packets
	Mixing 12 channel(s):   467363 ticks 189 packets
	Mixing 13 channel(s):   498165 ticks 189 packets
	Mixing 14 channel(s):   540029 ticks 189 packets
	Mixing 15 channel(s):   566729 ticks 189 packets
	Mixing 16 channel(s):   585569 ticks 189 packets
Preencoding sample data at 0x12bea80, 3779 frames...
Preencoding sample data at 0x13e8860, 3779 frames...
Test case 5:
	Mix : Delta Lookup (Pre-encoded source)
	Norm: Multiplication/Shift
	Info: Move16 fetch, target 68040

	Mixing  1 channel(s):    94100 ticks 189 packets
	Mixing  2 channel(s):   124813 ticks 189 packets
	Mixing  3 channel(s):   150709 ticks 189 packets
	Mixing  4 channel(s):   177561 ticks 189 packets
	Mixing  5 channel(s):   203244 ticks 189 packets
	Mixing  6 channel(s):   232850 ticks 189 packets
	Mixing  7 channel(s):   262880 ticks 189 packets
	Mixing  8 channel(s):   287542 ticks 189 packets
	Mixing  9 channel(s):   311968 ticks 189 packets
	Mixing 10 channel(s):   346801 ticks 189 packets
	Mixing 11 channel(s):   361729 ticks 189 packets
	Mixing 12 channel(s):   389527 ticks 189 packets
	Mixing 13 channel(s):   415901 ticks 189 packets
	Mixing 14 channel(s):   439177 ticks 189 packets
	Mixing 15 channel(s):   467195 ticks 189 packets
	Mixing 16 channel(s):   481485 ticks 189 packets
abu_the_monkey is offline  
Old 14 July 2024, 13:25   #202
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,755
I think the hunch that there was too much to do per sample to do the delta analysis on the fly was on point.

Comparing the linear to the pre-encoded delta, what we are hopefully seeing is the improvement in cache accesses.

I am going to do a really dirty and crude calculation here. If we subract the null mixer time we should be removing the overhead of the source data fetch and chip write* and be left only with the actual mixing and normalisation time. For the 16 channel cases:

Multiplication: 788144 - 84157 = 703987
Shift Only: 554053 - 84157 = 469896
Linear Lookup: 506035 - 84157 = 421878
Delta Lookup: 585569 - 84157 = 501412
Preencoded Delta Lookup: 481485 - 84157 = 397328


I honestly expected the Shift Only version to be fastest, but based on that, it's 18.3% faster. I am going to have to look long and hard at that because I'm struggling to undersand how that can be the case. Shifting by a value in a register should cost almost nothing.

*note that we know the real workload hides work behind the writes.
Karlos is online now  
Old 14 July 2024, 13:37   #203
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,755
While I can't explain the shift only result (some sort of horrible pipeline stall I guess), the linear versus pre-encoded delta is more in line with what I was expecting. Worth noting that because all the channels are using the same source sounds with different offsets (all multiples of 16), the linear lookup case here is almost certainly better than it would otherwise be, since lookups for one channel will result in the data still being in the cache for another one soon after. That won't be the case normally.

Last edited by Karlos; 14 July 2024 at 13:48.
Karlos is online now  
Old 14 July 2024, 13:41   #204
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,755
Since our mixing runs are only a cache line at once, it's probably worth unrolling some of these.
Karlos is online now  
Old 14 July 2024, 14:12   #205
paraj
Registered User
 
paraj's Avatar
 
Join Date: Feb 2017
Location: Denmark
Posts: 1,281
060 results for good measure.
Code:
Got Timer, tick frequency is 709379 Hz
Loaded sounds/airstrike.raw [60460 bytes] at 0x68bfc110
Test case 0:
	Mix : None (data fectch only)
	Norm: None (data write only)
	Info: Move16 fetch, target 68040/60

	Mixing  1 channel(s):    28091 ticks 189 packets
	Mixing  2 channel(s):    32478 ticks 189 packets
	Mixing  3 channel(s):    34929 ticks 189 packets
	Mixing  4 channel(s):    37561 ticks 189 packets
	Mixing  5 channel(s):    39778 ticks 189 packets
	Mixing  6 channel(s):    42932 ticks 189 packets
	Mixing  7 channel(s):    45105 ticks 189 packets
	Mixing  8 channel(s):    48237 ticks 189 packets
	Mixing  9 channel(s):    50233 ticks 189 packets
	Mixing 10 channel(s):    52975 ticks 189 packets
	Mixing 11 channel(s):    55874 ticks 189 packets
	Mixing 12 channel(s):    58548 ticks 189 packets
	Mixing 13 channel(s):    60968 ticks 189 packets
	Mixing 14 channel(s):    64066 ticks 189 packets
	Mixing 15 channel(s):    65825 ticks 189 packets
	Mixing 16 channel(s):    67801 ticks 189 packets
Test case 1:
	Mix : Multiplication
	Norm: Multiplication/Shift
	Info: Move16 fetch, target 68060

	Mixing  1 channel(s):    47943 ticks 189 packets
	Mixing  2 channel(s):    64917 ticks 189 packets
	Mixing  3 channel(s):    79624 ticks 189 packets
	Mixing  4 channel(s):    94172 ticks 189 packets
	Mixing  5 channel(s):   108015 ticks 189 packets
	Mixing  6 channel(s):   122202 ticks 189 packets
	Mixing  7 channel(s):   136846 ticks 189 packets
	Mixing  8 channel(s):   151261 ticks 189 packets
	Mixing  9 channel(s):   165008 ticks 189 packets
	Mixing 10 channel(s):   179984 ticks 189 packets
	Mixing 11 channel(s):   193753 ticks 189 packets
	Mixing 12 channel(s):   208361 ticks 189 packets
	Mixing 13 channel(s):   222461 ticks 189 packets
	Mixing 14 channel(s):   236959 ticks 189 packets
	Mixing 15 channel(s):   250189 ticks 189 packets
	Mixing 16 channel(s):   260117 ticks 189 packets
Test case 2:
	Mix : Shift Only
	Norm: Multiplication/Shift
	Info: Move16 fetch, target 68040

	Mixing  1 channel(s):    48941 ticks 189 packets
	Mixing  2 channel(s):    68683 ticks 189 packets
	Mixing  3 channel(s):    82186 ticks 189 packets
	Mixing  4 channel(s):    96897 ticks 189 packets
	Mixing  5 channel(s):   111798 ticks 189 packets
	Mixing  6 channel(s):   126199 ticks 189 packets
	Mixing  7 channel(s):   141283 ticks 189 packets
	Mixing  8 channel(s):   155747 ticks 189 packets
	Mixing  9 channel(s):   170288 ticks 189 packets
	Mixing 10 channel(s):   185352 ticks 189 packets
	Mixing 11 channel(s):   199467 ticks 189 packets
	Mixing 12 channel(s):   214552 ticks 189 packets
	Mixing 13 channel(s):   229121 ticks 189 packets
	Mixing 14 channel(s):   243713 ticks 189 packets
	Mixing 15 channel(s):   257308 ticks 189 packets
	Mixing 16 channel(s):   267358 ticks 189 packets
Test case 3:
	Mix : Lookup
	Norm: Multiplication/Shift
	Info: Move16 fetch, target 68040/60

	Mixing  1 channel(s):    50908 ticks 189 packets
	Mixing  2 channel(s):    73036 ticks 189 packets
	Mixing  3 channel(s):    91123 ticks 189 packets
	Mixing  4 channel(s):   109890 ticks 189 packets
	Mixing  5 channel(s):   127994 ticks 189 packets
	Mixing  6 channel(s):   145942 ticks 189 packets
	Mixing  7 channel(s):   165852 ticks 189 packets
	Mixing  8 channel(s):   186309 ticks 189 packets
	Mixing  9 channel(s):   202551 ticks 189 packets
	Mixing 10 channel(s):   222043 ticks 189 packets
	Mixing 11 channel(s):   239704 ticks 189 packets
	Mixing 12 channel(s):   258584 ticks 189 packets
	Mixing 13 channel(s):   275865 ticks 189 packets
	Mixing 14 channel(s):   294273 ticks 189 packets
	Mixing 15 channel(s):   312876 ticks 189 packets
	Mixing 16 channel(s):   323808 ticks 189 packets
Test case 4:
	Mix : Delta Lookup
	Norm: Multiplication/Shift
	Info: Move16 fetch, target 68040/60

	Mixing  1 channel(s):    51653 ticks 189 packets
	Mixing  2 channel(s):    75233 ticks 189 packets
	Mixing  3 channel(s):    94751 ticks 189 packets
	Mixing  4 channel(s):   114344 ticks 189 packets
	Mixing  5 channel(s):   134937 ticks 189 packets
	Mixing  6 channel(s):   155077 ticks 189 packets
	Mixing  7 channel(s):   175402 ticks 189 packets
	Mixing  8 channel(s):   197675 ticks 189 packets
	Mixing  9 channel(s):   216831 ticks 189 packets
	Mixing 10 channel(s):   236820 ticks 189 packets
	Mixing 11 channel(s):   255212 ticks 189 packets
	Mixing 12 channel(s):   275194 ticks 189 packets
	Mixing 13 channel(s):   294581 ticks 189 packets
	Mixing 14 channel(s):   315643 ticks 189 packets
	Mixing 15 channel(s):   332874 ticks 189 packets
	Mixing 16 channel(s):   346663 ticks 189 packets
Preencoding sample data at 0x68bfc110, 3779 frames...
Preencoding sample data at 0x68c0ad60, 3779 frames...
Test case 5:
	Mix : Delta Lookup (Pre-encoded source)
	Norm: Multiplication/Shift
	Info: Move16 fetch, target 68040

	Mixing  1 channel(s):    50401 ticks 189 packets
	Mixing  2 channel(s):    72371 ticks 189 packets
	Mixing  3 channel(s):    90496 ticks 189 packets
	Mixing  4 channel(s):   109184 ticks 189 packets
	Mixing  5 channel(s):   127111 ticks 189 packets
	Mixing  6 channel(s):   146079 ticks 189 packets
	Mixing  7 channel(s):   164857 ticks 189 packets
	Mixing  8 channel(s):   184502 ticks 189 packets
	Mixing  9 channel(s):   203924 ticks 189 packets
	Mixing 10 channel(s):   221640 ticks 189 packets
	Mixing 11 channel(s):   239556 ticks 189 packets
	Mixing 12 channel(s):   256937 ticks 189 packets
	Mixing 13 channel(s):   277273 ticks 189 packets
	Mixing 14 channel(s):   294712 ticks 189 packets
	Mixing 15 channel(s):   314401 ticks 189 packets
	Mixing 16 channel(s):   325140 ticks 189 packets
paraj is offline  
Old 14 July 2024, 14:22   #206
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,755
There's no question the 060 version should stick with multiplication based mixing.

I think that one obvious thing coming out here is that the maximum number of effective channels should be user definable, e.g. you may have a fundamental limit of 16 but a user might restrict it to a lower value than that.
Karlos is online now  
Old 14 July 2024, 18:31   #207
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,755
I think the next piece of the puzzle is music.

I have a dilemma here. I might want the music to be at a higher sample rate than the sounds, but that's just not how the mixer works right now. I am contemplating a simple scheme of full and half rate samples. Half rate could be trivially upsampled on the fly but I'd prefer to do that in a manner that doesn't duplicate a bunch of operations later, e.g. mix all the half rate, upsampled the intermediate, mix all the full rate. Something like that.
Karlos is online now  
Old 14 July 2024, 19:10   #208
paraj
Registered User
 
paraj's Avatar
 
Join Date: Feb 2017
Location: Denmark
Posts: 1,281
Quote:
Originally Posted by Karlos View Post
There's no question the 060 version should stick with multiplication based mixing.

I think that one obvious thing coming out here is that the maximum number of effective channels should be user definable, e.g. you may have a fundamental limit of 16 but a user might restrict it to a lower value than that.

Yes, just added results so there's timing for baseline case there as well. Also interesting to see "shift only" results. On 060 they're more in line with my intuition. Like you suggest there must be some weird pipeline thing in effect, but I just can't think of a good reason why that would be the case. I'd expect a mem lookup would need to result earlier in the pipeline, but maybe I should just forget about it



Quote:
Originally Posted by Karlos View Post
I think the next piece of the puzzle is music.

I have a dilemma here. I might want the music to be at a higher sample rate than the sounds, but that's just not how the mixer works right now. I am contemplating a simple scheme of full and half rate samples. Half rate could be trivially upsampled on the fly but I'd prefer to do that in a manner that doesn't duplicate a bunch of operations later, e.g. mix all the half rate, upsampled the intermediate, mix all the full rate. Something like that.

Right now "music" (at least in base game) is just one channel most (all?) of the time right? Does it actually use the mod player capability?


For the reworked engine ADPCM might even be more appropriate..


For low spec machines at least, you could consider giving music 2 channels (1L/1R) and only mixing for SFX. Just an idea.
paraj is offline  
Old 14 July 2024, 19:16   #209
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,755
The current music engine is a single channel mod. It uses a full hardware channel for that, meaning that 4 and 8 channel mode are really 3 and 6 channel mode respectively. On the plus side, it does fully decouple the music from the sound effects allowing it to use a higher sample rate, which I make some use of with the remixed version of the music.

My plan for music with this system has always been to decode a stream directly into the accumulation buffers (instead of clearing them) and mix on top of it. One benefit being that we can theoretically do better than 8-bit for our stream. I am a bit worried about the overall quality though, particularly the sample rate. 16kHz is already a lot better for the sound effects (if using properly sourced data) but isn't great for music.

It's all a bit moot until I implement the actual output end mind. So far I'm just evaluating everything by dumping the buffers and using a quick script to reassemble them into 16 bit audio.
Karlos is online now  
Old Today, 16:24   #210
patrik
Registered User
 
patrik's Avatar
 
Join Date: Jan 2005
Location: Umeå
Age: 44
Posts: 961
Quote:
Originally Posted by abu_the_monkey View Post
as requested. Apollo 1240@40

Code:
Got Timer, tick frequency is 709379 Hz
Loaded sounds/airstrike.raw [60460 bytes] at 0x12bea80
Test case 0:
	Mix : None (data fectch only)
	Norm: None (data write only)
	Info: Move16 fetch, target 68040/60

	Mixing  1 channel(s):    38262 ticks 189 packets
	Mixing  2 channel(s):    41067 ticks 189 packets
	Mixing  3 channel(s):    46106 ticks 189 packets
	Mixing  4 channel(s):    47412 ticks 189 packets
	Mixing  5 channel(s):    50888 ticks 189 packets
	Mixing  6 channel(s):    53516 ticks 189 packets
	Mixing  7 channel(s):    56062 ticks 189 packets
	Mixing  8 channel(s):    60356 ticks 189 packets
	Mixing  9 channel(s):    62955 ticks 189 packets
	Mixing 10 channel(s):    66026 ticks 189 packets
	Mixing 11 channel(s):    69822 ticks 189 packets
	Mixing 12 channel(s):    71968 ticks 189 packets
	Mixing 13 channel(s):    76486 ticks 189 packets
	Mixing 14 channel(s):    80697 ticks 189 packets
	Mixing 15 channel(s):    81467 ticks 189 packets
	Mixing 16 channel(s):    84157 ticks 189 packets
Test case 1:
	Mix : Multiplication
	Norm: Multiplication/Shift
	Info: Move16 fetch, target 68060

	Mixing  1 channel(s):   104047 ticks 189 packets
	Mixing  2 channel(s):   155481 ticks 189 packets
	Mixing  3 channel(s):   205045 ticks 189 packets
	Mixing  4 channel(s):   249343 ticks 189 packets
	Mixing  5 channel(s):   302113 ticks 189 packets
	Mixing  6 channel(s):   346093 ticks 189 packets
	Mixing  7 channel(s):   388344 ticks 189 packets
	Mixing  8 channel(s):   439071 ticks 189 packets
	Mixing  9 channel(s):   484781 ticks 189 packets
	Mixing 10 channel(s):   529004 ticks 189 packets
	Mixing 11 channel(s):   576807 ticks 189 packets
	Mixing 12 channel(s):   623998 ticks 189 packets
	Mixing 13 channel(s):   673350 ticks 189 packets
	Mixing 14 channel(s):   716279 ticks 189 packets
	Mixing 15 channel(s):   762594 ticks 189 packets
	Mixing 16 channel(s):   788144 ticks 189 packets
Test case 2:
	Mix : Shift Only
	Norm: Multiplication/Shift
	Info: Move16 fetch, target 68040

	Mixing  1 channel(s):    93242 ticks 189 packets
	Mixing  2 channel(s):   129756 ticks 189 packets
	Mixing  3 channel(s):   158397 ticks 189 packets
	Mixing  4 channel(s):   189102 ticks 189 packets
	Mixing  5 channel(s):   221582 ticks 189 packets
	Mixing  6 channel(s):   254914 ticks 189 packets
	Mixing  7 channel(s):   284060 ticks 189 packets
	Mixing  8 channel(s):   318156 ticks 189 packets
	Mixing  9 channel(s):   345797 ticks 189 packets
	Mixing 10 channel(s):   379714 ticks 189 packets
	Mixing 11 channel(s):   408949 ticks 189 packets
	Mixing 12 channel(s):   442674 ticks 189 packets
	Mixing 13 channel(s):   474378 ticks 189 packets
	Mixing 14 channel(s):   505013 ticks 189 packets
	Mixing 15 channel(s):   535860 ticks 189 packets
	Mixing 16 channel(s):   554053 ticks 189 packets
Test case 3:
	Mix : Lookup
	Norm: Multiplication/Shift
	Info: Move16 fetch, target 68040/60

	Mixing  1 channel(s):    95102 ticks 189 packets
	Mixing  2 channel(s):   124686 ticks 189 packets
	Mixing  3 channel(s):   151468 ticks 189 packets
	Mixing  4 channel(s):   178837 ticks 189 packets
	Mixing  5 channel(s):   206412 ticks 189 packets
	Mixing  6 channel(s):   237385 ticks 189 packets
	Mixing  7 channel(s):   269127 ticks 189 packets
	Mixing  8 channel(s):   296815 ticks 189 packets
	Mixing  9 channel(s):   322307 ticks 189 packets
	Mixing 10 channel(s):   351619 ticks 189 packets
	Mixing 11 channel(s):   381851 ticks 189 packets
	Mixing 12 channel(s):   400917 ticks 189 packets
	Mixing 13 channel(s):   431904 ticks 189 packets
	Mixing 14 channel(s):   456465 ticks 189 packets
	Mixing 15 channel(s):   486514 ticks 189 packets
	Mixing 16 channel(s):   506035 ticks 189 packets
Test case 4:
	Mix : Delta Lookup
	Norm: Multiplication/Shift
	Info: Move16 fetch, target 68040/60

	Mixing  1 channel(s):    97014 ticks 189 packets
	Mixing  2 channel(s):   134346 ticks 189 packets
	Mixing  3 channel(s):   166873 ticks 189 packets
	Mixing  4 channel(s):   199198 ticks 189 packets
	Mixing  5 channel(s):   236140 ticks 189 packets
	Mixing  6 channel(s):   270004 ticks 189 packets
	Mixing  7 channel(s):   307443 ticks 189 packets
	Mixing  8 channel(s):   339725 ticks 189 packets
	Mixing  9 channel(s):   372852 ticks 189 packets
	Mixing 10 channel(s):   401830 ticks 189 packets
	Mixing 11 channel(s):   434775 ticks 189 packets
	Mixing 12 channel(s):   467363 ticks 189 packets
	Mixing 13 channel(s):   498165 ticks 189 packets
	Mixing 14 channel(s):   540029 ticks 189 packets
	Mixing 15 channel(s):   566729 ticks 189 packets
	Mixing 16 channel(s):   585569 ticks 189 packets
Preencoding sample data at 0x12bea80, 3779 frames...
Preencoding sample data at 0x13e8860, 3779 frames...
Test case 5:
	Mix : Delta Lookup (Pre-encoded source)
	Norm: Multiplication/Shift
	Info: Move16 fetch, target 68040

	Mixing  1 channel(s):    94100 ticks 189 packets
	Mixing  2 channel(s):   124813 ticks 189 packets
	Mixing  3 channel(s):   150709 ticks 189 packets
	Mixing  4 channel(s):   177561 ticks 189 packets
	Mixing  5 channel(s):   203244 ticks 189 packets
	Mixing  6 channel(s):   232850 ticks 189 packets
	Mixing  7 channel(s):   262880 ticks 189 packets
	Mixing  8 channel(s):   287542 ticks 189 packets
	Mixing  9 channel(s):   311968 ticks 189 packets
	Mixing 10 channel(s):   346801 ticks 189 packets
	Mixing 11 channel(s):   361729 ticks 189 packets
	Mixing 12 channel(s):   389527 ticks 189 packets
	Mixing 13 channel(s):   415901 ticks 189 packets
	Mixing 14 channel(s):   439177 ticks 189 packets
	Mixing 15 channel(s):   467195 ticks 189 packets
	Mixing 16 channel(s):   481485 ticks 189 packets
Accidentally ended up with an Apollo1240@40MHz, so gave this a run.

I am getting way lower results though. Originally thought it was because I was running DblNTSC 8c, but switching to PAL Hires 4c only improved the results slightly.

Results at Pal Hires 4c:
Code:
mini:~ patrik$ rsh a1200 "cd ram:tkg-mixer-main; mixer"
Got Timer, tick frequency is 709379 Hz
Loaded sounds/airstrike.raw [60460 bytes] at 0x16c7750
Test case 0:
	Mix : None (data fectch only)
	Norm: None (data write only)
	Info: Move16 fetch, target 68040/60

	Mixing  1 channel(s):    41524 ticks 189 packets
	Mixing  2 channel(s):    45230 ticks 189 packets
	Mixing  3 channel(s):    48619 ticks 189 packets
	Mixing  4 channel(s):    52148 ticks 189 packets
	Mixing  5 channel(s):    56098 ticks 189 packets
	Mixing  6 channel(s):    59533 ticks 189 packets
	Mixing  7 channel(s):    63265 ticks 189 packets
	Mixing  8 channel(s):    67060 ticks 189 packets
	Mixing  9 channel(s):    70024 ticks 189 packets
	Mixing 10 channel(s):    74019 ticks 189 packets
	Mixing 11 channel(s):    77708 ticks 189 packets
	Mixing 12 channel(s):    82480 ticks 189 packets
	Mixing 13 channel(s):    84609 ticks 189 packets
	Mixing 14 channel(s):    88622 ticks 189 packets
	Mixing 15 channel(s):    92185 ticks 189 packets
	Mixing 16 channel(s):    95312 ticks 189 packets
Test case 1:
	Mix : Multiplication
	Norm: Multiplication/Shift
	Info: Move16 fetch, target 68060

	Mixing  1 channel(s):   112562 ticks 189 packets
	Mixing  2 channel(s):   172102 ticks 189 packets
	Mixing  3 channel(s):   227313 ticks 189 packets
	Mixing  4 channel(s):   281511 ticks 189 packets
	Mixing  5 channel(s):   336082 ticks 189 packets
	Mixing  6 channel(s):   399388 ticks 189 packets
	Mixing  7 channel(s):   446608 ticks 189 packets
	Mixing  8 channel(s):   499864 ticks 189 packets
	Mixing  9 channel(s):   554432 ticks 189 packets
	Mixing 10 channel(s):   608261 ticks 189 packets
	Mixing 11 channel(s):   661827 ticks 189 packets
	Mixing 12 channel(s):   722105 ticks 189 packets
	Mixing 13 channel(s):   771687 ticks 189 packets
	Mixing 14 channel(s):   825086 ticks 189 packets
	Mixing 15 channel(s):   878710 ticks 189 packets
	Mixing 16 channel(s):   910019 ticks 189 packets
Test case 2:
	Mix : Shift Only
	Norm: Multiplication/Shift
	Info: Move16 fetch, target 68040

	Mixing  1 channel(s):   100412 ticks 189 packets
	Mixing  2 channel(s):   142452 ticks 189 packets
	Mixing  3 channel(s):   181257 ticks 189 packets
	Mixing  4 channel(s):   220722 ticks 189 packets
	Mixing  5 channel(s):   260411 ticks 189 packets
	Mixing  6 channel(s):   299921 ticks 189 packets
	Mixing  7 channel(s):   340293 ticks 189 packets
	Mixing  8 channel(s):   378202 ticks 189 packets
	Mixing  9 channel(s):   417917 ticks 189 packets
	Mixing 10 channel(s):   456530 ticks 189 packets
	Mixing 11 channel(s):   495774 ticks 189 packets
	Mixing 12 channel(s):   542505 ticks 189 packets
	Mixing 13 channel(s):   574277 ticks 189 packets
	Mixing 14 channel(s):   613807 ticks 189 packets
	Mixing 15 channel(s):   654961 ticks 189 packets
	Mixing 16 channel(s):   675072 ticks 189 packets
Test case 3:
	Mix : Lookup
	Norm: Multiplication/Shift
	Info: Move16 fetch, target 68040/60

	Mixing  1 channel(s):   102473 ticks 189 packets
	Mixing  2 channel(s):   143769 ticks 189 packets
	Mixing  3 channel(s):   179946 ticks 189 packets
	Mixing  4 channel(s):   215978 ticks 189 packets
	Mixing  5 channel(s):   262979 ticks 189 packets
	Mixing  6 channel(s):   302454 ticks 189 packets
	Mixing  7 channel(s):   344982 ticks 189 packets
	Mixing  8 channel(s):   387834 ticks 189 packets
	Mixing  9 channel(s):   424685 ticks 189 packets
	Mixing 10 channel(s):   461663 ticks 189 packets
	Mixing 11 channel(s):   500451 ticks 189 packets
	Mixing 12 channel(s):   535603 ticks 189 packets
	Mixing 13 channel(s):   580778 ticks 189 packets
	Mixing 14 channel(s):   615716 ticks 189 packets
	Mixing 15 channel(s):   655865 ticks 189 packets
	Mixing 16 channel(s):   680289 ticks 189 packets
Test case 4:
	Mix : Delta Lookup
	Norm: Multiplication/Shift
	Info: Move16 fetch, target 68040/60

	Mixing  1 channel(s):   103494 ticks 189 packets
	Mixing  2 channel(s):   146675 ticks 189 packets
	Mixing  3 channel(s):   184470 ticks 189 packets
	Mixing  4 channel(s):   221333 ticks 189 packets
	Mixing  5 channel(s):   265491 ticks 189 packets
	Mixing  6 channel(s):   311530 ticks 189 packets
	Mixing  7 channel(s):   358642 ticks 189 packets
	Mixing  8 channel(s):   393745 ticks 189 packets
	Mixing  9 channel(s):   431983 ticks 189 packets
	Mixing 10 channel(s):   469907 ticks 189 packets
	Mixing 11 channel(s):   509093 ticks 189 packets
	Mixing 12 channel(s):   544752 ticks 189 packets
	Mixing 13 channel(s):   586409 ticks 189 packets
	Mixing 14 channel(s):   633521 ticks 189 packets
	Mixing 15 channel(s):   666312 ticks 189 packets
	Mixing 16 channel(s):   688416 ticks 189 packets
Preencoding sample data at 0x16c7750, 3779 frames...
Preencoding sample data at 0x16d63a0, 3779 frames...
Test case 5:
	Mix : Delta Lookup (Pre-encoded source)
	Norm: Multiplication/Shift
	Info: Move16 fetch, target 68040

	Mixing  1 channel(s):   101889 ticks 189 packets
	Mixing  2 channel(s):   142785 ticks 189 packets
	Mixing  3 channel(s):   178062 ticks 189 packets
	Mixing  4 channel(s):   214533 ticks 189 packets
	Mixing  5 channel(s):   253530 ticks 189 packets
	Mixing  6 channel(s):   295583 ticks 189 packets
	Mixing  7 channel(s):   335529 ticks 189 packets
	Mixing  8 channel(s):   373664 ticks 189 packets
	Mixing  9 channel(s):   411765 ticks 189 packets
	Mixing 10 channel(s):   446064 ticks 189 packets
	Mixing 11 channel(s):   479114 ticks 189 packets
	Mixing 12 channel(s):   514391 ticks 189 packets
	Mixing 13 channel(s):   553134 ticks 189 packets
	Mixing 14 channel(s):   592174 ticks 189 packets
	Mixing 15 channel(s):   631658 ticks 189 packets
	Mixing 16 channel(s):   647546 ticks 189 packets
Kickstart/OS3.2.1, latest 68040.library/mmu.library, running RemApollo so kickstart and execbase is in fast, no obvious things I can think of that would make it slow.

Also a slight bug report: if the mixer exe is not started from the directory where it is located, it does some bad stuff, very slowly, not even completing test case 0, eventually causing a black screen. Console output wise, it is missing the audio filename printout:
Code:
mini:~ patrik$ rsh a1200 ram:tkg-mixer-main/mixer
Got Timer, tick frequency is 709379 Hz
Test case 0:
	Mix : None (data fectch only)
	Norm: None (data write only)
	Info: Move16 fetch, target 68040/60

	Mixing  1 channel(s
patrik is online now  
Old Today, 16:28   #211
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,755
You're saying my terrible test application is terrible?

I need to lie down !
Karlos is online now  
Old Today, 16:29   #212
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,755
I need to put all these into a spreadsheet at some point and do some proper analysis.

Thanks for taking the time to test it.
Karlos is online now  
Old Today, 17:40   #213
patrik
Registered User
 
patrik's Avatar
 
Join Date: Jan 2005
Location: Umeå
Age: 44
Posts: 961
Quote:
Originally Posted by Karlos View Post
You're saying my terrible test application is terrible?

I need to lie down !
Not a fault at your end, the performance discrepancy is me not having my system in order. Did some digging around and found the reason for the big difference in speed between mine and abu's system:

Apparently RemApollo + MMULib 68040.library/mmu.library is not a match in heaven: as RemApollo already has enabled the MMU via its resident before MMULib is activated by SetPatch, MMULib does not set chip memory to "IMPRECISE NONSERIALIZED", which gives unnecessarily slow chipmem read speeds.

To illustrate this in actual numbers:

RemApollo + MMULib 68040.library/mmu.library at PAL Hires 4c:
Code:
mini:~ patrik$ rsh a1200 bustest chip
BusSpeedTest 0.19 (mlelstv)   Buffer:     262144 Bytes, Alignment: 32768
========================================================================
memtype   addr       op         cycle     calib         bandwidth
chip      $00030000  readw     888.8 ns   normal       2.3 * 10^6 byte/s
chip      $00030000  readl     889.1 ns   normal       4.5 * 10^6 byte/s
chip      $00030000  readm     889.7 ns   normal       4.5 * 10^6 byte/s
chip      $00030000  writew    656.3 ns   normal       3.0 * 10^6 byte/s
chip      $00030000  writel    656.2 ns   normal       6.1 * 10^6 byte/s
chip      $00030000  writem    652.5 ns   normal       6.1 * 10^6 byte/s
If I instead go full MMULib and use MuMove4k + MuFastZero + MuFastROM (instead of RemApollo to move execbase and kickstart to fastmem), so MMULib gets to enable the MMU, I get this result:
Code:
mini:~ patrik$ rsh a1200 bustest chip
BusSpeedTest 0.19 (mlelstv)   Buffer:     262144 Bytes, Alignment: 32768
========================================================================
memtype   addr       op         cycle     calib         bandwidth
chip      $00038000  readw     657.0 ns   normal       3.0 * 10^6 byte/s
chip      $00038000  readl     656.7 ns   normal       6.1 * 10^6 byte/s
chip      $00038000  readm     670.6 ns   normal       6.0 * 10^6 byte/s
chip      $00038000  writew    654.7 ns   normal       3.1 * 10^6 byte/s
chip      $00038000  writel    654.7 ns   normal       6.1 * 10^6 byte/s
chip      $00038000  writem    651.5 ns   normal       6.1 * 10^6 byte/s
Now the TKG mixer results looks way better (PAL Hires 4c):
Code:
mini:~ patrik$ rsh a1200 "cd ram:tkg-mixer-main; mixer"
Got Timer, tick frequency is 709379 Hz
Loaded sounds/airstrike.raw [60460 bytes] at 0x14887c0
Test case 0:
	Mix : None (data fectch only)
	Norm: None (data write only)
	Info: Move16 fetch, target 68040/60

	Mixing  1 channel(s):    38298 ticks 189 packets
	Mixing  2 channel(s):    40737 ticks 189 packets
	Mixing  3 channel(s):    44298 ticks 189 packets
	Mixing  4 channel(s):    47872 ticks 189 packets
	Mixing  5 channel(s):    50371 ticks 189 packets
	Mixing  6 channel(s):    53491 ticks 189 packets
	Mixing  7 channel(s):    56420 ticks 189 packets
	Mixing  8 channel(s):    59657 ticks 189 packets
	Mixing  9 channel(s):    62406 ticks 189 packets
	Mixing 10 channel(s):    65642 ticks 189 packets
	Mixing 11 channel(s):    68443 ticks 189 packets
	Mixing 12 channel(s):    71245 ticks 189 packets
	Mixing 13 channel(s):    75034 ticks 189 packets
	Mixing 14 channel(s):    78363 ticks 189 packets
	Mixing 15 channel(s):    83441 ticks 189 packets
	Mixing 16 channel(s):    83920 ticks 189 packets
Test case 1:
	Mix : Multiplication
	Norm: Multiplication/Shift
	Info: Move16 fetch, target 68060

	Mixing  1 channel(s):   101686 ticks 189 packets
	Mixing  2 channel(s):   151777 ticks 189 packets
	Mixing  3 channel(s):   199172 ticks 189 packets
	Mixing  4 channel(s):   244811 ticks 189 packets
	Mixing  5 channel(s):   289965 ticks 189 packets
	Mixing  6 channel(s):   335702 ticks 189 packets
	Mixing  7 channel(s):   381427 ticks 189 packets
	Mixing  8 channel(s):   428164 ticks 189 packets
	Mixing  9 channel(s):   472806 ticks 189 packets
	Mixing 10 channel(s):   517953 ticks 189 packets
	Mixing 11 channel(s):   567532 ticks 189 packets
	Mixing 12 channel(s):   609887 ticks 189 packets
	Mixing 13 channel(s):   654042 ticks 189 packets
	Mixing 14 channel(s):   699574 ticks 189 packets
	Mixing 15 channel(s):   746107 ticks 189 packets
	Mixing 16 channel(s):   774103 ticks 189 packets
Test case 2:
	Mix : Shift Only
	Norm: Multiplication/Shift
	Info: Move16 fetch, target 68040

	Mixing  1 channel(s):    91848 ticks 189 packets
	Mixing  2 channel(s):   124572 ticks 189 packets
	Mixing  3 channel(s):   154901 ticks 189 packets
	Mixing  4 channel(s):   185833 ticks 189 packets
	Mixing  5 channel(s):   216568 ticks 189 packets
	Mixing  6 channel(s):   248428 ticks 189 packets
	Mixing  7 channel(s):   278458 ticks 189 packets
	Mixing  8 channel(s):   308835 ticks 189 packets
	Mixing  9 channel(s):   339489 ticks 189 packets
	Mixing 10 channel(s):   370587 ticks 189 packets
	Mixing 11 channel(s):   400431 ticks 189 packets
	Mixing 12 channel(s):   432510 ticks 189 packets
	Mixing 13 channel(s):   466516 ticks 189 packets
	Mixing 14 channel(s):   492260 ticks 189 packets
	Mixing 15 channel(s):   523380 ticks 189 packets
	Mixing 16 channel(s):   541492 ticks 189 packets
Test case 3:
	Mix : Lookup
	Norm: Multiplication/Shift
	Info: Move16 fetch, target 68040/60

	Mixing  1 channel(s):    92501 ticks 189 packets
	Mixing  2 channel(s):   123414 ticks 189 packets
	Mixing  3 channel(s):   148521 ticks 189 packets
	Mixing  4 channel(s):   172729 ticks 189 packets
	Mixing  5 channel(s):   201362 ticks 189 packets
	Mixing  6 channel(s):   231684 ticks 189 packets
	Mixing  7 channel(s):   261367 ticks 189 packets
	Mixing  8 channel(s):   290506 ticks 189 packets
	Mixing  9 channel(s):   320908 ticks 189 packets
	Mixing 10 channel(s):   343399 ticks 189 packets
	Mixing 11 channel(s):   366969 ticks 189 packets
	Mixing 12 channel(s):   393204 ticks 189 packets
	Mixing 13 channel(s):   420350 ticks 189 packets
	Mixing 14 channel(s):   447813 ticks 189 packets
	Mixing 15 channel(s):   475078 ticks 189 packets
	Mixing 16 channel(s):   490839 ticks 189 packets
Test case 4:
	Mix : Delta Lookup
	Norm: Multiplication/Shift
	Info: Move16 fetch, target 68040/60

	Mixing  1 channel(s):    94992 ticks 189 packets
	Mixing  2 channel(s):   131490 ticks 189 packets
	Mixing  3 channel(s):   165043 ticks 189 packets
	Mixing  4 channel(s):   193678 ticks 189 packets
	Mixing  5 channel(s):   228594 ticks 189 packets
	Mixing  6 channel(s):   265004 ticks 189 packets
	Mixing  7 channel(s):   300190 ticks 189 packets
	Mixing  8 channel(s):   332152 ticks 189 packets
	Mixing  9 channel(s):   362934 ticks 189 packets
	Mixing 10 channel(s):   394044 ticks 189 packets
	Mixing 11 channel(s):   423760 ticks 189 packets
	Mixing 12 channel(s):   456258 ticks 189 packets
	Mixing 13 channel(s):   487613 ticks 189 packets
	Mixing 14 channel(s):   524874 ticks 189 packets
	Mixing 15 channel(s):   553011 ticks 189 packets
	Mixing 16 channel(s):   572913 ticks 189 packets
Preencoding sample data at 0x14887c0, 3779 frames...
Preencoding sample data at 0x1497410, 3779 frames...
Test case 5:
	Mix : Delta Lookup (Pre-encoded source)
	Norm: Multiplication/Shift
	Info: Move16 fetch, target 68040

	Mixing  1 channel(s):    92844 ticks 189 packets
	Mixing  2 channel(s):   121912 ticks 189 packets
	Mixing  3 channel(s):   146942 ticks 189 packets
	Mixing  4 channel(s):   171061 ticks 189 packets
	Mixing  5 channel(s):   199652 ticks 189 packets
	Mixing  6 channel(s):   227401 ticks 189 packets
	Mixing  7 channel(s):   255028 ticks 189 packets
	Mixing  8 channel(s):   281467 ticks 189 packets
	Mixing  9 channel(s):   306032 ticks 189 packets
	Mixing 10 channel(s):   334785 ticks 189 packets
	Mixing 11 channel(s):   353650 ticks 189 packets
	Mixing 12 channel(s):   378033 ticks 189 packets
	Mixing 13 channel(s):   404438 ticks 189 packets
	Mixing 14 channel(s):   431440 ticks 189 packets
	Mixing 15 channel(s):   456705 ticks 189 packets
	Mixing 16 channel(s):   470951 ticks 189 packets
Perhaps, if it would be a good thing with a chipmem move.l read and write test at the beginning of the mixer test, as it apparently has a very big influence on the result - ~37% difference in test case 5 with 16 channels between my different MMU setups.
patrik is online now  
Old Today, 17:53   #214
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,755
That's interesting, but we shouldn't be reading chip ram in this task, only writing to it.
Karlos is online now  
Old Today, 18:11   #215
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,755
Would we say that case 5 is the best for 040 then?

That's the "pre-convert linear 8-bit samples into L1 : D15 format and look up the 16 bit delta"
Karlos is online now  
Old Today, 18:53   #216
patrik
Registered User
 
patrik's Avatar
 
Join Date: Jan 2005
Location: Umeå
Age: 44
Posts: 961
Quote:
Originally Posted by Karlos View Post
That's interesting, but we shouldn't be reading chip ram in this task, only writing to it.
Perhaps the "IMPRECISE NONSERIALIZED" MMU setting on the chipmem area improves writes in ways bustest will not show, like how the cpu performs with instructions inlined between chip writes.
patrik is online now  
Old Today, 19:05   #217
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,755
Quote:
Originally Posted by patrik View Post
Perhaps the "IMPRECISE NONSERIALIZED" MMU setting on the chipmem area improves writes in ways bustest will not show, like how the cpu performs with instructions inlined between chip writes.
That's possible, yeah. If for any reason, the instructions between the writes can't begin while the write is pending, you'll take a big hit. That shouldn't depend on the number of channels playing though as all the mixing and peak analysis happens before we get to the write stage. Then we interleave the volume normalisation with the writes, or at least, that's the theory.
Karlos is online now  
Old Today, 19:57   #218
patrik
Registered User
 
patrik's Avatar
 
Join Date: Jan 2005
Location: Umeå
Age: 44
Posts: 961
Quote:
Originally Posted by Karlos View Post
That's possible, yeah. If for any reason, the instructions between the writes can't begin while the write is pending, you'll take a big hit. That shouldn't depend on the number of channels playing though as all the mixing and peak analysis happens before we get to the write stage. Then we interleave the volume normalisation with the writes, or at least, that's the theory.
When comparing test case 5 between the two MMU setups:
1 channel: ~10% diff
4 channels: ~25% diff
8 channels: ~32% diff
16 channels: ~37% diff

Possible to execute more instructions between the chipmem writes with more channels mixed?
patrik is online now  
Old Today, 19:58   #219
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,755
Quote:
Originally Posted by patrik View Post
When comparing test case 5 between the two MMU setups:
1 channel: ~10% diff
4 channels: ~25% diff
8 channels: ~32% diff
16 channels: ~37% diff

Possible to execute more instructions between the chipmem writes with more channels mixed?
I don't understand how but I can't refute your measurements.
Karlos is online now  
Old Today, 20:06   #220
patrik
Registered User
 
patrik's Avatar
 
Join Date: Jan 2005
Location: Umeå
Age: 44
Posts: 961
Quote:
Originally Posted by Karlos View Post
I don't understand how but I can't refute your measurements.
Perhaps something more with the MMU setup is dysfunctional with RemApollo+MMULib. Can make it do speedy chipmem for that setup too by running MuFastChip separately and if that is slower than full MMULib, that would show if that is the case.
patrik is online now  
 


Currently Active Users Viewing This Thread: 4 (2 members and 2 guests)
d4rk3lf, patrik
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Slow A4000 after overhaul Screechstar support.Hardware 57 11 July 2023 23:02
Amiga Font Editor overhaul buggs Coders. Releases 19 09 March 2021 17:39
Escom A1200 overhaul Ox. Amiga scene 8 26 August 2014 08:54
Will Bridge Practice series needs an overhaul mk1 HOL data problems 1 02 April 2009 21:55

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 21:25.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.24874 seconds with 16 queries