2021-08-23.log

mntmngiving up for today, no progress made00:27
- bfarmilo (QUIT: Ping timeout: 250 seconds) (~bfarmilo@202.56.40.240)00:30
mntmntomorrow i'm gonna move this into fs-uae and also mess with machine code level debugging to figure out wtf ahi gets confused01:44
mntmni wonder if something overwrites parts of the ahi ctrl dev structure01:45
mntmnor maybe it uses the math libs and i have bad ones?01:45
mntmni doubt it though01:45
+ bfarmilo (~bfarmilo@202.56.40.240)04:06
+ bfarmilo_ (~bfarmilo@202.56.40.240)04:07
- bfarmilo_ (QUIT: Client Quit) (~bfarmilo@202.56.40.240)04:09
- bfarmilo (QUIT: Ping timeout: 252 seconds) (~bfarmilo@202.56.40.240)04:11
+ bfarmilo (~bfarmilo@202.56.40.240)04:11
- bfarmilo (QUIT: Ping timeout: 252 seconds) (~bfarmilo@202.56.40.240)04:35
_BnuI fell asleep and died...05:05
_Bnumntmn: It's really strange, I wonder if it could have anything to do with the (68k) CPU data cache?05:08
_BnuBecause if it's one thing the emulated Musashi CPU does not have, it's working instruction and data cache, haha.05:09
+ bfarmilo (~bfarmilo@202.56.40.240)05:24
- norly (QUIT: Quit: Leaving.) (~norly@zhong.enpas.org)06:09
- _Bnu (QUIT: *.net *.split) (~beeanyew@89-160-120-72.cust.bredband2.com)06:48
+ _Bnu (~beeanyew@89-160-120-72.cust.bredband2.com)06:49
- bfarmilo (QUIT: Ping timeout: 252 seconds) (~bfarmilo@202.56.40.240)08:00
+ mnemotron (~wayne@194.135.47.239)08:02
_BnuOn an unrelated side note, "mahi" is Japanese for "paralysis"...08:06
+ bfarmilo (~bfarmilo@202.56.40.240)08:12
+ bfarmilo_ (~bfarmilo@202.56.40.240)08:13
- bfarmilo (QUIT: Ping timeout: 252 seconds) (~bfarmilo@202.56.40.240)08:17
+ RobDangerous (~Thunderbi@p200300ec8f3e1c00e9b8d81dc3ff44b6.dip0.t-ipconnect.de)09:13
- RobDangerous (QUIT: Client Quit) (~Thunderbi@p200300ec8f3e1c00e9b8d81dc3ff44b6.dip0.t-ipconnect.de)09:13
+ RobDangerous (~Thunderbi@p200300ec8f3e1c00e9b8d81dc3ff44b6.dip0.t-ipconnect.de)09:20
neomanhi09:33
mntmn_Bnu: i did try without caches and bursts, didn't make a difference. also tried ahi.device.00010:46
neomandisabled optimizations in vbcc? ;) they are buggy partly...10:49
neoman(had some problems in my demoengine)10:50
mntmnit's gcc11:13
mntmnbut there could also be a bug there11:13
mntmnthat's why i'm gonna look at the machine code level later11:13
- xet7 (QUIT: Remote host closed the connection) (~xet7@user/xet7)11:17
+ xet7 (~xet7@user/xet7)11:18
_BnuYeah, though I've found that GCC is in general a lot more reliable than VBCC, especially when it comes to keeping registers intact...11:45
neomanbebbos?12:21
_BnuYes.12:37
_BnuThe other one doesn't have the NDK or any of the other SDKs suitable for use with GCC.12:38
neomanI would also disable optimizations there as we also experienced some bugs13:04
neomanor maybe try bartmans GCC 10: https://github.com/BartmanAbyss/vscode-amiga-debug13:04
neomanhttps://github.com/BartmanAbyss/vscode-amiga-debug#gcc13:04
mntmnneoman: interesting13:27
_BnuI have not experienced any bugs, aside from broken NDK protos.13:36
_BnuBut he usually fixes those very quickly.13:36
_BnuBut like I said, Bartman's (the other) GCC seems very unsuitable for things like device drivers.13:36
_BnuUnless you want to do it all in VASM, in which case you wouldn't be using GCC anyway...13:37
_BnuDisabling optimizations in GCC is like saying "I would like to code this all in assembler instead and get the same or a slower result".13:39
_BnuIf you feel that you're getting bugs out of GCC, do make sure that they're actually bugs and you didn't just neglect to declare something as volatile if it really is. I did that at first when I ported over the RTG driver to GCC, and it optimized out a bunch of sequential writes to the same register.13:40
neomanyeah all in all bebbos gcc is really good. I must admit I still have one bug which I still have to create an issue for... I also don't know if these AHI things are related to that but often I disable optimizations to locate the problem a bit more :)14:02
neomanalso as GCC is now officially maintained again for m68k, we can use newer GCC versions again!14:02
neomanah right and LLVM also has m68k support now :) didn't try it yet though14:04
_BnuI mean, I would say that my current driver is way too similar to mntmn's, and built with the very same GCC, that it shouldn't be the compiler that's the problem.14:26
mntmn_Bnu: what's your theory for ahi4.18 forgetting to mix half of the input channels on my system?14:27
mntmni need to cross check with the paula driver still14:28
_BnuI don't have a theory for it yet. My initial guess would be that you're only copying half of the samples at some point.14:28
mntmn_Bnu: that's not what is happening14:28
_BnuBut that falls apart because they're interleaved.14:28
_BnuYes, I know.14:28
mntmn_Bnu: because if i pan extremely to one side in hippoplayer for example, i get all those samples filled in 14:29
mntmn_Bnu: but then left and right are just two copies of half of the input.14:29
mntmn_Bnu: hippoplayer or ami-playmod send 4 channels to AHI.14:29
mntmn_Bnu: AHI then mixes these into an interleaved stereo buffer.14:29
mntmn_Bnu: this mixing step is broken on my system. with ahi 6 it works, but is too slow.14:30
_BnuDo all mods do this, or some specific mod file? All I have is the crap that's on the Coffin "Programs" disk.14:30
mntmn_Bnu: my theory is that either 1. something breaks AHI at runtime or 2. AHI uses some broken system dependency.14:30
mntmn_Bnu: all mods that i tried, for example chaosengine.mod, turrican 2 remix, some others that are in ami-playmod as examples14:31
_BnuThat's possible, but all I have on the PiStorm is some super basic OS 3.1 install with AHI, P96 and some other stuff I use for testing.14:31
mntmnyeah, i have a frankenstein OS so i will try in pristine os3.114:31
mntmni should check with snoopdos if ahi uses any libraries14:31
_BnuThis is so strange.15:59
_BnuFor some reason, AHI is sending me 729 mixed samples for what is supposedly an 11100Hz ass-music unit audio stream.16:00
_BnuEhrr, 792 mixed bytes.16:01
_BnuSo 198 mixed sample pairs, 16-bit.16:01
_BnuBut it should be 888 bytes, or 222 mixed sample pairs.16:01
_BnuI mean, I can resample it to the target 11025Hz output no problem. But why does it do it.16:03
_BnuNow I'm curious though. What does AHI consider "11KHz" to be?16:07
_BnuDefinitely 11025, so that's good.16:08
_BnuIt's just that HippoPlayer's settings suck too much to actually set it to 11025.16:08
mntmnhaha16:22
mntmnthe AHI installer is not compatible with the Installer on the wb3.1 install disk. craps out because of some error16:24
mntmnthis is just some bizarre computer-like text adventure...16:24
mntmnmanual install it is16:25
mntmnok i have an emulator setup with serial debug via sashimi16:38
mntmnkprintf doesn't work correctly though. it prints only zeroes16:39
mntmnok kprintf with %lx works16:45
mntmnbehaves exactly the same in emulator16:48
mntmnwith fresh 3.116:48
mntmnso, at least i can reproduce the exact same brokenness16:48
mntmni removed some debug prints and now it crashes.16:51
mntmnvery fragile16:51
mntmn(crashes in emulator)16:51
_BnuYeah, you have to use %l when building for any 32-bit CPU, there was some thing in the Amiga developer manual thing about that, I think?16:51
_BnuWell, KPrintF is super dangerous anyway.16:51
mntmni didn't use it before16:51
mntmnlike, to debug i wrote to a zz register. but in the emulator i use kprintf now16:51
_BnuMoogles.16:52
_BnuACTION tries to thonk16:53
_BnuIs it maybe crashing because you're freeing/not freeing something in AhiSubStop? or whatever the function is called?16:53
_BnuOr is it just crashing in general when you open the AHI prefs or something...16:53
mntmnnow it doesn't crash anymore, might have been stack of playmod / not enough stack for it.16:55
mntmnok so here you can see my loop and the output http://dump.mntmn.com/screenshot-2021-08-23-16-54-29.png16:55
mntmnwait that's even weirder16:55
_BnuOne chammel is empty...16:56
mntmnnot only that16:56
mntmnthose are longs16:56
mntmnso every second set of samples is even empty here (both channels)16:56
mntmnah no16:56
mntmni am le dumbs16:56
mntmni made uint16_t* xbuf16:56
mntmnuno moment16:56
mntmnhere http://dump.mntmn.com/screenshot-2021-08-23-16-57-52.png16:58
mntmnso yeah, one channel is empty.16:58
mntmnand you can see 1204 in the output. that is 0x1200 + number of channels 16:59
mntmni.e. ahiac_Channels16:59
_BnuYeah, I have that in my debuge output as well, that's just the internal number of channels. Only useful for self-mixing, if that would ever work...16:59
mntmnalso we have flags of 0x7 which is stereo, panning, volume iirc16:59
mntmn_Bnu: ok17:00
_Bnuhttps://gist.github.com/beeanyew/b7abf1dd5b3c219d6f3fa8c025bc0c6317:00
_BnuThe values are wrong endian, but that's what the first four bytes look for me with any random mod.17:00
mntmn_Bnu: are you printing 16 bit words?17:00
_BnuBut let me try switching to 48KHz.17:00
mntmni can also give you exactly this mod just to check if i am insane17:00
_BnuYes, so left/right/left/right. First four samples.17:00
mntmnhttp://dump.mntmn.com/ce.mod17:01
mntmnok 17:01
_BnuOops, forgot to recompile pi_ahi.c for 48KHz, lolb.17:02
mntmnlulzes17:02
mntmnfor me it is same kaputt with 22050 hz17:02
mntmnok i have a call unfortunately...17:02
_BnuIt sounds very good...17:03
mntmn;__;17:03
mntmnthen there is hope...17:03
_BnuBut yeah, I see no empty samples...17:03
_BnuThat's a lie, I'm sure there are some empty ones.17:03
_BnuBut every second one isn't empty...17:04
_BnuAre you SURE you replaced the prefsfile with one that has HIFI disabled for the modes?17:04
_Bnuhttps://cdn.discordapp.com/attachments/789807768554831902/879381997091442749/2021-08-23_17-08-36.mp417:10
_BnuThere's some stutter, possibly because of the millions of piles of debuf printfs I have every time there's a new buffer...17:10
- mnemotron (QUIT: Quit: He Who Must Not Be Named) (~wayne@194.135.47.239)17:16
_BnuDebuf...17:47
pasikdepoof17:48
mntmn_Bnu: i have all kinds of modes! hifi and non hifi17:52
mntmn_Bnu: panning and non panning17:52
mntmn_Bnu: stereo and non stereo17:53
_Bnuce.mod also playing in stereo.17:53
_BnuAh yeah, I only have four modes, 16-bit stereo/mono and 8-bit stereo/mono.17:53
mntmn_Bnu: so here i was testing with VPS (volume, panning, stereo set to TRUE)17:53
mntmn(i don't have 8 bit modez)17:53
mntmnhmm how do you make 8 bit modes in the prefs file anyway...17:53
mntmndo you set AHICF_BITS or whateves?17:54
_BnuThat's a good question...17:56
_BnuI haven't really tested the 8 bit modes, since I wasn't going to do that until I had 16-bit working.17:57
_BnuBut yeah, I hear the different Chaos engine sounds on different speakers.17:59
_BnuUnless I downmix to mono in OBS.17:59
_Bnuhttps://cdn.discordapp.com/attachments/789807768554831902/879394897063473152/2021-08-23_18-00-46.mp418:01
mntmnyou are living my dream _Bnu and i am living my own mono nightmare18:01
pasik:)18:02
_Bnu('A`)18:02
mntmnok what am i going to do about it...18:02
mntmnemulator freezes when trying to play back another time, so something is definitely corrupted.18:03
_BnuI can re-upload my zip file and you can check if there's something I'm doing differently, not sure. I'd test it on the ZZ9000, but I lack some vital equipments...18:05
mntmnyeah, i mean i'm testing without zz9000 in UAE right now.18:05
mntmnsame driver just without outputting anything to zz, instead it writes in a static buffer18:05
mntmnstatic uint8_t glob_buf[3840*2];18:05
mntmnand then i just print a few words from it18:06
_Bnuhttp://www.apehead.se/snakes9000/ahi.zip18:06
mntmnand i use VERTB instead of my own external irq. doesn't make any difference18:06
_BnuHm, I've tried to avoid global variables as much as I can in my driver, since it seemed like it might have different AudioCtrl for different playback things.18:07
_BnuBut when mixing to your buffer on the ZZ9000, that shouldn't matter.18:07
_Bnu(Since that's just a direct address.)18:07
_BnuJust don't ask me why I allocate 8 mixing/playback buffers and then I only use one and I have max channels set to 16...18:09
- xet7 (QUIT: Remote host closed the connection) (~xet7@user/xet7)18:10
+ xet7 (~xet7@user/xet7)18:11
mntmn_Bnu: yeah. i've thrown out many things from the driver18:15
_BnuWell, you can do as you wish, of course. I've mostly just added more things to mine...18:17
mntmnhmm you have some stuff in SetSound18:24
_BnuJust debug things, I think?18:33
_BnuOh, uh. I don't actually remember why that is there.18:34
_BnuChaos Engine music still playing after 37 minutes...18:37
mntmn;_;18:44
_BnuBut I don't think the code in SetSound actually does anything.18:47
_BnuIt's just left over from when I was trying to do the mixing myself.18:48
mntmndamn, why is keyboard input to COP fucked up in UAE18:52
mntmnit types 10x b if i press b...18:52
_BnuWhy not... bonus letters...18:53
mntmnah, i can get amiga serial port routed to telnet18:55
mntmn> Starting program... watch out for bugs...18:58
_BnuStarting snakes...19:01
_BnuPlayback in pi-ahi.audio is actually done over Snake 1, I guess...19:02
mntmnwhy do we need utility library?19:04
mntmni forgot...19:05
_BnuUhh... it's for something.19:16
_BnuOne of the function calls, can't remember which one.19:16
_BnuBut basically if you try to call anything and you don't have the library open in the current process, it'll crash and die.19:17
_BnuAnd then the AHI device managed to keep the Amiga alive even though it locked up from a missed interrupt...19:18
mntmncool cool19:21
mntmnanyway here's a strange thing19:21
mntmnif i allocate my base data structure in AllocAudio instead of init, it doesn't crash on reopening it anymore.19:21
_BnuI don't think I use the base data structure for anything...19:24
_BnuI set it, but I never use it.19:24
_BnuIt's just left over from... something.19:25
mntmnhmm so you don't have the signals in there?19:27
_BnuWhich ones?19:33
_BnuI keep them in the one that gets allocated for AllocAudio.19:34
mntmnyeah.19:34
_BnuThe base one is never actually used, other than as a makeshift means to pass the address to the allocated one to the slave process.19:34
mntmnok19:35
_BnuSo technically it's a memory leak...19:35
mntmnyeah19:35
_BnuAnd I should figure out a better way to pass the pointer to the slave process.19:35
mntmni just use a global variable ;)19:35
_BnuBut I couldn't figure out where CreateNewProcTags stuff the userdata.19:35
mntmnwhat's your AHI stereo level in hippo player? 0%?19:35
_BnuYeah but that won't work depending on where you declare it.19:35
mntmnplease explain @ that won't work19:35
mntmndo global variables cause some kind of problem?19:36
_BnuYes, depending on where you place them.19:36
mntmnaha??19:36
mntmnso maybe that's my problem19:36
_BnuOnly the bases can go above start.19:36
mntmnmaybe they point to stuff in AHI that i then overwrite19:36
mntmnah well i don't have my vars above start19:37
_BnuBecause they end up in the BSS something something which is just a collection of single null pointers.19:37
_BnuStill, I assume there's some reason Thomas Richter says you shouldn't use global variables in P96 drivers.19:37
_BnuAnd we're just lucky that it works.19:37
mntmninterdazzling19:38
mntmnwell, i can try to work around that...19:38
mntmnmaybe they don't use a proper segment loader with all bells and whistles to load this stuff19:39
_BnuBalls and whistlers, heh heh heh.19:39
_BnuAlso, I have the stereo level set to 50% or something, because otherwise the stereo separation sounds kind of bad.19:40
_BnuBut even if I set it to 0%, I still have sound on both speakers.19:41
mntmnheh19:51
mntmnok19:51
mntmnthanks19:51
mntmnok got it20:04
mntmnglobal vars was the problem20:04
mntmnso looks like global vars were overwriting stuff in AHI20:05
mntmni got rid of all of them and now i get stereo data20:05
mntmnmy god.20:09
- S0rin (QUIT: Ping timeout: 268 seconds) (~S0rin@user/s0rin)20:09
+ S0rin (~S0rin@user/s0rin)20:13
_BnuYeah, the bases are the only thing you can really keep like that, I think... because they're sort of a natural part of all Amygor applications.20:13
mntmnok utility.library is needed for CallHookPkt20:14
_BnuAh yeah, I knew it was needed for some function call.20:17
mntmnok, back to real hardware...20:19
mntmndebugging this in UAE was a really good idea20:19
mntmncoz of the speed of resetting etc...20:19
mntmnand copying new driver versions in 20:19
mntmnyes, getting stereo on the real device now, just playback is very slow.20:23
mntmnprobably because of all those naughty kprintfs20:23
_BnuAlso lolb, HippoPlayer playback time goes back to 0 if it goes over one hour.20:24
_BnuSo now it's at 45 minutes again...20:24
mntmnlol20:25
mntmnare you listening to the same track for 1h45m? :320:25
_BnuYes...20:30
_BnuI mean I listened to the Pinball Fantasies Party Land high score music for an entire day once, lol.20:30
_BnuI still don't remember how it goes...20:30
_BnuBecause I always have to hear the first few notes before I remember a song at all.20:31
mntmnnice.20:32
mntmni wonder if there are any 16 bit mods or something20:33
mntmnhifi mods...20:33
mntmnanyway, 030/25 has no problem with 48khz playback20:34
mntmnat least if it's ahi 4.18 and byte swapping happens on the zz...20:34
mntmni have to say superfrog sounds really good20:35
pasikat least all the unholy pc modules can be 16bit.. .xm, .s3m, .it20:38
pasikdunno if hippo wants to play those20:38
mntmnah20:39
mntmngood idea20:39
mntmnit == impulse tracker?20:40
pasikyup20:41
_BnuInfernal turds.20:47
- Fate (QUIT: Ping timeout: 248 seconds) (~fate@bnc.nordkommission.de)20:59
+ Fate (~fate@bnc.nordkommission.de)20:59
mntmnhm mhm21:03
_BnuOh no, sorry, apparently it goes up to 99:99 before it resets to 0.21:05
_BnuEhrr, 99:59.21:05
_BnuSo I've now been listening for 100 minutes and 86 minutes.21:05
mntmnnice21:15
mntmndeliplayer's ahinoteplayer seems to be too damn slow.21:15
mntmnhippoplayer is much faster for some reason21:16
mntmnneed... 6806021:24
mntmnhippo can play .xm, but my comput0r is too slow21:24
_BnuHipo Pleyer.21:24
_BnuOkay, 08:05, I think that's enough Chaos Engine, lolb.21:26
_BnuPlayback stopped immediately, so it was feeding the samples close enough to 48KHz at least.21:27
mntmnlol21:32
mntmnnice21:32
neomanyou guys got AHI working?21:32
mntmnyeah21:32
neomancongratulations :)21:33
_BnuNow I just have to re-schmample to whatever the user configures the output as... since I can't actually count on it being any specific value.21:33
mntmnbut for separate things21:33
_BnuAnd then try to figure out how to get AHI to stop doing the mixing.21:33
_BnuI just hope I was of some help, lol.21:33
mntmn_Bnu: yes. here is my current driver version btw https://source.mnt.re/amiga/zz9000-drivers/-/blob/wip-zz9000ax/ahi/driver/zz9000ax-ahi.c21:34
mntmnfiddling with cs mk1 now... doesn't seem to like autobootz21:36
mntmni remember you told me your 060 machine also wasn't happy about it21:36
_BnuYeah, it didn't like it at all.21:39
_BnuMaybe if you compile it with 68020-060 or whatever that flag is?21:39
mntmni can try. but it does end up in parse_rdb21:39
_BnuYeah, that I saw from the debug output.21:40
mntmnand gives some happy data and returns, but then everything hangs21:40
mntmnlike, it just sits there. i think you had this problem too21:40
mntmncsmk1 already has a 060 patching rom, btw.21:41
_BnuYeah, doesn't surprise me. It was surprising to me that no one seemed to know, though.21:43
_BnuAnd said you needed a dummy 68040 library, when all it does is make the thing crash.21:43
mntmnok, without my autoboot stuffs i get to the kickstart screen.21:45
mntmnbut now i have no disk with my softwarez.21:45
mntmnautobootizzle21:46
_BnuJust insert flopy...21:48
_Bnu544MB floppy disk.21:48
mntmnsuperfloppy21:51
mntmni think it might be about diagpt vs bootpt21:51
_BnuAs far as I could tell, you need both(s).21:52
mntmnyeah i have both. the docs about the diag area are a bit strönge21:58
mntmni am calling InitResident myself at the end of DiagPt, that maybe wrong?22:00
_BnuJust ignore all the docks...22:00
_BnuWell, I cann it at DiagInit, since I don't get to that code until after relocation is done.22:01
_BnuCall, even.22:01
_BnuYou're not forgetting to open expansion.library in the new ROM, right?22:01
_BnuI forgot to check, and it's assembler so I have insane trouble reading it...22:02
mntmnhmmm what about expansion.library...22:08
_BnuYou have to open it for InitResident. Or I do.22:10
_BnuUh wait, no.22:10
_BnuNot InitResident, something else.22:10
_BnuWhat was it...22:10
mntmnthe main difference is that you have another rom tag in the assembl0r bootrom22:10
_BnuAddBootNode22:10
mntmnwhile the device itself contains a romtag already22:11
_BnuAddBootNode needs expansion.library.22:11
mntmnok22:11
_BnuPossibly MakeDosNode and etc. as well.22:11
mntmni have addbootnode in my device's init function and that opens expansion.library22:11
mntmni do not have 2 romtags22:11
mntmnonly 1, inside the device.22:11
_BnuCalling AddBootNode does not open expansion.library, though. At least not in my experience.22:12
mntmnbut i'm calling initresident in diag, and that might be wrong.22:12
mntmni know.22:12
mntmnbut i'm opening expansion.library in the device22:12
mntmnand later call addbootnode, in the device.22:12
mntmnnot in assembler but in c code22:12
_BnuAh yeah, sorry, I dunno how it works without a separate ROMtag for the device.22:12
_BnuI don't know why you wouldn't have a ROMtag in both.22:12
mntmnwell, in your case it looks like the Init in the romtag is called automatically22:13
mntmni don't know why you would have 2 romtags22:13
_BnuI don't know what it does, it's the example boot ROM.22:13
mntmnok22:13
mntmnmy understanding is that kickstart should find the romtag in the device and call init of it, perhaps22:13
mntmn    "       dc.l    _device_name            \n"22:14
mntmn    "       dc.l    _device_id_string       \n"22:14
mntmn    "       dc.l    _auto_init_tables       \n"22:14
mntmninteresting22:14
_BnuAh yeah, sorry. I don't know why or how it'd do that.22:14
mntmnnaja the structure is exactly the same22:15
_BnuIf your device is not loadable as a device driver in WB, something's wrong with it.22:15
_BnuIe, by specifying it when running HDToolBox or something.22:15
mntmnwhy should it not be loadable?22:15
_BnuI don't know...!22:15
mntmndid you see it not being loadable?22:15
_BnuI did not, I only had it embedded in the firmware.22:16
mntmnok22:16
_BnuBut I also don't know why the boot ROM wouldn't have a ROMtag when they all seem to have ROMtags.22:16
mntmnok weird thing22:16
mntmnyeah but it has a romtag. in the device. the device in my case is combined with the rest of the bootrom22:16
mntmnso there is a bootrom in all of this concatenated mess22:16
mntmnsorry22:16
mntmni mean a romtag22:16
mntmndamn words!22:17
mntmnwords are hard!22:17
mntmni mean, my bootrom = some assembler + the .device22:17
mntmnmashed together in one binary22:17
mntmnbut there is one difference in the romtag i don't quite get.22:17
_BnuYeah, but why only one? I've seen no other boot ROM that has no ROMtag for the boot ROM itself and a separate one for the device driver.22:18
mntmnhmm ok i didn't know that you need two22:19
mntmni mean, i don't get what the "bootrom itself" is22:19
_BnuIf you take a look at the Apollo boot ROM, the driver itself (which is gigantic) has a ROMtag in it separate from the one in RomBoot1.s22:19
mntmnok!22:19
_BnuI mean... as far as I know, the bootROM itself is what's called bootrom.s for PiSCSI.22:19
mntmni mean your romtag in the bootrom has the same device name like the device...22:19
mntmni mean, they have the same name22:19
_BnuIt does. I can change it, if you want.22:19
_BnuTo like sneaking_balls.device or something.22:20
mntmnno, i don't know what any of that means22:20
_BnuIt's code from the example boot ROM that isn't used.22:20
_Bnuhttp://amigadev.elowar.com/read/ADCD_2.1/Libraries_Manual_guide/node0594.html22:21
_BnuYou can mostly ignore all of it and just start doing your code after Init:22:21
_BnuBut I can clean up the PiSCSI boot ROM if you want, and remove all the things that aren't used.22:27
mntmni am 100% sure that only 1 romtag is needed, in the device, and i understand now why there can be different types of Init in a romtag.22:27
mntmnit's explained here http://wandel.ca/homepage/execdis/devices_doc.txt22:27
mntmnThe InitResident() function first checks if the RTF_AUTOINIT flag is22:27
mntmnset in the RomTag.  If it is not, it simply calls the routine pointed to22:27
mntmnby "rt_Init" with A0 containing the value passed as "segList", and22:27
mntmnreturns.22:27
_BnuAlright, sorry.22:28
mntmnin my device driver RTF_AUTOINIT is set, so in that case it looks for a init table instead of just jumping to a function22:28
_BnuGotcha.22:28
mntmnin your romtag RTF_AUTOINIT is not set, so that Init is called directly 22:29
_BnuYeah it's not set in the boot ROM ROMtag because it didn't seem like it should be set.22:29
mntmnyeah. 22:29
mntmni was calling InitResident() prematurely in diagpt that is probably wrong, kickstart should init the device itself later when it thinks so22:29
+ norly (~norly@zhong.enpas.org)22:30
_BnuBut autoinit is set in my device driver, because that's how it seemed like it should be.22:31
_BnuAnd I call InitResident on the address of the ROMtag at the point of allocated memory where I reloc the driver to.22:32
_BnuI don't call it on the boot ROM ROMtag.22:32
_BnuI thought the boot ROM ROMtag was just supposed to describe how the boot ROM worked.22:33
mntmnthe question is, can kickstart stuff handle RTF_AUTOINIT22:37
_BnuI dunno, I've never tried it.22:38
_BnuIt says all the code has to be position independent, which is why I'm using branches instead of jumps everywhere.22:39
_BnuAnd all the jsrs are (pc).22:39
mntmnyeah22:41
mntmnrtc matschword23:11
_BnuMatchbox...23:17
mntmnbig hmm.23:29
mntmnoh i have the drives now in Boot Options23:33
mntmnmaybe i really needed to compile the device for 06023:34
mntmnZZDisk has a checksum error23:34
mntmneeeeeeeek23:34
mntmnmon does not list 68060.library.23:38
mntmnso i believe it is not in the cs rom.23:38
mntmnleeching those phase5 libraries...23:40
_BnuYou probably don't need to compile it specifically for 68060.23:41
_BnuBut with the flag thing that makes it compatible with 68020 through 060.23:41
mntmnnice, are you using that flag? then i will take it...23:42
mntmnnow it doesn't work anymore23:45
mntmnhow did i manage to get it to work once23:45
mntmnseems to be a matter of luck. now it works again23:46
mntmnok setpatch now says "68040 support code loaded"23:47
mntmnand "vl" in mon shows 68040.library and 68060.library.23:47
mntmnok i have a workbench23:54
_BnuI'm not using it, because I don't remember what it is. :(23:54
mntmnworkbench?23:54
_BnuI always just compile everything with m68020 for the PiStorm, since it's only 000-060.23:54
mntmnah, that flag23:54
_BnuNo, the flag.23:54
mntmnfun with flags23:55
_Bnu000-040, even.23:55
_BnuTechnically it also supports the 68070, which is some weird 020 variant...23:56
mntmnok, my ahi stuff works on 060 too...23:56
mntmn68070? :323:56
mntmneven 68060 is too slow to play jungle_3.xm23:57
_BnuYeah, it's the CPU the Philips CD-i uses.23:57
_BnuHow many channels is it? Isn't even a Pentium too slow to play some of those XM songs...23:58
mntmn8 channels23:58
mntmn3MB+23:58
_BnuHuh, would be down to the rate of the samples then I guess.23:58
mntmni mean, i can faintly hear a crazy dnb track through all the overrun noise...23:58
_BnuI've only seen a few samples above 22KHz while playing MOBs on the PuStorm.23:58
mntmnit's only a tiny bit too slow23:59
mntmnmaybe i shouldn't use ahi.device.00023:59

Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!