2021-08-05.log

mntmnforcie: yeah there was a bug or weird behavior00:35
mntmnforcie: i use FastIPrefs and that seems to hide the menu bar when backdrop is on00:37
mntmnreally weird00:37
mntmn(because i needed a substitute for iprefs, maybe there's another one)00:37
forcieoh00:41
forcieit is fascinating how almost anything can be replaced00:42
mntmnyes 00:49
mntmni will do a writeup tomorrow00:49
mntmnand some alpha testing zip archive or disk image00:49
mntmnof course it's hard to say if all the lhas i used are legit and don't themselves contain warezzz00:50
mntmn(everything is from aminet)00:50
- RobDangerous (QUIT: Ping timeout: 256 seconds) (~Thunderbi@p200300ec8f3e1c0079e4f9f2376e6b93.dip0.t-ipconnect.de)01:05
+ RobDangerous (~Thunderbi@p200300ec8f3e1c00946d7ef7cfdde9d0.dip0.t-ipconnect.de)07:27
- RobDangerous (QUIT: Quit: RobDangerous) (~Thunderbi@p200300ec8f3e1c00946d7ef7cfdde9d0.dip0.t-ipconnect.de)07:34
+ RobDangerous (~Thunderbi@p200300ec8f3e1c00946d7ef7cfdde9d0.dip0.t-ipconnect.de)07:34
mntmnsoo i should probably release my ZZombie OS thing15:31
_BnuNo, it is too dangerous...15:42
_BnuACTION dies of danger15:42
mntmnuh oh15:46
mntmni am writing the readm15:46
mntmne15:46
_BnuCan we expense the writing of the readme...16:19
_BnuAlso mntmn, Claude and I were considering going to Berlin sometimes in September and break into your office, naturally without asking you if it's okay to visit at that time...16:20
mntmnoh wow ok16:20
mntmndo it, just not in the first week!!16:21
_BnuIs that when they carpet bomb the city and rebuild it to keep things fresh...16:21
Claudethat's on 31th December 16:34
mntmnmhm16:47
mntmnhere's my writeup https://github.com/mntmn/ZZombie16:47
mntmnbut i haven't put in any actual files from packages yet because i still have to think about the correct approach16:47
mntmnfeedback appreciated!16:48
_BnuDownload files to hard drive and upload to the cloud.16:57
mntmnmaybe i don't even need to redistribute any packages, i could do a build script instead...16:59
_BnuWhy is there no CD32 version... this operating system is the worst.17:01
mntmn;_:17:04
apolkosnik[m]Script on the pc to download and build the package blob? 17:06
mntmnyeah17:06
mntmnfor example. i'm not sure if it's ok to distribute files that are extracted from the archives17:06
mntmnat least not in all cases17:06
apolkosnik[m]Yeah, also aminet has a flag for tings not to distribute on aminet CDs17:09
_BnuI hope that includes ports of open source things with no source code available, lol.17:10
_BnuBecause those things can seriously go die in a fire.17:10
mntmnlol17:13
mntmnwhere can i see the flag??17:13
_Bnu:aminet_flag:17:25
mntmn:D17:25
mntmnmaybe i should rather take a two-step approach. first make the bare minimum and then some kind of script that can download more stuffz... perhaps on the amiga itself17:28
apolkosnik[m]👍17:30
mntmnwhat is even the license of amiga lha17:38
mntmnhmm "Permissive license" https://en.wikipedia.org/wiki/LHA_(file_format)17:39
mntmnsetpatch is a trap, has a file README.first where it says it's not freely distributable17:43
mntmnin the trash it goes17:43
mntmnRedit has no license ;_:17:44
mntmnah, the source code has a readme that says binaries cannot be distributed17:47
mntmnlol.17:47
mntmnwhy ;_;17:47
forciecan't have nice things on amiga17:49
_BnuI am not freely distributable.17:52
mntmnneed a new text editor then. i will see if vim can be stripped down perhaps17:55
_BnuI don't think SetPatch is actually necessary, though.17:57
_BnuAt least it never runs on my WB 3.1 install.17:57
mntmnyep, goes in the trash17:59
mntmnhttps://aminet.net/package/comm/net/AmiTCP-bin-30b217:59
mntmnso this says GNU17:59
mntmnbut then i read that later they charged for it?17:59
mntmnwithout releasing source maybe? :317:59
mntmnamitcp 3 sources are available.18:02
mntmnok minimal version 1 https://github.com/mntmn/ZZombie/tree/main/disk18:12
mntmnbleeding edge fw1.9a z3 firmware with usb autoboot (not tested without usb stick!) http://dump.mntmn.com/BOOT.bin-z3-1.9a-2021080518:17
mntmnnow tested without usb stick... seems to work ok18:19
mntmnfails kinda gracefully18:19
mntmnnow trying to preinstall AmiTCP into this thang...18:24
Claudea modern TCP stack for Amiga would be a thing 18:27
Claudesomething like : https://www.oryx-embedded.com/products/CycloneTCP 18:28
mntmnmhm18:32
mntmn> At some point during the installation, you will be prompted to change the root password. This will not work, so just close the window and continue with the installation18:32
mntmn(AmiTCP)18:32
_BnuNot working, as intended.18:33
mntmnhehe18:35
mntmnis there a smol aminet browser/downloader tool? probably ftp? :318:50
_Bnuwget aminet.net -r18:55
mntmnhehe18:59
mntmnhmm Path something add doesn't persist19:02
mntmnis that normal?19:02
mntmnlike, it doesn't persist across shells19:02
mntmnprobably normal?19:02
mntmnah that's what S:Shell-Startup is for19:09
mntmnthe amitcp installer is fantastically broken :D19:19
_BnuS:Shell-Startup is only used when the Amiga is connected to a 4k120 TV.19:19
_BnuI wonder if anyone is selling recapped CD32s on eBby...19:21
_BnuYes, for 700 Euro. ('A`)19:21
mntmnok amitcp works19:22
_Bnuhttps://www.ebay.com/itm/324738769349?hash=item4b9bf061c5:g:k14AAOSwOQlhCWIt It does come with a really nice looking controller, though...19:22
mntmnlol @ 70019:22
- xet7 (QUIT: Remote host closed the connection) (~xet7@user/xet7)19:23
+ xet7 (~xet7@user/xet7)19:23
mntmnamitcp is cool, only the installer is nonsensical19:24
mntmnalso, vim is cool19:24
mntmncool cool19:24
_BnuI do want a working CD32 suitable for the SX32 Pro, but not so much that I'd pay 700 Euro for it, haha.19:26
mntmnlel19:26
mntmnalso interdazzling http://aminet.net/package/comm/tcp/sana2-tftpclient19:27
_BnuMaybe Claude can recap it using your laser cutter if I bring it to Berlin... and then we can play Pinball Fantasies...19:44
RobDangerousI have an additional CD32 that still worked last I tried. The expansion port cover is missing which makes it especially well suited for an SX32 Pro. Haven't recapped it yet but I can do that, check it and send it to you.19:46
mntmn_Bnu: sounds good to me19:48
_BnuRobDangerous: Oh, I can pay you for it no problem. Just maybe not 700 Euro, haha.19:49
RobDangerousPay me with...19:49
RobDangerousthat 50Hz lock for the ZZ9000.19:49
mntmnhaha19:50
RobDangerousPlus shipping costs.19:50
_BnuI mean, I can do that, but that feels like I'm ripping you off... I'd literally just be trying different values until it's at 49.92-ish Hz, haha.19:50
pasikspeaking of that.. how difficult would be to implement dynamic pixelclock aka 'sync to vsync'19:51
RobDangerousLet's do it this way - I'll recap it next month and see if it still works. If it does we'll discuss what we both think would be fair.19:51
pasiklike ossc does it..19:51
RobDangerousThat's what we were talking about.19:51
RobDangerousI think.19:52
_BnuI don't think it's actually possible to do that. Are you talking about the RTG modes?19:53
pasiktalking of native amiga modes here19:53
pasiknot rtg19:54
_BnuAh... in that case it'd be outside my area of knowledge, sorry. I have to withdraw my offer to fix the refresh rates for PAL/NTSC in that case.19:55
pasikso getting scrollers in demos and games being 100% smooth, running at the exactly same refresh rate than original amiga video mode..19:55
_BnuI only know how to configure the output using the Xilinx clock wizard.19:55
pasikok19:55
pasikthere's probably separate code path for the native amiga modes / scandoubler, right ? 19:56
_BnuYes, but the output video mode and VDMA is set up in the same way for both.19:56
pasikok19:56
pasikhmm19:56
_Bnumntmn would be the one to know if there's some way to hook up the native Amiga sync as sync for the video output.19:57
_BnuI'm not a hardware person, sorry. :D19:57
mntmnmight be doable, but a bit of a more involved research project19:57
mntmnbasically the 7mhz clock we use for sampling the image has to be used as an input for the clock wiz0rd19:58
mntmninstead of the fpga system clock19:58
pasikok19:59
pasikmaybe i should read the code in question19:59
_BnuBut yeah, the best I would be able to do is the old ~49.92/59.81Hz output, which did repeat one frame every few minutes or something. I can't really do anything about it, so don't attempt to compensate me for something that fancy, lolb.20:01
_BnuI would still love to buy a recapped CD32 though, if you want to sell it...20:01
pasik:)20:02
mntmnwhat's the simplest adf mounting tool?20:03
mntmnImageMount?20:03
RobDangerousLet's do it like I said, independently of the ZZ9000 things. That 49.92 thing would already be a very nice improvement though.20:03
mntmninterdazzling. i'm downloading SnoopDos.lha to USB stick with wget, but get corrupt data error on extracting it...20:09
_BnuYeah I mean, I was going to do it anyway, but I can't accept a CD32 for doing it. I'd feel way too bad about it. :D20:09
mntmndownloading + extracting on RAM: works, so we still have corruption when usb+network are used together20:09
_Bnumntmn: The little memory addresses for ETH frames, maybe?20:10
_BnuThough I think I stuck those at the end of ZYNQ onboard RAM...20:10
mntmni will take a look at the differences between the ok and broken .lha20:11
mntmnmntmn@mntmn-i9:/mnt$ md5sum SnoopDos.lha 20:12
mntmnbf4223f96bd5365f3bca9c85f44020e3  SnoopDos.lha20:12
mntmnmntmn@mntmn-i9:/mnt$ md5sum SnoopDos-good.lha 20:12
mntmn9ee3b5a2affc98cde004dc09d295de4d  SnoopDos-good.lha20:12
mntmnthey have the same size though20:12
_Bnude4d20:13
mntmnhmmm http://dump.mntmn.com/screenshot-2021-08-05-20-16-08.png20:16
mntmnproblem starts at exactly 0x4000 into the file20:17
mntmnand at exactly 0x8000 it starts to be normal again20:18
mntmnso there is one wrong chunk in the file from 0x4000-0x7fff20:19
pasik0x4000 should be enough for everyone!20:19
mntmnumm this looks like the block is from something Miami related, which is not currently on that disk http://dump.mntmn.com/screenshot-2021-08-05-20-20-09.png20:21
mntmnno wait. that is in the ~good~ file20:21
mntmnah. looks like good and bad file are intermixed20:22
mntmngood is bad and bad is good.20:22
_BnuBad is bad.20:34
_BnuOf course the good one is bad, it is de4d. :(20:34
mntmn:(20:35
mntmntrue20:36
mntmni copied md5sum onto the system.20:36
mntmnit calculates the same sums on the files at least...20:37
mntmnlol20:37
_BnuAh, and you're sure it's not the cache flush messing with things at random?20:38
mntmn_Bnu: well, i'm trying to track that down!20:39
mntmn_Bnu: http://dump.mntmn.com/screenshot-2021-08-05-20-38-34.png20:39
mntmnoink boink20:39
mntmncopied the same file 10 times... but then it was not the same anymore...20:39
mntmnahaha20:40
mntmnnightmarish corruption when writing things http://dump.mntmn.com/screenshot-2021-08-05-20-40-13.png20:40
mntmnreading seems consistent20:40
mntmncopies 9 and 10 are ok 20:41
mntmnnow i will check if this also happens without network cable plögged in20:42
mntmn_Bnu: you always said that the arm cache flushing does this, right? how did you track it down? just by disabling that?20:42
_BnuYeah, just commenting them out.20:43
mntmni can confirm it is unrelated to network20:44
mntmni have to say that i'm not using RTG20:45
_BnuIt renders RTG almost unusable since VDMA can't use the cache coherency thing, but it's testable in native modes.20:45
_BnuYeah I wasn't using RTG when testing it with ZZ9000USBStorage.device or anything.20:45
mntmnok20:45
_BnuBecause, well... you can't really use RTG without the cache flush.20:46
_BnuCan hardly see anything on the screen, haha.20:46
mntmni have some shocking news for you though20:47
mntmnproblem is gone if i boot with amiga cpu caches disabled20:47
mntmn(this is 68030)20:47
mntmnhttp://dump.mntmn.com/screenshot-2021-08-05-20-47-20.png20:47
mntmnthe 68030's cache is only 256 byte though20:48
_BnuDid you forget a volatile somewhere when reading the same memory address over and over...20:48
_BnuOr writing...20:49
mntmnlets see20:49
mntmnif i remember correctly the 68030 cache fuxx with zorro timing somehow20:49
mntmnand we also had some graphics glitches with it that i forgot20:49
_BnuWell, I can't speak for 68030 obviously.20:49
_BnuBut I didn't disable caches on my 68060 or anything like that, I only commented out the old Xil_CacheFlurshBlob.20:50
mntmnyeah, i mean that's maybe a different problem20:50
mntmnbecause that's on the arm side and my problem here is on the 68k/zorro side20:50
mntmnmaybe there are 2 problemz20:50
mntmni need zztop...20:51
_BnuI need Zoro...20:52
mntmnHiZoro20:53
mntmnbus test without 030 cache says 0 errors20:54
mntmnwith cache also 0 errors.20:55
mntmni also tested rtg yesterday and that looked fine20:56
mntmnhmm20:57
mntmn      memcpy(registers-0xd0+0xa000, data+offset+(j<<SD_SECTOR_SHIFT), 512);20:57
mntmn(in the amiga driver)20:58
mntmnregisters is just a void*, not volatile20:58
mntmnbut not sure how memcpy is handled in terms of 68k cache anyway... maybe 256 bytes are not committed before writing sometimes20:58
mntmni would expect the filesystem to be a lot more corrupted though20:59
mntmnhttp://amigadev.elowar.com/read/ADCD_2.1/Includes_and_Autodocs_3._guide/node01F0.html21:00
_BnuIt's a GCC thing, with VBCC basically everything* is volatile.21:02
_Bnu(Most of the time.)21:02
_BnuBut if you do repeated reads or writes from/to the same memory address with GCC, you need to guard it with a volatile.21:02
mntmnthere's also http://amigadev.elowar.com/read/ADCD_2.1/Includes_and_Autodocs_3._guide/node01EF.html21:03
_BnuThose things are super mega slow, and you never want to use them, haha.21:05
_BnuIf you want to invalidate the cache, the fastest way is the dummy read from the RTG driver.21:05
mntmnwell, i don't care about speed right now, first i want to figure out what's going on21:06
_BnuThe dummy read should work, if it's really the 030 cache messing with you.21:07
mntmnyeah but i already put CacheFlushU in there to test21:07
_BnuIt'll make things slightly slower, but nowhere near as slow as calling those cache flush opcodes.21:07
mntmnok so 1 of 10 files is now still wrong, and copy nr 1 is exactly the same md5 that i got on an earlier try21:07
mntmnso it recreated exactly the same error as before...21:08
mntmni guess it's maybe not directly 68k cache related but that just changes the speed of things21:10
_BnuAh yeah, the more accesses you do (the faster you go), the more likely it is to go wrong sooner.21:14
_BnuIt's only when you need to access something through the ARM side. That was why the new vsync register thing was added.21:14
mntmnwell humm21:17
mntmnthe whole bufsel mechanism for writing is a bit wonky 21:17
mntmnselecting the write buffer happens through arm21:17
mntmnbut the actual writing happens through dma21:17
_BnuYeah, but a write to or read from any ARM register has the potential to get lost.21:19
_BnuEven the DMARTG command writes get lost sometimes.21:20
_BnuI even had it happen while I was running P96Speed, it lost one copyrect for SizeWindow or something and ended up with just an empty rectangle, haha.21:20
pasikit sounds like lossless firmware is needed!21:21
mntmnare you sure they get lost or are they just in the wrong order?21:21
mntmnbecause i could imagine a race between the axi and the zorro state machine21:21
_BnuI'm pretty sure they get lost and/or blobbed.21:21
mntmnor that the axi bus is delayed21:21
_BnuBecause when I was trying to use an ARM register for the vsync, it would sometimes just return 0x00 or 0xFF.21:21
mntmnlike, arm -> axi -> fpga can be delayed and take longer than expected21:21
mntmnhm21:22
_BnuAnd when playing games in ScummVM, you can sometimes see how it fails to draw a "strip" of the background in for instance Full Throttle.21:22
_BnuIt's because the DMA_ACC command doesn't make it through to the ARM side at all, like it gets deleted by the cache flush somehow.21:23
_BnuI unfortunately can't give any reasonable steps to reproduce it, other than hammer some ARM register that returns an ever increasing value or something?21:24
mntmnmhm yeah... i am now logging the bufsels21:24
_Bnu256-bit integer check.21:25
mntmnon the arm side21:25
mntmnmost of the time amiga makes smol writes so bufsel is 021:25
mntmnbut not when writing bigger files, then bufsel increases a lot21:26
_BnuTo 650,000 :O21:29
mntmn31 seems to be the max...21:29
_BnuMaybe depends on the number of buffers set for the device?21:30
_BnuPartition, even.21:30
mntmnmaybe we need to sync to the axi state machine in the zorro state machine...21:30
mntmnno, the amiga doesn't know about these buffers per se21:30
mntmnit just says how many blocks it wants to wriet.21:30
mntmnwrite.21:30
mntmnraed and wriet21:31
mntmnthis is how it looks like when doing 1 copy http://dump.mntmn.com/screenshot-2021-08-05-21-31-34.png21:32
mntmn(i put a newline when the bufsel is 0)21:32
mntmnobviously these printfs fix the problem...21:33
mntmn(unfortunately they really do)21:37
mntmn_Bnu: lol http://dump.mntmn.com/screenshot-2021-08-05-21-38-34.png21:38
mntmni'm trying some synchronization between the isr routine and the main loop's write section...21:50
mntmnok that might have fixed it21:52
mntmnat least all my files are ok now21:52
mntmni've made it so that the isr with its cache flush cannot disturb stuff in the register write section anymore21:53
mntmnby using 2 global lock variables21:53
mntmnhopefully rtg still works ;321:56
_BnuDogs! Dogs! Dogs!21:58
_BnuAnd yeah, printfs are really slow both on the ZZ9000 and the Amiga side, haha.21:59
_BnuRetargetable Dogs.22:00
_BnuI keep forgetting to turn off my new TV...22:00
_BnuAnd then I'm like.22:00
_Bnu"What's that on the TV..."22:00
mntmnradio on the tv22:00
_Bnuhttps://cdn.discordapp.com/attachments/789807768554831902/872932221529505822/20210805_220044.jpg And it's the anti burn-in screen.22:01
_Bnu(It animates.)22:01
mntmnoh, i've seen this before...22:03
mntmni downloaded ALynx with wget on ZZombie and it was functional22:03
mntmnbut it doesn't want to show http://de.aminet.net/aminet/ ...22:07
_BnuAtari Lynx.22:14
- stepan (QUIT: Ping timeout: 272 seconds) (sid147049@id-147049.tinside.irccloud.com)22:16
mntmnhehe22:21
mntmnaweb is really fast on 03022:21
_BnuIt's the only browser I can ever really be bothered to use, haha.22:22
_BnuI tried iBrowser or whatever it was called, and it was so insanely slow.22:22
mntmnIBrowse!22:24
RobDangerousThere's a CD32 on that picture. Is that broken?22:26
_BnuYeah. Black screen, unstable sync.22:27
_BnuWorked fine two or three weeks ago, was going to meme it up and connect it to the TV earlier today.22:28
_BnuThat's when I found out that it had died...22:28
RobDangerousOh. When I send you mine, can you send me yours?22:28
_BnuOh, yeah, that's no problem.22:29
_BnuWe can trade CD32s...!22:29
RobDangerousCool. I'll tell you how things went when I got to recapping mine. Maybe we can just get all the things fixed.22:29
_BnuOne thing, though. This one has some slightly dysfunctional mod installed that adds a Mega Drive 2 connector where the RF output used to be.22:31
_BnuSo... the RF output on it can't be used...22:31
RobDangerousAh, RGB mod. Can have a look at that, too. Those are simple in principle.22:31
_BnuBut you can get RGB video if you have a Mega Drive 2 RGB SCART cable, even without a backplane, haha.22:31
_BnuIt doesn't sync on some monitors, but I don't know exactly why.22:32
+ stepan (sid147049@tinside.irccloud.com)22:32
RobDangerousMight just be a cap. Otherwise I probably can't fix it, I don't even have an oscilloscope.22:33
RobDangerousSo when I can't fix it I'll just forward it to Berlin.22:34
mntmni... might have found a replacement for ScreenMode prefs... which is ModePro22:35
mntmnmodepro doesn't seem to work with the workbench, but why22:40
_BnuI think Workbench operates almost entirely on that one file uhhh...22:41
_BnuWherever it is...22:41
_BnuScreenMode.prefs or something.22:43
mntmnyep22:48
mntmnkomisch22:52
mntmninteresting bug http://dump.mntmn.com/screenshot-2021-08-05-23-01-24.png23:01
mntmnhaha this is fastiprefs/screenmode bug...23:02
mntmnthe screen is tiny, like 640x256 and inside of a 800x600 mode23:02
mntmnthose replacement screenmode prefs set the size to 0/0 :D23:03
mntmnok panning is not yet fully functional in my version...23:04
forciethere is also MUIScreenMode23:06
forciehttp://aminet.net/package/util/wb/MUIScrMode1_523:07
_BnuWhy do you hate panning so much...23:09
mntmnforcie: i know, but it requires MUI...23:11
forcieyou already polluted the system with ClassAct crap :D23:11
mntmnforcie: the DisplayMode thing is fine, i just needed to set those width/height things to Default23:11
mntmnforcie: ;___;23:11
mntmnCrapAct23:11
mntmnnow i need a better font23:12
mntmnlel http://aminet.net/package/text/font/ReplaceTopaz23:13
_BnuI still like Topaz, for some reason...23:14
mntmnyes me too, but23:15
mntmnwith RTG it looks fuxxed23:15
mntmnthere was a double height version somewhere23:15
mntmnhttp://eab.abime.net/showthread.php?t=7631023:15
_BnuAren't the Amiga fonts just single plane bitmaps, haha.23:17
_BnuShould be easy to edit.23:17
mntmnyep23:37
mntmnrtg+reading big programs from usb = fail http://dump.mntmn.com/screenshot-2021-08-05-23-36-51.png23:37
mntmn(wget is like 1.4MB or something)23:38
_BnuRTG is evil confirmed.23:39
_BnuMaybe delete RTG and replace it with Minesweeper.23:39
mntmnyeah no my locking did not fix things http://dump.mntmn.com/screenshot-2021-08-05-23-40-18.png23:40
mntmnthere must be more thorough debuggings...23:41
_BnuYeah I mean, I think the only solution would be to get rid of the cache flush somehow.23:41
_BnuBut it would require some really advanced ACP wrangling.23:42
mntmnno, no and no!23:42
mntmni still want to understand it really in detail first23:43
mntmni mean, i believe that it is related23:43
mntmnbut i want to understand what exactly goes wrong behind the scenes23:43
_BnuGood...23:44
mntmnone of the grand unsolved mysteries...23:45
_BnuYeah but I mean, I would be more interested in fixing the problem rather than figuring out how/why it happens and that it probably can't be fixed other than by not using it, haha.23:47
mntmni think it is time for feierabend. so this all extreme messing with usb and fake workbench at least brought me back to this bug 23:47
_BnuBecause it's like, how would you be able to tell that an ARM register read or write is about to happen so a cache flush doesn't happen at that moment?23:47
mntmnthat's fair, but not understanding it is nagging me too much 23:47
mntmnlike, it's a bad feeling23:47
mntmnan itch unscratched23:47
mntmni already excluded that23:48
mntmnunless my exclusion doesn't work23:48
mntmnbut so far i did it only for writes, not reads23:48
mntmni made 2 global vars, one do_not_disturb and one isr_running23:48
_BnuNeeds at least six more CPU core.23:49
mntmnwhen a write is pending, do_not_disturb is set, and isr_running is checked in a loop for being 023:49
mntmnand the isr function (that does the cache flush) first checks if do_not_disturb is set23:50
mntmnand sets isr_running...23:50
mntmnso the interrupt handler looks like this: 23:52
mntmnvoid isr0 (void *dummy) {23:52
mntmnif (do_not_disturb) return;23:52
mntmnisr_running = 1;23:52
mntmn...23:52
mntmn(cache flush and evil things)23:52
mntmn...23:52
mntmnisr_running = 0;23:52
mntmn}23:52
mntmnand in the main loop we have23:52
mntmnif (writereq) {23:52
mntmndo_not_disturb = 1;23:52
mntmnwhile (isr_running) {23:52
mntmn// idle until ISR is complete23:52
mntmn}23:52
mntmnand do_not_disturb is cleared at the end...23:52
mntmnso theoretically a cache flush should never interrupt this block23:53
_BnuAh yeah, in my experience that doesn't quite work. I tried to do something like that for the IPL thread on the PiStorm.23:54
_BnuBut sometimes it would try to read the little identifier thing (isr_running in this case) just as it was being set, and that made it read back 0 even if it was being set to 1.23:54
_BnuBut hm. Can the other thing really be running if it's in isr0?23:55
mntmnpistorm uses multiple cores or only one?23:55
mntmnno, it cannot23:55
mntmni think setting the variable cannot be interrupted because it's 1 instruction23:55
mntmnand there can't be half an instruction...23:55
_BnuBut the interrupt shouldn't really be related, since this cache flush thing interfered even when it wasn't in the interrupt handler.23:56
_BnuAnd instead was in the somewhat faulty increasing counter block.23:56
mntmnaha. 23:56
mntmnthen the mechanism is different. what do you think fails? mntzorro_write?23:57
_BnuYeah, the first time shanshe and I ran into it was way before the screen split stuff was a thing.23:57
_BnuI think it's some AXI communication stuff that gets wiped out or just doesn't happen while the cache flush is running.23:58
mntmni think the only axi communication happens through mntzorro_read and _write23:58
mntmnor, is triggered by it...23:58
_BnuYeah, for DMA it's not a problem.23:59
_BnuOnly for the stuff that has to go through the ARM.23:59

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