--- Log opened Mon Apr 12 00:00:05 2021 |
00:22 | | JustBob [justbob@ServerAdministrator.Nightstar.Net] has joined #code |
00:22 | | mode/#code [+o JustBob] by ChanServ |
00:33 | | NSGuest9749 is now known as Kizor |
01:19 | | catalyst [catalyst@Nightstar-ejd4sd.cable.virginm.net] has quit [The TLS connection was non-properly terminated.] |
01:47 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Connection closed] |
02:27 | | abudhabi [abudhabi@Nightstar-f66vgu.adsl.tpnet.pl] has quit [Ping timeout: 121 seconds] |
02:28 | | abudhabi [abudhabi@Nightstar-oj5f86.adsl.tpnet.pl] has joined #code |
02:38 | | catalyst [catalyst@Nightstar-ejd4sd.cable.virginm.net] has joined #code |
03:08 | <&McMartin> | Success! Marred only by the fact that printf() apparently fucks up keyboard scans. |
03:09 | < catalyst> | that sounds healthy |
03:10 | <&McMartin> | It's been a pretty wacky day of retro research |
03:25 | <&McMartin> | But by the end of the day I should have this old Yamaha/General Instruments chip playing a scale. |
03:33 | <&McMartin> | Also, how to tell when you are writing in C and probably should be writing in asm: you're using the volatile keyword properly |
03:33 | <&McMartin> | It turns out the real solution to my dilemma, which was in my period docs I had but I just didn't know to look for it there, was: |
03:33 | <&McMartin> | static volatile unsigned long *hz_200 = (volatile unsigned long *)(0x4ba); |
03:34 | <&McMartin> | And there's your 200Hz system clock, because there isn't any actual syscall *access* to it. You have to hop into supervisor mode yourself and poll it. |
03:35 | <&McMartin> | Not to be confused with the *two* time-of-day clocks that do not talk to one another and don't get battery-backing until the final way-past-its-relevance models. |
03:42 | < Reiver> | the hell is volatile |
03:43 | <&McMartin> | Normally when you encounter it, it means "this value can be changed by another thread." This is not actually what it means, it is an error to do so, and on any CPU manufactured in the past ten years or so your program is likely to misbehave if you rely on it |
03:44 | < Reiver> | so |
03:44 | < Reiver> | That's what it isn't |
03:44 | <&McMartin> | What it actually means is "this memory location corresponds to an I/O device, not actually memory; all reads and writes to it must actually become operations that hit the bus and may not be cached or optimized away" |
03:45 | <&McMartin> | Depending on what exactly is hooked into this thing, it might actually be the "incorrect" usage, but 1985 was also more than ten years ago |
03:46 | <&McMartin> | But if I want to directly command the interrupt controller or the sound chip or whatever, I can do that by taking raw numbers and casting them to volatile pointers, and then writing through those pointers. |
03:46 | <&McMartin> | This is... well, honestly, this is nonsense on most machines built in the past 30 years |
03:46 | <&McMartin> | But again, 1985 was also more than *30* years ago~ |
03:47 | <&McMartin> | But because this is written for a machine from when it is, well |
03:47 | <&McMartin> | This is how you do a POKE in C |
04:26 | <&McMartin> | Hooray, playback works |
04:26 | <&McMartin> | Also: horrific heterodyning achieved when messing with the edges of the controls |
04:27 | <&McMartin> | I may have been spoiled by the SID here but I think there were some rather major flaws in the design of this chip's output -_- |
05:31 | < Reiver> | >.> |
05:37 | | VirusJTG [VirusJTG@Nightstar-42s.jso.104.208.IP] has quit [Connection closed] |
05:38 | | VirusJTG [VirusJTG@Nightstar-42s.jso.104.208.IP] has joined #code |
05:38 | | mode/#code [+ao VirusJTG VirusJTG] by ChanServ |
06:08 | | Vorntastic [uid293981@Nightstar-h2b233.irccloud.com] has joined #code |
06:08 | | mode/#code [+qo Vorntastic Vorntastic] by ChanServ |
08:25 | | Kindamoody[zZz] is now known as Kindamoody|afk |
11:18 | | Kindamoody|afk is now known as Kindamoody |
14:48 | | catalyst [catalyst@Nightstar-ejd4sd.cable.virginm.net] has quit [[NS] Quit: -a- Connection Timed Out] |
14:48 | | catalyst [catalyst@Nightstar-ejd4sd.cable.virginm.net] has joined #code |
14:59 | | catalyst_ [catalyst@Nightstar-n3sojd.dab.02.net] has joined #code |
15:01 | | catalyst [catalyst@Nightstar-ejd4sd.cable.virginm.net] has quit [Ping timeout: 121 seconds] |
15:18 | | catalyst [catalyst@Nightstar-ejd4sd.cable.virginm.net] has joined #code |
15:20 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code |
15:20 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
15:21 | | catalyst_ [catalyst@Nightstar-n3sojd.dab.02.net] has quit [Connection closed] |
15:26 | <@gnolam> | https://github.com/zhuowei/nft_ptr |
15:27 | <~Vornicus> | pff |
15:32 | <@gnolam> | "As we all know, adding blockchain to a problem automatically makes it simple, transparent, and cryptographically secure." |
15:34 | <@gnolam> | The white paper is a nice touch. |
16:18 | | Syloq [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code |
16:18 | | mode/#code [+o Syloq] by ChanServ |
17:23 | | Emmy [Emmy@Nightstar-l49opt.fixed.kpn.net] has joined #code |
17:58 | | Vorntastic [uid293981@Nightstar-h2b233.irccloud.com] has quit [[NS] Quit: Connection closed for inactivity] |
20:55 | | craftxbox [craftxbox@Nightstar-dltca9.ninja] has joined #code |
21:55 | | * McMartin walks in |
21:55 | | * McMartin swears profusely in the general direction of C++ |
21:55 | | * McMartin makes a small offering to the wisdom granted by the Godbolt |
21:55 | | * McMartin then walks out again |
21:56 | < catalyst> | https://twitter.com/jam1garner/status/1381645842843598852?s=21 |
21:57 | < catalyst> | this feels relevant to your current mental state |
21:59 | <&McMartin> | Since the issue I faced was based on compiler revision number, I think I was relying on an optimization for correctness |
21:59 | <&McMartin> | Since it is C++ it is possible that this optimization is actually mandatory now and the code is thus safe in theory but not practice |
21:59 | <&McMartin> | I do not believe that I care enough to try to find out which. |
22:04 | < Emmy> | i think i'll just stick to my C#, tyvm @.@ |
22:05 | <&McMartin> | This is indeed a flaw that AIUI the JVM and CLR both learned from -_- |
22:05 | <&McMartin> | Both include well-defined orderings on their class loaders. |
22:09 | < Emmy> | i have a colleague who codes C++ for embedded stuff /for fun/ |
22:09 | < Emmy> | absolute madman. 0.0 |
22:09 | <&McMartin> | I mean |
22:09 | <&McMartin> | You do know about my hobbies right |
22:10 | <&McMartin> | I mostly write asm for 20th-century chips |
22:10 | <&McMartin> | Of course, one of the reasons I do that is because asm is a refreshing break from the nonsense of C++ or JS or Python |
22:15 | < Emmy> | i had an inkling |
22:18 | <&McMartin> | The most terrifying thing about npm, to me, is that a wide audience of people all seem to agree that access to it has improved their processes and their productivity |
22:35 | <&[R]> | It also has as much security as you'd expect from a company that allowed their namesake produce to access the public REST API of their DB |
22:36 | <&[R]> | Not even like "we made a wrapper for it" |
22:36 | <&[R]> | The Original API was literally "read CouchDB's REST API docs" |
22:56 | < Yossarian> | Hmmm, is there something wrong with my terminal emu or multiplexer? I type a command and sometimes it doesn't get inserted into the history. This is using bash, fwiw |
22:59 | <&[R]> | Bash has a history ignore feature |
22:59 | <&[R]> | It also doesn't write to the history file until it closes cleanly |
23:09 | | Emmy [Emmy@Nightstar-l49opt.fixed.kpn.net] has quit [Ping timeout: 121 seconds] |
23:40 | | * McMartin builds a terrible hack to get around the bug he found earlier today, commences the refactoring to make it look like this had always been his plan all along |
--- Log closed Tue Apr 13 00:00:08 2021 |