+ bfarmilo (~bfarmilo@202.56.40.240) | 00:03 | |
+ bfarmilo_ (~bfarmilo@202.56.40.240) | 00:05 | |
- bfarmilo (QUIT: Ping timeout: 250 seconds) (~bfarmilo@202.56.40.240) | 00:08 | |
- isoriano (QUIT: Quit: Leaving) (~isoriano@5.147.209.166) | 00:14 | |
- TuKo (QUIT: Quit: Connection closed for inactivity) (uid234064@id-234064.helmsley.irccloud.com) | 00:37 | |
- Crabster (QUIT: Remote host closed the connection) (~puppy@user/crabster) | 00:43 | |
- RobDangerous (QUIT: Ping timeout: 250 seconds) (~Thunderbi@p200300ec8f3e1c00f5523f830f3da6b4.dip0.t-ipconnect.de) | 02:08 | |
- bfarmilo_ (QUIT: Ping timeout: 248 seconds) (~bfarmilo@202.56.40.240) | 03:31 | |
+ bfarmilo (~bfarmilo@202.56.40.240) | 05:52 | |
+ bfarmilo_ (~bfarmilo@202.56.40.240) | 05:54 | |
- bfarmilo (QUIT: Ping timeout: 252 seconds) (~bfarmilo@202.56.40.240) | 05:57 | |
- bfarmilo_ (QUIT: Ping timeout: 240 seconds) (~bfarmilo@202.56.40.240) | 06:35 | |
+ bfarmilo (~bfarmilo@202.56.40.240) | 06:37 | |
+ bfarmilo_ (~bfarmilo@202.56.40.240) | 06:38 | |
- bfarmilo (QUIT: Ping timeout: 248 seconds) (~bfarmilo@202.56.40.240) | 06:42 | |
_Bnu | And ScummVM just sets a PlayerFreq of 0? What? | 08:42 |
---|---|---|
_Bnu | I don't. | 08:42 |
_Bnu | I just don't understand how you're supposed to use AHI for anything, lol. | 08:43 |
+ RobDangerous (~Thunderbi@p200300ec8f3e1c0014a9b65cac1317b5.dip0.t-ipconnect.de) | 09:13 | |
- xet7 (QUIT: Read error: Connection reset by peer) (~xet7@user/xet7) | 13:57 | |
+ xet7 (~xet7@user/xet7) | 13:59 | |
mntmn | _Bnu: yeah | 14:31 |
- S0rin (QUIT: Ping timeout: 240 seconds) (~S0rin@user/s0rin) | 15:08 | |
+ S0rin (~S0rin@user/s0rin) | 15:10 | |
mntmn | interdazzling | 15:19 |
mntmn | _Bnu: i have the int6 sharing stuff working conceptually but not practically... two devices on the same interrupt line is... complex in C | 15:19 |
mntmn | because the APIs are meant for assembler, they want you to (un)set the goddamn Z flag | 15:20 |
mntmn | currently if open ethernet first, it will handle all INT6s and audio never gets a chance, and vice versa | 15:20 |
mntmn | return 1; does not do the job. | 15:21 |
mntmn | http://amigadev.elowar.com/read/ADCD_2.1/Includes_and_Autodocs_3._guide/node01DA.html | 15:21 |
mntmn | oh wait i should probably return 0; | 15:21 |
mntmn | that should maybe set Z | 15:21 |
mntmn | ok nice it worxxxxx | 15:29 |
mntmn | _Bnu: learning: an isr should return a uint32_t and return 0 if it wants to give other devices a chance to react to the interrupt, 1 if not | 15:30 |
- S0rin (QUIT: Ping timeout: 252 seconds) (~S0rin@user/s0rin) | 16:09 | |
+ S0rin (~S0rin@user/s0rin) | 16:12 | |
mntmn | _Bnu: this combines perfectly something you like and dislike https://github.com/trusch/snakeos | 16:12 |
mntmn | gonna implement some audio freq scaling... | 16:35 |
_Bnu | Ah, I reworked my intserver code to do that, but I'm not sure if I was blocking anything else. | 16:55 |
_Bnu | I added some dysfunctional frequency scaling yesterday, but quickly realized that I have to make it independent of PlayerFreq, since it can't be trusted. | 16:57 |
_Bnu | I still haven't figured out a way to deal with when the PlayerFreq changes, though... | 16:58 |
mntmn | i still need to experience those... | 17:01 |
mntmn | can you uploadz me a problematic MOD? | 17:01 |
_Bnu | No...! | 17:01 |
mntmn | :( | 17:01 |
_Bnu | I mean maybe I can. I can just put all the mods from the CoffinOS disk image somewhere. | 17:01 |
mntmn | mod is only one letter away from mord which means murder | 17:02 |
mntmn | nice my bizarro freq scaling works... at least for the test sound | 17:02 |
mntmn | 8khz sounds cronchy | 17:03 |
mntmn | i should go down to 2khz for bitcrushing... | 17:03 |
_Bnu | I forgot how painfully slow the A314fs emulation stuff is... | 17:04 |
_Bnu | Waiting 200 years for files to copy, please wait... | 17:04 |
mntmn | oop | 17:04 |
mntmn | i can tell you that 030@25mhz is much happier with 24khz than 48... | 17:05 |
mntmn | probably exactly 50% happier... | 17:05 |
_Bnu | I don't think 24KHz is a real sample rate... on the other hand HippoPlayer's settings suck so much that it's impossible to set it to 22050. | 17:08 |
mntmn | it is as real as the letters i am typing | 17:09 |
_Bnu | True. | 17:09 |
_Bnu | I mean, arbitrary resampling is necessary if you want to do your own mixing anyway. | 17:10 |
_Bnu | If you've seen the rates that scroll by for set/loadsound, it's varies a lot for the mod samples, haha. | 17:10 |
mntmn | ah, i have not implemented those things, i just return unknown | 17:11 |
mntmn | ok zz9000 ethernet, aweb + 24khz audio works OK on 030@25 | 17:11 |
+ mntamiga (~root@p54a43ee2.dip0.t-ipconnect.de) | 17:12 | |
mntamiga | amirc schmamirc | 17:13 |
mntamiga | ah forgot that MUI text input is unusable | 17:13 |
mntmn | oopie system froze, but song is still playing | 17:14 |
mntmn | sometimes this happens... | 17:14 |
- mntamiga (QUIT: Ping timeout: 240 seconds) (~root@p54a43ee2.dip0.t-ipconnect.de) | 17:18 | |
_Bnu | I haven't implemented them either, I just print debug info from SetSound and stuff. | 17:21 |
_Bnu | You basically see the sample rates of all little parts of mods scrolling by if you do. I've silenced it at the moment, though. | 17:22 |
mntmn | i see! | 17:26 |
mntmn | it bothers me that those magicwb icons are purple on my desktop. | 17:27 |
_Bnu | Fix them... | 17:31 |
_Bnu | Stop being lazy and fix the icons... | 17:32 |
_Bnu | mntmn: http://www.apehead.se/MOD.zip | 17:33 |
mntmn | ;___; | 17:34 |
mntmn | should i use fullpalette... | 17:34 |
_Bnu | Not all of the mods do that stuff by the way, so you'll have to browse through them... I don't remember how any of them sound, because I can't relate the song names to what the music is, lolb. | 17:41 |
mntmn | hmm ok! thanks! | 17:41 |
mntmn | downloading mords... | 17:41 |
_Bnu | But you'll probably notice almost instantly when the ones with a different PlayerFreq than 50 start playing. | 17:42 |
_Bnu | Also, a PlayerFreq of 0 apparently means 50, regardless of refresh rate. | 17:42 |
_Bnu | Because 11025 / 50 = 220-ish, plus 25 sample (pairs) at some point, which is what ScummVM farts out... | 17:43 |
mntmn | ok i am not looking at playerfreq at all so far so i will probably have to do that then | 17:49 |
_Bnu | Yeah, just add a check for it in the slave process or something. | 17:49 |
_Bnu | if old playerfreq != bap->ahiac_PlayerFreq debugmi(555) | 17:49 |
_Bnu | if old playerfreq != bap->ahiac_PlayerFreq { debugmi(555); old playerfreq = bap->ahiac_PlayerFreq; } | 17:50 |
_Bnu | That way you can see when it changes, at least. | 17:50 |
mntmn | wow someone just called my on my mobile phone to ask when their zz9000 will ship | 17:52 |
mntmn | "i have the number from the internet" | 17:52 |
_Bnu | lolb | 17:53 |
_Bnu | A reasonably thing to suddenly call and ask about. | 17:53 |
_Bnu | Also reasonable. | 17:53 |
mntmn | ok where was i | 17:54 |
_Bnu | Downloading giant zip files with mods. | 17:55 |
mntmn | ah yes! | 17:56 |
mntmn | but also, magicwb | 17:56 |
_Bnu | MugicWab... | 18:03 |
mntmn | wagicmub | 18:10 |
mntmn | ok i fixed those colors | 18:11 |
mntmn | where shall the audio buffer live in zz9000 | 18:11 |
mntmn | probably at the end of space | 18:11 |
_Bnu | The end of all space... | 18:19 |
_Bnu | The end of RTG space, maybe? The acceleration stuff "allocates" memory from the middle somewhere, or maybe after 64MB... | 18:19 |
mntmn | yep, end of RTG | 18:19 |
_Bnu | No, maybe after 48MB. | 18:19 |
mntmn | 48000 mb | 18:20 |
mntmn | needs to be Z2 compatible though... | 18:20 |
- S0rin (QUIT: Ping timeout: 240 seconds) (~S0rin@user/s0rin) | 18:21 | |
mntmn | currently 30720 bytes, maybe i can half that | 18:21 |
+ S0rin (~S0rin@user/s0rin) | 18:22 | |
_Bnu | Z2 is going to be pretty horrible, though... What's the throughput like on Z2 with no DMA? 1.5MB/sec? | 18:26 |
_Bnu | Well, it might be fine. | 18:30 |
_Bnu | ~1ms per write at 24KHz. | 18:31 |
mntmn | yeah the throughput is not the problem | 18:32 |
mntmn | the mixing is | 18:32 |
mntmn | (afaik) | 18:32 |
mntmn | like, AHI constructing those pristine samples... | 18:33 |
_Bnu | Maybe add 4MB of Z2 AutoConf Fast RAM... if you fix up the Z2 DMA it'll be faster than the other Z2 Fast out there anyway... | 18:34 |
_Bnu | And then AHI would already be putting the samples there... | 18:34 |
mntmn | hmm | 18:34 |
mntmn | ok when playing the test sound i get a playerfreq of 50. | 18:35 |
mntmn | (i'm on PAL HiRes so that checks out) | 18:35 |
mntmn | now trying some of those mods... | 18:35 |
mntmn | at least the ones that i know well | 18:35 |
mntmn | lol | 18:36 |
mntmn | with gods i get playerfreq 0 | 18:36 |
mntmn | but it sounds good | 18:36 |
mntmn | so far i get 0, except from the test tone, which was 50 | 18:37 |
mntmn | rainbow island sounds funny... but maybe it's supposed to be like that | 18:38 |
_Bnu | 0 is 50, as far as I can tell. | 18:39 |
_Bnu | Anyway, no idea what different files use different PlayerFreq. | 18:39 |
_Bnu | But there are ones that go as low as 36 and as high as 72. | 18:39 |
_Bnu | And also ones where it changes in the middle of the song. | 18:40 |
mntmn | where the hell is RainbowIsland.mod from | 18:40 |
mntmn | surely not from Rainbow Islands... | 18:40 |
_Bnu | From the Music/MOD drawer on the CoffinOS Programs partition... | 18:40 |
mntmn | yeah, but where did they get that from | 18:40 |
mntmn | oopie crash | 18:41 |
_Bnu | Yeah, I have no idea where any of that music is from. | 18:41 |
mntmn | naja most of the games i do recognize. like, their music. | 18:42 |
mntmn | but not this one, it is a similar tune but not the one from the game | 18:42 |
mntmn | first i thought it was a playback problem | 18:42 |
_Bnu | I mean... | 18:47 |
_Bnu | I don't think it takes knowing the music to know that something isn't supposed to sound all crackly and broken up. | 18:48 |
_Bnu | PlayerFreq higher than 50 = crackly playback, PlayerFreq lower than 50 = eventual buffer overrun, music keeps playing after you press stop. | 18:48 |
mntmn | yeah didn't happen yet >:| | 18:49 |
mntmn | so far everything has playerfreq 0... | 18:49 |
_Bnu | What. | 18:49 |
_Bnu | No, wait. | 18:49 |
_Bnu | Are you writing a short as debug? You have to shift it right 16 bits. | 18:49 |
mntmn | yush | 18:49 |
_Bnu | It's a fixed point value. | 18:49 |
mntmn | ah. | 18:49 |
mntmn | i have to say 48khz playback sounds quite good | 18:50 |
mntmn | i wonder if there is a cannonfodder mod out there... | 18:51 |
mntmn | yes it is | 18:52 |
mntmn | now gonna do debugmsg(AudioCtrl->ahiac_PlayerFreq>>16); | 18:54 |
_Bnu | I would suggest going through them until you see a PlayerFreq higher than 50 though, since that's when you get fewer bytes than you want. | 18:55 |
mntmn | you using hippoplayer yes? | 18:55 |
_Bnu | Higher = fewer bytes, lower = more bytes. | 18:55 |
_Bnu | Yes. | 18:55 |
mntmn | so far i have never encoutered any other number of bytes than 3840... | 18:55 |
_Bnu | But now I suddenly realize that some applications (including AHI's test sound) may not be using PlayerFreq as a fixed point decimal value. | 18:56 |
_Bnu | And you are monitoring PlayerFreq in the slave process and not in AllocAudio, right? | 18:57 |
_Bnu | Because both tour de scene - main.mod and pm5.dat.mod have a PlayerFreq of 54 for me and sound like ass. | 18:57 |
_Bnu | JazzCat - Sushi Ska has a PlayerFreq of 64. | 18:58 |
mntmn | yes, mine is called workerprocess but yes, in the loop | 19:00 |
_Bnu | jazzzzzzzz2.mod or whatever is PlayerFreq 70. | 19:00 |
mntmn | ok let me check those modz | 19:00 |
mntmn | ok CANNONFO.MOD that is just downloaded: 0x32 (50) | 19:17 |
mntmn | ok the jazzcat sushi thing is special | 19:17 |
mntmn | [aswap] d-a: 29472 scl: 1 | 19:17 |
mntmn | [aswap] ring collision 192 | 19:18 |
mntmn | [aswap] d-a: -192 scl: 1 | 19:18 |
mntmn | [aswap] ring collision 3616 | 19:18 |
mntmn | ah yeah it makes playerfreq 0x40 (60) | 19:18 |
mntmn | maybe that's PAL vs NTSC? | 19:18 |
mntmn | i mean, it certainly is | 19:18 |
mntmn | yeah pm5.dat sounds like shit because it does 0x36 (54) | 19:20 |
_Bnu | 0x40 is 64, though. Not 60. | 19:28 |
_Bnu | 4 * 16 | 19:28 |
_Bnu | It can change in the middle of a song, and you'll get the wrong number of samples to keep the buffer going unless you adjust it. It sucks. | 19:28 |
_Bnu | But it has nothing to do with playback speed, PlayerFreq is just the interval at which you're supposed to call the little worker process according to the docs. | 19:35 |
_Bnu | Because otherwise you get the wrong number of samples per call. | 19:35 |
mntmn | oop | 19:38 |
mntmn | ja true | 19:38 |
+ TuKo (uid234064@id-234064.helmsley.irccloud.com) | 19:45 | |
mntmn | _Bnu: i'm thinking to maybe stretch the incoming samples to always fit 3840 bytes... | 20:10 |
mntmn | _Bnu: the best would be to tell the damn mod player to never ever do this... | 20:20 |
_Bnu | That doesn't work, though. If you stretch them, you'll get slower playback. | 20:28 |
mntmn | good for me... | 20:28 |
mntmn | no, you are right of course | 20:28 |
_Bnu | You would have to buffer them up in the driver, kind of. | 20:28 |
mntmn | so there needs to be an error correction that every X times i query 1 additional buffer | 20:28 |
_Bnu | It sucks that we have to do this, but I don't know any other way around it. | 20:28 |
mntmn | yeah, it sucks mega bad\ | 20:29 |
mntmn | who would design such a thing... | 20:29 |
mntmn | maybe it's some historical artifact from how MODs are programmed? | 20:29 |
_Bnu | No idea about MODs, unfortunately. | 20:30 |
_Bnu | But this is all super weird, I have no idea why AHI wouldn't just tell the driver "hey I got some mixed samples for you". | 20:30 |
_Bnu | Instead of telling you "Hey, query me to see if I got some mixed samples for you at this non-specific interval that may change at any time. :)" | 20:30 |
_Bnu | It's so weird, because this is what a software mixer would do. Push samples to the driver at the proper interval. | 20:32 |
mntmn | yeah | 20:32 |
mntmn | yeah | 20:32 |
_Bnu | Also, once this "simple" playback thing is figured out, I also have to try to get the non-AHI mixing working... | 20:35 |
_Bnu | But at least it seems like the MixFreq can't change without a call to stop/start. | 20:36 |
_Bnu | But I was hoping to avoid having to do one more circular buffer in the driver itself for this simple playback shit, lolb. | 20:36 |
_Bnu | I also have the problem that vblank isn't actually 50Hz, haha. | 20:37 |
_Bnu | And sometimes it's 60Hz... | 20:37 |
_Bnu | So I need to invent some crap to actually trigger at 50 times per second, or I end up with tiny gaps in the playback because the ALSA buffer is super tiny on the Pi... | 20:38 |
mntmn | oop yeha | 20:42 |
apolkosnik[m]1 | Will this play? https://modarchive.org/index.php?request=view_by_moduleid&query=47057 | 20:44 |
_Bnu | No. | 20:47 |
_Bnu | I haven't checked what it is, but the answer is always no. | 20:47 |
apolkosnik[m]1 | Ok, back to work | 20:50 |
apolkosnik[m]1 | This should work great to test the AHI https://youtu.be/Ad_8S9yQPgI | 21:26 |
apolkosnik[m]1 | ;-) | 21:27 |
+ mntamiga (~root@p54a43ee2.dip0.t-ipconnect.de) | 23:34 | |
- mntamiga (QUIT: Ping timeout: 240 seconds) (~root@p54a43ee2.dip0.t-ipconnect.de) | 23:54 |
Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!