English Amiga Board


Go Back   English Amiga Board > Coders > Coders. General

 
 
Thread Tools
Old 04 June 2021, 16:05   #21
Samurai_Crow
Total Chaos forever!
 
Samurai_Crow's Avatar
 
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,186
Quote:
Originally Posted by Thomas Richter View Post
I'm not clear what you were doing, but you can pile up audio samples at the device and it would play them seamlessy, i.e. without "pops" when switching sample buffers. It's actually not that complicated, Paula creates an interrupt whenever it can take a new sample address, and the audio.device is just doing that in its own interrupt.
I tried to implement the Audio8 specification to stream 8 bit samples with a different volume level for each frame sending the same data to channels 0 and 1 for centered position on stereo audio. I don't know whether it was the ROM version or the AHI version but it was crackling and popping all over the place on my A1200 with Kickstart 3.1 and no accelerator.
Samurai_Crow is offline  
Old 04 June 2021, 16:17   #22
meynaf
son of 68k
 
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
Quote:
Originally Posted by Thomas Richter View Post
Hardly. Audio.device works just fine on my machine, which is fairly accelerated. DMusic2, for example, plays through the audio.device, and yes, it does work reliable on my accelerated Amiga.
Have you checked exactly ? To be sure a full disassembly is necessary and i've found nothing about that "DMusic2" software you mention.
I'm ready to bet that it does not play thru audio.device but just merely uses it to allocate audio, like everyone else.


Quote:
Originally Posted by Thomas Richter View Post
So yes, it certainly does proper abstraction, which does not exclude user errors.
It does not. It is absolutely impossible to play e.g. protracker music with just audio.device. Delitracker2 author mentions bugs in audio.device in developer docs. Said there was no possible workaround. Made audio.device noteplayer a dead project.
It's not user error. It's audio.device implementation that's broken. Period.
Now perhaps this has been fixed post-V40 but i doubt.
meynaf is offline  
Old 04 June 2021, 16:53   #23
Don_Adan
Registered User
 
Join Date: Jan 2008
Location: Warsaw/Poland
Age: 55
Posts: 1,957
Meynaf is right, for some Amiga players extra DMA wait is necessary if player used audio.device for playing mods on f.e 68060. From my memory MaxTrax and perhaps Music-X, and maybe some custom mods too, i dont remember exactly. MaxTrax sources are here.

http://wt.exotica.org.uk/players.html

You can remove DMAwait and play some songs on 68060.
BTW. MaxTrax is the biggest Amiga soundformat which used audio.device.
Don_Adan is offline  
Old 04 June 2021, 16:55   #24
roondar
Registered User
 
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,408
Quote:
Originally Posted by meynaf View Post
i've found nothing about that "DMusic2" software you mention
Thomas probably means Deluxe Music 2.
roondar is online now  
Old 04 June 2021, 17:11   #25
Pyromania
Moderator
 
Pyromania's Avatar
 
Join Date: Jan 2002
Location: Chicago, IL
Posts: 3,375
I agree Bruce Abbott, a cartridge slot would have been a nice Amiga feature.
Pyromania is offline  
Old 05 June 2021, 00:33   #26
Bruce Abbott
Registered User
 
Bruce Abbott's Avatar
 
Join Date: Mar 2018
Location: Hastings, New Zealand
Posts: 2,544
Quote:
Originally Posted by Don_Adan View Post
Meynaf is right, for some Amiga players extra DMA wait is necessary if player used audio.device for playing mods on f.e 68060.
That's not the only thing that broke with 68060, which BTW no real Amiga ever had so it's not the fault of the OS or hardware if it doesn't work with a 68060.

Quote:
Originally Posted by Thomas Richter
Unfortunately, the F-Space was taken hostage by many accelerators for their own business, mostly to provide board-specific services. If I recall correctly, some specs even call it the "cartridge space".
That's a pity, but since the cartridge space would never be used for actual cartridges it was considered fair game. And of course if you have an accelerator (and therefore probably plenty of fast RAM and a hard drive) then cartridges have few advantages.
Bruce Abbott is offline  
Old 05 June 2021, 01:17   #27
Don_Adan
Registered User
 
