code logs -> 2021 -> Mon, 12 Apr 2021< code.20210411.log - code.20210413.log >
--- 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
code logs -> 2021 -> Mon, 12 Apr 2021< code.20210411.log - code.20210413.log >

[ Latest log file ]