| + 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/!