Join Date: Jan 2008
Location: Warsaw/Poland
Age: 55
Posts: 1,957
Quote:
Originally Posted by Bruce Abbott View Post
That's not the only thing that broke with 68060, which BTW no real Amiga ever had so it's not the fault of the OS or hardware if it doesn't work with a 68060.

That's a pity, but since the cartridge space would never be used for actual cartridges it was considered fair game. And of course if you have an accelerator (and therefore probably plenty of fast RAM and a hard drive) then cartridges have few advantages.
Yes, but audio.device has problem with other CPUs too. My tester has 68060, but meynaf has 68030. From my point of view, for programs/players test, you need only use 68000, 68020 and 68040 CPU. If no problems then it will be works for 68030 and 68060 too.
Don_Adan is offline  
Old 05 June 2021, 11:39   #28
Bruce Abbott
Registered User
 
Bruce Abbott's Avatar
 
Join Date: Mar 2018
Location: Hastings, New Zealand
Posts: 2,544
Quote:
Originally Posted by Don_Adan View Post
Yes, but audio.device has problem with other CPUs too. My tester has 68060, but meynaf has 68030.
Please tell us more about this problem audio.device has on 68030.
Bruce Abbott is offline  
Old 05 June 2021, 11:52   #29
Thomas Richter
Registered User
 
Join Date: Jan 2019
Location: Germany
Posts: 3,214
The 68030 has a caching issue that may play into the game here. If so, installing the 68030.library will fix this. But I don't see any issues on my 68060.
Thomas Richter is offline  
Old 05 June 2021, 11:53   #30
meynaf
son of 68k
 
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
Quote:
Originally Posted by Bruce Abbott View Post
Please tell us more about this problem audio.device has on 68030.
Classical DMA wait issues, nothing mysterious.
Some games such as Kyrandia or Darkseed randomly miss notes because of this. It may be rare (depends on the music), but it happens.
meynaf is offline  
Old 05 June 2021, 11:59   #31
meynaf
son of 68k
 
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
Quote:
Originally Posted by Thomas Richter View Post
The 68030 has a caching issue that may play into the game here. If so, installing the 68030.library will fix this. But I don't see any issues on my 68060.
Odd, i've always thought 68030.library was no-op.
I wonder what it might fix.
Anyway, this won't fix dma wait issues. If you want to see that on your 68060, get some software that can play maxtrax mods and play tunes from darkseed. Or take some protracker replay routine and replace hardware accesses with audio.device calls.
meynaf is offline  
Old 05 June 2021, 12:01   #32
BeamCoder
Registered User
 
Join Date: Dec 2020
Location: Philippines
Posts: 45
Quote:
Originally Posted by Bruce Abbott View Post
You know what's really a shame? Nobody produced a cartridge slot for the Amiga.

It wouldn't have been hard. The A1000, A2000 and A500 all have a nice expansion bus connector. There's plenty of space in the memory map, and simple ways to make the machine boot from a cartridge. It would free up RAM for graphics and sound etc., make loading times much faster, and of course eliminate DMA contention. If some game needed a special function like C2P or MIDI sounds, the cart could have extra hardware put into it to do the job. The floppy drive could still be used for game saves etc. Finally, copy protection wouldn't be so onerous because ROMs don't get read errors so there's no need to make backups.

Just imagine how much more sophisticated and higher performance Amiga games could have been on cartridge. No need to expand your A500 because the latest games need more RAM, or a hard drive to avoid multi-disk loads. Porting from consoles would be easier with better results, and piracy would be eliminated so developers would be more inclined to produce Amiga titles.

"But they cost a lot more to make than a floppy disk", you say, "so people wouldn't have bought them!". Yet I remember some games on floppy disk costing over $100, and cartridge games would be worth paying extra for.

Today it is still relevant. Somebody should bring out a game cartridge with EEPROM on it that be loaded from your Amiga or a PC, then developers would make games for it. Perhaps even go nuts and put a Pi Zero in there that emulates ROMs and even a faster CPU, RTG graphics etc., all available just by plugging a slim module into the side of your stock A500. We could have what the Amiga should have had back in 1985!
I would want to see a cartridge game for the Amiga. Instant loading times, bigger size games and option of using co-processors. That would be cool!

