24 April 2023, 21:22 | #201 | |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,397
|
Quote:
|
|
24 April 2023, 22:11 | #202 |
Defendit numerus
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 54
Posts: 4,488
|
Uploaded to the Zone an optimized 'normal' version.
IRQ code: Code:
start_ptr ds.l 1 end_ptr ds.l 1 ; do not move audio_ptr ds.l 1 ; do not move ... irq4 movem.l a0/a1,-(sp) lea $dff09c,a1 movea.l (audio_ptr,pc),a0 move.w #%0000011110000000,(a1) move.w (a0),($aa-$9c,a1) move.w (a0)+,($ba-$9c,a1) lea (end_ptr,pc),a1 cmpa.l (a1)+,a0 bne.b .ok movea.l (start_ptr,pc),a0 .ok move.l a0,(a1) movea.l (sp)+,a0 movea.l (sp)+,a1 rte - Yes, I want 'start_ptr' and 'end_ptr' as variables; - Yes, I want it compatible with higher processors; - Yes, I know that the writing of AUDxDAT can be slightly early; - No, I do not want to share registers with 'main' code; - No, I do not want to make the code larger (optimize branch). ~55/56KHz reachable. Last edited by ross; 24 April 2023 at 23:16. Reason: a/b hints |
24 April 2023, 22:32 | #203 |
Registered User
Join Date: Jun 2016
Location: europe
Posts: 1,053
|
Nice bait :P.
Code:
; movem.l (sp)+,a0/a1 move.l (sp)+,a0 move.l (sp)+,a1 rte |
24 April 2023, 22:35 | #204 | ||
Defendit numerus
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 54
Posts: 4,488
|
Quote:
I always forget that Quote:
I edit the message. Thanks! Last edited by ross; 24 April 2023 at 22:47. |
||
24 April 2023, 22:58 | #205 | |
Registered User
Join Date: Jun 2010
Location: PL?
Posts: 2,867
|
Goal is lowest common denominator - relaxed anyway expectations so 68020 allowed but still - accelerator board is more expensive than sound board
To complex? Quote:
Well - i only expressed my hope that we will be able to live more on this world... Well this is usual minimal time interval but probably you can have 20..10uS (only this will be insane waste of CPU cycles - ditto Copper can be beneficial). |
|
24 April 2023, 23:21 | #206 |
Moderator
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,650
|
It's not a burning question for me. Other factors affect sound quality more. Some ideas.
Mind DRAM refresh cycle which cannot be blocked AFAIK + exact #cycles/frame unless aliased to same granularity as IRQ trigger cycles per CPU. There should also be a tiny delay between 2 same ear channels? Probably difficult to abuse since it should be well above hearing. |
24 April 2023, 23:34 | #207 |
Defendit numerus
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 54
Posts: 4,488
|
|
25 April 2023, 00:40 | #208 | |
Registered User
Join Date: Jan 2008
Location: Warsaw/Poland
Age: 56
Posts: 2,029
|
Quote:
|
|
25 April 2023, 07:48 | #209 | ||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,351
|
Quote:
Too slow. Quote:
Current "modern" machines routinely waste incredible amounts of cpu cycles (among other things), so where is the problem. These OSes know nothing about Copper anyways. |
||
25 April 2023, 13:32 | #210 | ||
Registered User
Join Date: Jun 2010
Location: PL?
Posts: 2,867
|
Quote:
This level of slowness? http://www.visual6502.org/JSSim/index.html Quote:
Well, but at the same this is compensated by clocks almost 1000 times higher and multiple cores... For Copper we don't need OS, we need OS for file operations. |
||
25 April 2023, 14:28 | #211 | ||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,351
|
So now i need to prove that accelerator boards are useful. This is becoming preposterous.
Quote:
Waiting for copper program that will probably never come is boring, too. Quote:
Of course, but the OS will not let you touch the hardware so easily - provided it even works on a copper-equiped machine. |
||
25 April 2023, 16:46 | #212 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,397
|
Has anyone else lost the plot of this thread? Or is it just me?
|
25 April 2023, 19:22 | #213 | |||
Registered User
Join Date: Jun 2010
Location: PL?
Posts: 2,867
|
Quote:
Sorry but don't share your view, having some HDL description of Agnus, Paula should provide neat way to simulate exactly and quite fast such situation also probably doing Copper audio should be easier... Currently very complex logic is simulated in reasonable time thanks to modern HW so i think this is not slowness but complexity and lack of details preventing such simulator (WinUAE has embedded some general overview of DMA cycles so some work was already done on this) Quote:
Quote:
You told me earlier that 'the OS' is not aware of Copper so this is bit contradictory... |
|||
25 April 2023, 19:49 | #214 |
Registered User
Join Date: Feb 2017
Location: Denmark
Posts: 1,182
|
It's a coming of age story. The young man (Ross) wants to prove himself by showing his father (Meynaf) that he can make a name for himself by creating copper driven audio, but first he has to overcome some challenges/distractions doing CPU driven audio to show his worth. It's one of those artsy movies where it's OK to skip to the third act if you're bored. |
25 April 2023, 19:58 | #215 | ||||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,351
|
Quote:
Quote:
Quote:
Quote:
These OSes do not know anything about Copper. They will not let you access hardware. They probably don't even run on hardware that has a copper. Nothing contradictory here. |
||||
25 April 2023, 19:59 | #216 | |
Registered User
Join Date: Jun 2010
Location: PL?
Posts: 2,867
|
Quote:
"Ross, you can destroy the Paula AUDxPER limitations. Jay has foreseen this. Join me and together we can rule the galaxy as father and son." Sorry, can't resist... |
|
25 April 2023, 20:13 | #217 |
Registered User
Join Date: Jun 2010
Location: PL?
Posts: 2,867
|
Never said such thing... but simply there is no real accelerator capable to decode mp3, resample it with sane quality (let say -76dBFS i.e. 12 bit quality in Paula 14 bit mode) and play it in CPU mode to Paula offering at the same time some limited multitasking so you can pretend to working.
I'm talking about HDL simulator using code proven on physical device (for example replacing original Paula, Agnus) and similar for MC68000 - they are accurate MC68000 emulators also clock perfect HDL descriptions. And HDL simulators are reasonably fast so probably whole A500 (nowadays it is not so complex project) probably could be simulated with decent speed. Waiting IS boring but i hope you not suffer from onychophagia. Microsoft profits shows something opposite but if you say so... They can't block access to memory address if they are not forbidden to be accessed (this is my impression but i can be wrong on this) |
25 April 2023, 20:15 | #218 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,397
|
Can we get a TLDR on:
1. What is copper audio? 2. What are the proposed advantages of copper audio over regular Paula/DMA or AHI? Somewhere in all the back and forth I lost it. |
25 April 2023, 20:37 | #219 | |||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,351
|
Quote:
Anyway, vampires (68080) are supposed to have higher audio dma limits and 16-bit sound. Quote:
The point has never been to emulate a 68000. It was about the 68000 itself doing clock-by-clock simulation ! (Which is obviously impossible.) It's you who are waiting, not me. You know full well that superior marketing beats out superior products. Btw. Didn't they have to fire quite a few people recently ? Quote:
It is about sending audio data to D/A with the copper rather than regular audio DMA (or cpu). Well, other people may answer this 'better' because for me it has none |
|||
25 April 2023, 20:39 | #220 | |
Registered User
Join Date: Feb 2017
Location: Denmark
Posts: 1,182
|
Quote:
Goal is to play samples at a rate higher than DMA mode allows (way back from start this was set at period ~124/28Khz). To do that you need to play audio in non-DMA mode, which requires 1) clearing interrupt request bit (in INTREQ) 2) feeding new sample(to AUDxDAT) in time for audio state machine to not exit play loop (see HRM). Normal way: Setup level 4 interrupt handler to clear interrupt bit(s) and feed new data (latest code by Ross does this). Alternatively just poll interrupt bit instead of having IRQ routine (my last code in this thread does this). Copper audio: Kill OS and figure out when interrupt needs to be cleared (by write to INTREQ) and write AUDxDAT using copper. Advantage of copper audio (supposedly): CPU and blitter can be used freely (if you use pure CPU method you run into the issues discussed previously). Disadvantage: Hasn't been done before, needs Ross to (supposedly) do it, and copper list has to be extremely exact. |
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
"EaglePlayer" playback VS "real" playback | chip | support.Other | 31 | 27 September 2020 13:14 |
winuae 3.4.0 - cd playback | honx | support.WinUAE | 10 | 26 February 2017 00:00 |
XBox 1 video playback | Peter | Retrogaming General Discussion | 19 | 18 January 2011 16:33 |
Q: recording 4-channels sound output and "Playback Rate" | jbl007 | support.WinUAE | 0 | 07 June 2005 18:23 |
DivX Playback | Echo | support.Hardware | 10 | 24 January 2003 18:45 |
|
|