2021-08-27.log

+ 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
_BnuAnd ScummVM just sets a PlayerFreq of 0? What?08:42
_BnuI don't.08:42
_BnuI 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: yeah14:31
- S0rin (QUIT: Ping timeout: 240 seconds) (~S0rin@user/s0rin)15:08
+ S0rin (~S0rin@user/s0rin)15:10
mntmninterdazzling15:19
mntmn_Bnu: i have the int6 sharing stuff working conceptually but not practically... two devices on the same interrupt line is... complex in C15:19
mntmnbecause the APIs are meant for assembler, they want you to (un)set the goddamn Z flag15:20
mntmncurrently if open ethernet first, it will handle all INT6s and audio never gets a chance, and vice versa15:20
mntmnreturn 1; does not do the job. 15:21
mntmnhttp://amigadev.elowar.com/read/ADCD_2.1/Includes_and_Autodocs_3._guide/node01DA.html15:21
mntmnoh wait i should probably return 0;15:21
mntmnthat should maybe set Z15:21
mntmnok nice it worxxxxx15: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 not15: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/snakeos16:12
mntmngonna implement some audio freq scaling...16:35
_BnuAh, I reworked my intserver code to do that, but I'm not sure if I was blocking anything else.16:55
_BnuI 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
_BnuI still haven't figured out a way to deal with when the PlayerFreq changes, though...16:58
mntmni still need to experience those...17:01
mntmncan you uploadz me a problematic MOD?17:01
_BnuNo...!17:01
mntmn:( 17:01
_BnuI mean maybe I can. I can just put all the mods from the CoffinOS disk image somewhere.17:01
mntmnmod is only one letter away from mord which means murder17:02
mntmnnice my bizarro freq scaling works... at least for the test sound17:02
mntmn8khz sounds cronchy17:03
mntmni should go down to 2khz for bitcrushing...17:03
_BnuI forgot how painfully slow the A314fs emulation stuff is...17:04
_BnuWaiting 200 years for files to copy, please wait...17:04
mntmnoop17:04
mntmni can tell you that 030@25mhz is much happier with 24khz than 48...17:05
mntmnprobably exactly 50% happier...17:05
_BnuI 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
mntmnit is as real as the letters i am typing17:09
_BnuTrue.17:09
_BnuI mean, arbitrary resampling is necessary if you want to do your own mixing anyway.17:10
_BnuIf you've seen the rates that scroll by for set/loadsound, it's varies a lot for the mod samples, haha.17:10
mntmnah, i have not implemented those things, i just return unknown17:11
mntmnok zz9000 ethernet, aweb + 24khz audio works OK on 030@2517:11
+ mntamiga (~root@p54a43ee2.dip0.t-ipconnect.de)17:12
mntamigaamirc schmamirc17:13
mntamigaah forgot that MUI text input is unusable17:13
mntmnoopie system froze, but song is still playing17:14
mntmnsometimes this happens...17:14
- mntamiga (QUIT: Ping timeout: 240 seconds) (~root@p54a43ee2.dip0.t-ipconnect.de)17:18
_BnuI haven't implemented them either, I just print debug info from SetSound and stuff.17:21
_BnuYou 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
mntmni see!17:26
mntmnit bothers me that those magicwb icons are purple on my desktop.17:27
_BnuFix them...17:31
_BnuStop being lazy and fix the icons...17:32
_Bnumntmn: http://www.apehead.se/MOD.zip17:33
mntmn;___;17:34
mntmnshould i use fullpalette...17:34
_BnuNot 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
mntmnhmm ok! thanks!17:41
mntmndownloading mords...17:41
_BnuBut you'll probably notice almost instantly when the ones with a different PlayerFreq than 50 start playing.17:42
_BnuAlso, a PlayerFreq of 0 apparently means 50, regardless of refresh rate.17:42
_BnuBecause 11025 / 50 = 220-ish, plus 25 sample (pairs) at some point, which is what ScummVM farts out...17:43
mntmnok i am not looking at playerfreq at all so far so i will probably have to do that then17:49
_BnuYeah, just add a check for it in the slave process or something.17:49
_Bnuif old playerfreq != bap->ahiac_PlayerFreq debugmi(555)17:49
_Bnuif old playerfreq != bap->ahiac_PlayerFreq { debugmi(555); old playerfreq = bap->ahiac_PlayerFreq; }17:50
_BnuThat way you can see when it changes, at least.17:50
mntmnwow someone just called my on my mobile phone to ask when their zz9000 will ship17:52
mntmn"i have the number from the internet"17:52
_Bnulolb17:53
_BnuA reasonably thing to suddenly call and ask about.17:53
_BnuAlso reasonable.17:53
mntmnok where was i17:54
_BnuDownloading giant zip files with mods.17:55
mntmnah yes!17:56
mntmnbut also, magicwb17:56
_BnuMugicWab...18:03
mntmnwagicmub18:10
mntmnok i fixed those colors18:11
mntmnwhere shall the audio buffer live in zz900018:11
mntmnprobably at the end of space18:11
_BnuThe end of all space...18:19
_BnuThe end of RTG space, maybe? The acceleration stuff "allocates" memory from the middle somewhere, or maybe after 64MB...18:19
mntmnyep, end of RTG18:19
_BnuNo, maybe after 48MB.18:19
mntmn48000 mb18:20
mntmnneeds to be Z2 compatible though...18:20
- S0rin (QUIT: Ping timeout: 240 seconds) (~S0rin@user/s0rin)18:21
mntmncurrently 30720 bytes, maybe i can half that18:21
+ S0rin (~S0rin@user/s0rin)18:22
_BnuZ2 is going to be pretty horrible, though... What's the throughput like on Z2 with no DMA? 1.5MB/sec?18:26
_BnuWell, it might be fine.18:30
_Bnu~1ms per write at 24KHz.18:31
mntmnyeah the throughput is not the problem18:32
mntmnthe mixing is18:32
mntmn(afaik)18:32
mntmnlike, AHI constructing those pristine samples...18:33
_BnuMaybe 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
_BnuAnd then AHI would already be putting the samples there...18:34
mntmnhmm18:34
mntmnok 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
mntmnnow trying some of those mods...18:35
mntmnat least the ones that i know well18:35
mntmnlol18:36
mntmnwith gods i get playerfreq 018:36
mntmnbut it sounds good18:36
mntmnso far i get 0, except from the test tone, which was 5018:37
mntmnrainbow island sounds funny... but maybe it's supposed to be like that18:38
_Bnu0 is 50, as far as I can tell.18:39
_BnuAnyway, no idea what different files use different PlayerFreq.18:39
_BnuBut there are ones that go as low as 36 and as high as 72.18:39
_BnuAnd also ones where it changes in the middle of the song.18:40
mntmnwhere the hell is RainbowIsland.mod from18:40
mntmnsurely not from Rainbow Islands...18:40
_BnuFrom the Music/MOD drawer on the CoffinOS Programs partition...18:40
mntmnyeah, but where did they get that from18:40
mntmnoopie crash18:41
_BnuYeah, I have no idea where any of that music is from.18:41
mntmnnaja most of the games i do recognize. like, their music.18:42
mntmnbut not this one, it is a similar tune but not the one from the game18:42
mntmnfirst i thought it was a playback problem18:42
_BnuI mean...18:47
_BnuI don't think it takes knowing the music to know that something isn't supposed to sound all crackly and broken up.18:48
_BnuPlayerFreq higher than 50 = crackly playback, PlayerFreq lower than 50 = eventual buffer overrun, music keeps playing after you press stop.18:48
mntmnyeah didn't happen yet >:|18:49
mntmnso far everything has playerfreq 0...18:49
_BnuWhat.18:49
_BnuNo, wait.18:49
_BnuAre you writing a short as debug? You have to shift it right 16 bits.18:49
mntmnyush18:49
_BnuIt's a fixed point value.18:49
mntmnah.18:49
mntmni have to say 48khz playback sounds quite good18:50
mntmni wonder if there is a cannonfodder mod out there...18:51
mntmnyes it is18:52
mntmnnow gonna do debugmsg(AudioCtrl->ahiac_PlayerFreq>>16);18:54
_BnuI 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
mntmnyou using hippoplayer yes?18:55
_BnuHigher = fewer bytes, lower = more bytes.18:55
_BnuYes.18:55
mntmnso far i have never encoutered any other number of bytes than 3840...18:55
_BnuBut 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
_BnuAnd you are monitoring PlayerFreq in the slave process and not in AllocAudio, right?18:57
_BnuBecause both tour de scene - main.mod and pm5.dat.mod have a PlayerFreq of 54 for me and sound like ass.18:57
_BnuJazzCat - Sushi Ska has a PlayerFreq of 64.18:58
mntmnyes, mine is called workerprocess but yes, in the loop19:00
_Bnujazzzzzzzz2.mod or whatever is PlayerFreq 70.19:00
mntmnok let me check those modz19:00
mntmnok CANNONFO.MOD that is just downloaded: 0x32 (50)19:17
mntmnok the jazzcat sushi thing is special19:17
mntmn[aswap] d-a: 29472 scl: 119:17
mntmn[aswap] ring collision 19219:18
mntmn[aswap] d-a: -192 scl: 119:18
mntmn[aswap] ring collision 361619:18
mntmnah yeah it makes playerfreq 0x40 (60)19:18
mntmnmaybe that's PAL vs NTSC?19:18
mntmni mean, it certainly is19:18
mntmnyeah pm5.dat sounds like shit because it does 0x36 (54)19:20
_Bnu0x40 is 64, though. Not 60.19:28
_Bnu4 * 1619:28
_BnuIt 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
_BnuBut 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
_BnuBecause otherwise you get the wrong number of samples per call.19:35
mntmnoop19:38
mntmnja true19: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
_BnuThat doesn't work, though. If you stretch them, you'll get slower playback.20:28
mntmngood for me...20:28
mntmnno, you are right of course20:28
_BnuYou would have to buffer them up in the driver, kind of.20:28
mntmnso there needs to be an error correction that every X times i query 1 additional buffer20:28
_BnuIt sucks that we have to do this, but I don't know any other way around it.20:28
mntmnyeah, it sucks mega bad\20:29
mntmnwho would design such a thing...20:29
mntmnmaybe it's some historical artifact from how MODs are programmed?20:29
_BnuNo idea about MODs, unfortunately.20:30
_BnuBut 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
_BnuInstead 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
_BnuIt's so weird, because this is what a software mixer would do. Push samples to the driver at the proper interval.20:32
mntmnyeah20:32
mntmnyeah20:32
_BnuAlso, once this "simple" playback thing is figured out, I also have to try to get the non-AHI mixing working...20:35
_BnuBut at least it seems like the MixFreq can't change without a call to stop/start.20:36
_BnuBut I was hoping to avoid having to do one more circular buffer in the driver itself for this simple playback shit, lolb.20:36
_BnuI also have the problem that vblank isn't actually 50Hz, haha.20:37
_BnuAnd sometimes it's 60Hz...20:37
_BnuSo 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
mntmnoop yeha20:42
apolkosnik[m]1Will this play? https://modarchive.org/index.php?request=view_by_moduleid&query=4705720:44
_BnuNo.20:47
_BnuI haven't checked what it is, but the answer is always no.20:47
apolkosnik[m]1Ok, back to work 20:50
apolkosnik[m]1This should work great to test the AHI https://youtu.be/Ad_8S9yQPgI21: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.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!