One of the problem though from what I read in this thread: http://eab.abime.net/showthread.php?t=80802 is that the expansion slot for the A500 is not suitable for repeated usage since it is a male connector instead of a female one.
BeamCoder is offline  
Old 05 June 2021, 12:13   #33
meynaf
son of 68k
 
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
Atari ST has a cartridge connector and it hasn't been used that much...
meynaf is offline  
Old 05 June 2021, 13:02   #34
Thomas Richter
Registered User
 
Join Date: Jan 2019
Location: Germany
Posts: 3,214
Quote:
Originally Posted by meynaf View Post
Odd, i've always thought 68030.library was no-op.
I wonder what it might fix.
Odd, you are wrong.
Thomas Richter is offline  
Old 05 June 2021, 13:14   #35
meynaf
son of 68k
 
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
Quote:
Originally Posted by Thomas Richter View Post
Odd, you are wrong.
Not really. Ancient versions ARE no-op, actually.
But newer ones aren't useful for all 030 owners due targeting EC030 or specific boards. All of what they're supposed to fix has of course little, if anything, to do with audio.
meynaf is offline  
Old 05 June 2021, 13:27   #36
roondar
Registered User
 
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,408
Quote:
Originally Posted by BeamCoder View Post
One of the problem though from what I read in this thread: http://eab.abime.net/showthread.php?t=80802 is that the expansion slot for the A500 is not suitable for repeated usage since it is a male connector instead of a female one.
I suppose you could create an "inverter" of sorts. A kind of "A500 cartridge adapter". Might be a fun project.
roondar is online now  
Old 13 June 2021, 15:37   #37
sandruzzo
Registered User
 
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,281
Does picking up instruction from Ram, require same time forevery one of them? I'm not talking about executing them, just by loading them from Ram.
sandruzzo is offline  
Old 13 June 2021, 15:58   #38
roondar
Registered User
 
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,408
Quote:
Originally Posted by sandruzzo View Post
Does picking up instruction from Ram, require same time forevery one of them? I'm not talking about executing them, just by loading them from Ram.
Depends on the CPU and length of the instruction.

On 68000, each word that the CPU needs to fetch from RAM (or ROM for that matter) for any instruction takes 4 cycles*. So 1 word instructions will always take at least 4 cycles, 2 word instructions will always take at least 8 cycles, etc. On 68020+ this changes** as these CPU's can both fetch from RAM faster and fetch longwords at a time.

*) Note that the 68000 technically only takes 2 cycles to fetch a word, but it can't fetch any additional words from memory for another 2 cycles - so 4 cycles minimum, of which 2 are idle (or used by the instruction to execute).
**) Of course, assuming the instruction is not in the cache - if it is the CPU will not spend any time fetching it.

Last edited by roondar; 13 June 2021 at 16:11.
roondar is online now  
Old 13 June 2021, 19:50   #39
sandruzzo
Registered User
 
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,281
@roondar

Thanks. That's why even a little fast ram on Amiga can almost double cpu performances
sandruzzo is offline  
Old 14 June 2021, 11:28   #40
Thomas Richter
Registered User
 
Join Date: Jan 2019
Location: Germany
Posts: 3,214
Quote:
Originally Posted by meynaf View Post
Not really. Ancient versions ARE no-op, actually.
No version of the 68030.library or 68020 was ever a no-op, excuse me.


Quote:
Originally Posted by meynaf View Post
But newer ones aren't useful for all 030 owners due targeting EC030 or specific boards.
Err, what? The library works both for EC and non-EC. Unfortunately, there is no reliable way how to detect a EC processor.
Thomas Richter is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
16MB EDO RAM, 256KB/1MB SIMM RAM, Macintosh/Atari/Amiga ROM & other accessories mdanh2002 MarketPlace 0 27 June 2019 16:41
3.1.4 speed difference MapROM vs ROM? Firestone support.Apps 6 28 November 2018 20:42
Throttle RAM speed vagrant support.WinUAE 13 03 August 2017 21:02
A600 multi-upgrade (Chip RAM + Fast RAM + ROM + IDE2CF) Astrofra Hardware pics 15 18 February 2014 21:27
how is it possible for a RAM upgrade to speed up music? lost_lemming support.Hardware 9 17 February 2010 22:08

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 14:33.

Top

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