2022-12-18 09:19:56 Man, grahics really is just a lot more complictaed than it used to be. 2022-12-18 09:20:20 Used to be you just had a block of memory you manipulated. Now you have to engage in a whole new programming project to run the hardware. 2022-12-18 09:21:11 So, where is that low level stuff documented? If you wanted to undertake a bare-metal programming of a GPU, Forth style, where would you find the information needed to guide you? 2022-12-18 09:21:31 I don't see a single thing out there that isn't based on OpenGL, CUDA, or some other such SDK. 2022-12-18 09:21:58 I assume that you'd have to push code over to the GPU in some fashion. 2022-12-18 09:25:16 I saw a query on Stack Exchange last night - some kid asked about resources for assembly language GPU programming. Pretty much the only type of response he got was "Don't do that." 2022-12-18 09:25:28 The general attitude was that attempting such a thing was idiocy. 2022-12-18 09:26:15 And maybe it is, in terms of "getting good results." But surel there's still a place for "just wanting to understand things in detail." 2022-12-18 09:26:16 gamedevs indicate low-level gpu code is annoying and tedious? 2022-12-18 09:27:09 Yeah, they pretty much said that the only sane way to do it was to use tools like OpenGL or CUDA, and to do so in C or something like that, not assembly. 2022-12-18 09:27:40 There position was that he would almost certainly get poorer performance trying to code it himself. 2022-12-18 09:27:50 the thing is, many GPU drivers have inbuilt OpenGL shader compilers inthem as the instruction set or whatever of the gpu changes between revisions 2022-12-18 09:28:19 Yeah, that makes sense. Making that actually BE the low level way of interacting with them. 2022-12-18 09:28:59 you can code the stuff that invokes the gpu driver in assembly if you like 2022-12-18 09:30:21 I absolutely hate the trend of things mucking about inside the address space of a process running my program 2022-12-18 09:30:33 I tinkered with PyOpenGL for a little while last night. It's not just over the top hard to get some basic things working. 2022-12-18 09:31:34 So, what you're saying up there is that even if you did program a GPU from a bare metal Forth, you'd still be using that GPU-required language interface for specifying the actual code the GPU runs. 2022-12-18 09:31:54 Are you saying it's actually *compiled* on the GPU? 2022-12-18 09:32:03 It's not compiled on the host and the results sent over? 2022-12-18 09:32:45 for instance some “antivirus” product that “hot patched some dll functions” on a windows application I was asked to look at why it was not working 2022-12-18 09:33:27 sometimes it is compiled by the cpu in the gpu driver but I have heard of the latter 2022-12-18 09:33:30 Well, anti-virus is kind of a special cateogory, I think. But yeah, I wouldn't like that kind of "invasiveness" either. 2022-12-18 09:34:40 I got interested in it last night after reading about how Chuck's OKAD presented the chip design to him. Basically just a big square grid of "tiles," and he could turn layers on and off. 2022-12-18 09:35:01 Doesn't look like a Python program to do something like that would be particularly hard. 2022-12-18 09:35:16 And you wouldn't be gunning for any "super performance level" there. 2022-12-18 09:35:18 the thing was that the application worked fine but it regularly overwrote the memory where those dlls were with runtime optimized code 2022-12-18 09:35:29 It's a static display, except when you manually change things. 2022-12-18 09:35:50 Heh heh. Self modifying code. :-) 2022-12-18 09:36:01 which overwrote the “hotpatch” page of the antivirus software 2022-12-18 09:36:01 I've never had a particular problem with the idea of self modifying code. 2022-12-18 09:37:27 So he'd just lay out all these tiles, and then he had code that could walk that structure and extract a netlist, by explicitly following the "metal" from point to point. 2022-12-18 09:37:44 neather do I, when it is done right and it is the only sane way to accomplish something spefic 2022-12-18 09:37:53 Simple little algorithms for calculating the capacitance between various structures on different layers. 2022-12-18 09:38:07 Right - you should be "thoughtful" about it. 2022-12-18 09:39:28 One of Chuck's claims is that his equations for electrically modeling his chips were faster and more accurate than the algorithms found in high end code. I wonder if maybe that was true because he wasn't operating at the "limits" of what we can do, process wise. 2022-12-18 09:39:51 Maybe on finer geometries other terms of the physics equations become significant, that weren't in his situation. 2022-12-18 09:40:15 As far as speed goes, I think using fixed point probably helped him there. 2022-12-18 09:40:43 He wound up using 30 ps time steps in his simulations. 2022-12-18 09:40:56 or that he really really looked into these equations and implemented them with integer arithatic instead of ieee754 floating point 2022-12-18 09:41:02 And it sounded like all he was really doing was modeling the charging and discharging of capacitances. 2022-12-18 09:41:14 I didn't see any reference to inductors, at all. 2022-12-18 09:41:40 Also saw no transcendental functions normally associated with semiconductor physics. 2022-12-18 09:41:54 how the hell do you fit an inductor on an integrated circuit? 2022-12-18 09:42:11 Well, you don't, really, but the metal runs still HAVE inductance. 2022-12-18 09:42:18 It's reasonable that it might be totally negligible. 2022-12-18 09:42:46 Anytime a current flows you get a magnetic field, so there is non-zero inductance. 2022-12-18 09:43:11 But I suppose it IS negligible, because I don't think he calculated it and he wound up with working chips. 2022-12-18 09:43:36 transcendental functions associated with semiconductor physics? I never seen those when learning about semiconductors 2022-12-18 09:43:52 Like the ideal diode equation, which has an exponential function in it. 2022-12-18 09:44:10 Well, "ideal." Not ideal in the circuit theory sense. 2022-12-18 09:44:27 ideal in math sense? 2022-12-18 09:44:27 https://www.pveducation.org/pvcdrom/pn-junctions/diode-equation 2022-12-18 09:44:47 That pops out of the physics of the thing. 2022-12-18 09:45:24 But I had the impression he wasn't using it, which I think means his work was approximate. But in his specific case, what he did seemed to be good enough. 2022-12-18 09:45:56 right, nice for physics but not for manifacture design 2022-12-18 09:46:00 But yeah, that's what the voltage current relationship of a diode REALLY is. 2022-12-18 09:46:42 When you use SPICE that's buried under the hood. 2022-12-18 09:46:59 Your .model line calls out the necessary constants for it. 2022-12-18 09:47:16 often you just get an IV graph in .csv format or such from the manifacturer for that node size 2022-12-18 09:47:25 But anyway, such a tile-based way of laying those things out would also work for PCB layout. 2022-12-18 09:48:03 What I find fairly remarkable is that he didn't work with schematics at all. Apparently he just laid out the chip, as his "point of creation" method. 2022-12-18 09:49:04 he did have “schematics”of sorts iirc but not graphical 2022-12-18 09:50:06 My impression last night was that writing such a tile editor in Python wouldn't be terribly hard. Not a "simple" project, but not awful either. 2022-12-18 09:50:50 He didn't "draw lines," so to speak - he just set each tile to one of an indexed set of patterns. 2022-12-18 09:51:07 He had 16 possible tile patterns, that had horizontal line, vertical line, corners, etc. 2022-12-18 09:51:42 He'd move his cursor, scroll that cell to the right pattern, lather rinse repeat. 2022-12-18 09:53:55 the MuP21 was a 2.4 mm square die that he treeated as 600 tiles square. 2022-12-18 09:54:50 and then he converted that to Gerber files for the manifacturer 2022-12-18 09:55:06 yeah, there were a couple of final formats he could output. 2022-12-18 09:55:18 it's discussed here: http://www.ultratechnology.com/mofe16.htm#cad 2022-12-18 09:56:38 The whole thing is so straight forward that I'd probably have not thought it would be "good enough to work," if I saw it without knowing he'd actually achieved working results with it. 2022-12-18 09:56:51 Of course, I suppose there may be "secret sauce" he's not mentioning. 2022-12-18 09:56:59 only five layers? 2022-12-18 09:57:00 But he's always seemed pretty straight about such things. 2022-12-18 09:57:18 Somehow it becomes nine or so in the final output format. 2022-12-18 09:57:22 I'm not sure exactly how. 2022-12-18 09:57:30 But yeah, while he's editing it there are just five layers. 2022-12-18 09:58:21 oh five designable layers and then four in between layers that are mostly just insulation 2022-12-18 09:58:31 Ah - that makes sense. 2022-12-18 09:59:37 I may have to tinker around with something along these lines; it would be neat to be able to do PCBs with a tool of my own. 2022-12-18 09:59:38 basically vias on the designable layers tell where to make holes in the betwixt layers 2022-12-18 09:59:49 Right. 2022-12-18 09:59:58 "betwixt." Nice. :-) 2022-12-18 10:00:23 pcb layers are not that hard to design in most cases 2022-12-18 10:00:58 I have done it with pen and paper and some footprint templates 2022-12-18 10:01:06 Yeah, I've thought off and on over the years about PCB design tools, and I never felt like they were "out of reach." 2022-12-18 10:01:16 but usually I just use KiCAD 2022-12-18 10:01:25 Sure - the old way was that tape on transparency film. 2022-12-18 10:01:38 That was still being done in the early years of my career. 2022-12-18 10:01:41 rubelith? 2022-12-18 10:01:50 But it was on its way out, I think. 2022-12-18 10:01:53 Don't know that word. 2022-12-18 10:02:04 I just used draft paper and sharpies 2022-12-18 10:02:07 It wasn't "my job," so I never dug into the fine details. 2022-12-18 10:02:33 I've seen methods online for using inkjet printer and magazine sheets and an iron. 2022-12-18 10:02:44 done that too 2022-12-18 10:02:48 I'm sorry - not inkjet. 2022-12-18 10:02:52 Laser printer. 2022-12-18 10:03:29 you can use iron transfer or have uv resists prepared blank pcbs 2022-12-18 10:03:59 abd just use uv light like those for nailpolish hardening/curing 2022-12-18 10:05:19 but I rather like using mini cnc like roland makes to just engrave the circuits in 2022-12-18 10:05:34 no uneven etching 2022-12-18 10:08:49 the thing I been mulling about is ic manifacture using a combination of electron beam graphy and dna brick self assembly for finer patterning 2022-12-18 10:09:45 I have ALWAYS wished the whole "home IC" effort was further along that it is. That just seems like something we should be able to do. 2022-12-18 10:09:58 We have the advantage of not trying to make 50,000 of the things. 2022-12-18 10:09:59 Hmmm 2022-12-18 10:10:15 Having it be "slow" is ok - that should buy us some capability, I'd think. 2022-12-18 10:10:20 basically the electron beam graphy is used to put down gridpoints and connection points to off chip pads 2022-12-18 10:10:22 someone was making transistors at home with some super fun chemicals 2022-12-18 10:10:44 yes, there is a grass roots project out there - I read about it like 10-12 years ago. 2022-12-18 10:10:57 And the declining price of tech should make it more feasible now than then. 2022-12-18 10:11:12 i think its still quite an involved process 2022-12-18 10:11:19 Last time I brewed beer I was able to do a lot of things I'd never done before (better control), because things are so much cheaper now. 2022-12-18 10:11:25 huh 2022-12-18 10:11:59 then use the dna brick patterns to lay down or catalyse at site spefic points the silicion doping, crystal grofth etc 2022-12-18 10:12:05 Like temperature control - back in the old days I just did my mash in a picnic cooler, and poured in enough hot water to get the temperature close to what I wanted and then sealed it up. 2022-12-18 10:12:18 But this last time I used an immersion cooker to keep the temp spot on. 2022-12-18 10:12:36 So, little things like that are more affordable now. 2022-12-18 10:13:27 An electron beam gadget should be pretty manageble now, I think. 2022-12-18 10:13:59 And instead of a "clean room" you'd have a "clean tank." Something the size of a fish aquarium or something. 2022-12-18 10:14:06 it is just a crt tube without the phosephorus coating iirc 2022-12-18 10:14:28 Sure, we've been steering electron beams for getting up toward a century now. 2022-12-18 10:14:37 class something cleanroom glovebox 2022-12-18 10:15:11 Yes. And I wouldn't expect world-class process geometry, but some neat stuff could be done with larger geometries still. 2022-12-18 10:15:19 seen those in person but never used them myself 2022-12-18 10:15:35 Well, maybe I can put it on the retirement list. 2022-12-18 10:15:47 hallf micron node is plenty 2022-12-18 10:15:53 half* 2022-12-18 10:16:21 I just like the idea of that capability not being solely in the hands of big corporations. 2022-12-18 10:16:34 ye olde 70000000 nanometer process 2022-12-18 10:16:43 Heh. 2022-12-18 10:17:00 but where the heck can one buy 300 mm wafers without too much hassle? 2022-12-18 10:17:07 Because if it is, then they get to tell us what we can have and what we can't. 2022-12-18 10:17:23 Oh, I have no idea. Maybe you make them. 2022-12-18 10:18:00 nine nines pure silicon is a bitch to kiln up 2022-12-18 10:18:10 I'm sure. 2022-12-18 10:18:33 Or maybe you work out a way to work with an inert substrate, and put the silicon down where you need it too. 2022-12-18 10:18:58 Or the graphene, or whatever it is you're trying to use. 2022-12-18 10:19:01 silicon is pretty inert 2022-12-18 10:19:15 Well, it's part of your transistors, though. 2022-12-18 10:19:30 the thing one is after is the uniform crystaline “flatness” 2022-12-18 10:19:41 after doping yes 2022-12-18 10:20:11 Yeah. It must be fairly inert otherwise, or they couldn't use it as the foundation to build stuff on. 2022-12-18 10:20:43 But ultimately this is just a geometry problem - get the right chemicals in the right places. 2022-12-18 10:21:10 and I am no mood for multispectral light interface vat comptures based on biomolecules 2022-12-18 10:21:26 computers* 2022-12-18 10:21:34 I've joked over the years that the engineers who do this stuff are wizards. Use ingredients like sand and so on, and say the right incantation over it, and presto - you have a microprocessor. 2022-12-18 10:21:45 Perform the right rituals. 2022-12-18 10:21:59 Newton was into alchemy 2022-12-18 10:22:13 He was. A lot of guys were back then. 2022-12-18 10:22:17 he also did some other random things, on the side 2022-12-18 10:22:24 And in the end it turns out it IS possible to transmute elements. 2022-12-18 10:22:29 Just much harder than they were hoping. 2022-12-18 10:23:14 the thing is alchemy works! that is transmutation of elements. It just isntnlogistically or economically viable 2022-12-18 10:23:22 ^ 2022-12-18 10:23:26 Exactly. 2022-12-18 10:23:59 philosophers stone was uranium 2022-12-18 10:24:12 Every now and again someone will ask on Quora whether it would be possible for us to construct elements atom by atom from component parts. 2022-12-18 10:24:18 And of course in theory we could. 2022-12-18 10:24:25 We know exactly how to put the parts together. 2022-12-18 10:24:31 It would just cost a bloody fortune. 2022-12-18 10:24:45 and the heat! 2022-12-18 10:24:58 So those food synthesizers on Star Trek - that's not theoretically impossible. 2022-12-18 10:25:13 unless you use something exotic like neutrino cooling 2022-12-18 10:25:57 Speaking of, apparently there was some sort of fusion breakthrough at Lawrence Livermore Labs a week or two ago. 2022-12-18 10:26:16 Something closer than we've gotten previously. 2022-12-18 10:26:33 got over the calculated breakeven point is what I heard 2022-12-18 10:26:47 Sounds right. 2022-12-18 10:27:01 Of course, such things are always subject to having marketing hype mixed in with them. 2022-12-18 10:27:19 But it seemed at least a little exciting. 2022-12-18 10:27:24 I presume we will figure that out someday. 2022-12-18 10:28:26 yeah “journos” are a lot I do not trust the word of until I have verified the public release myself 2022-12-18 10:29:10 fusion has been 20 years away for a while now 2022-12-18 10:29:45 a tangent, I was musing one the words journalist, journal, and journey and their etimology 2022-12-18 10:30:01 down from 30 years 2022-12-18 10:30:02 Yeah. I think there is at least some truth in the whole notion that "if they figure it out, the fusion research industry will be over." 2022-12-18 10:30:19 I do think some of them are all about WORKING ON fusion, not working OUT fusion. 2022-12-18 10:30:38 Once you get to the point where entire careers have been built on an effort, it gets an "inertia." 2022-12-18 10:31:00 nonesense, there will be research in making them more efficient and smaller 2022-12-18 10:31:05 I do wish that the cold fusion thing had panned out. 2022-12-18 10:31:18 Because that held the prospect of us all having fusion packs in our homes and cars and so on. 2022-12-18 10:31:35 But it looks like it's going to turn out to be yet another thing that gets bundled up as a "centralized utility." 2022-12-18 10:32:06 I have seen a local cold fusion reactor. It is used for making isotpes for medical imaging and theraputics 2022-12-18 10:32:28 Oh, interesting. So even if we can't get energy out of it, it still has a use? 2022-12-18 10:32:33 That's kind of cool. 2022-12-18 10:32:36 yepp 2022-12-18 10:32:54 also used in gamma ray production iirc 2022-12-18 10:33:07 Quantum computing may help us out there. Studying that kind of atomic process is almost it's "killer app." 2022-12-18 10:33:34 I think if we crack that nut and get big quantum computers working, we may get kind of a "golden age" of super materials, medicines, and so on. 2022-12-18 10:33:55 You CAN simulate those processes with a classical computer, but it's an exponential effort as the process becomes more complex. 2022-12-18 10:34:18 big quantum computers are pretty much unworkable 2022-12-18 10:34:34 I know. 2022-12-18 10:34:47 Very difficult "practical engineering" problems, similar to fusion. 2022-12-18 10:34:59 Both things require conditions that are just very hard to achieve. 2022-12-18 10:35:35 It's awfully hard to detach a quantum system from its environment COMPLETELY. 2022-12-18 10:35:38 the more qbits you entangle the more likely the system decohere and the superpositions collapse due to outside noise 2022-12-18 10:35:46 Yep. 2022-12-18 10:36:26 however classical computers that use small quantum computers are well in range 2022-12-18 10:37:48 Yeah, I think they've well proven that the "concept" works the way we say it does. 2022-12-18 10:38:21 Years and years ago IBM used a test tube of some custom molecule as a quantum computer, manipulated by NMR equipment. 2022-12-18 10:38:41 Had Schor's algorithm factor the amazingly huge number 15. :-) 2022-12-18 10:39:23 Each molecule was a stand-alone quantum computer; they were able to do large scale manipulations and measurements to operate it, since there were so many molecules there most of them doing the same thing. 2022-12-18 10:43:04 the largest factorisation done recently was 21 in 2016 2022-12-18 10:43:10 2012* 2022-12-18 10:44:55 so RSA is probably safe? 2022-12-18 11:08:49 fpr now 2022-12-18 11:35:51 Also, my understanding is that bitcoin isn't under threat; they don't *think* SHA256 is quantum vulnerable. 2022-12-18 11:36:06 But our knowledge of such "quantum computer science" isn't complete. 2022-12-18 11:36:39 nor is lamport signitures 2022-12-18 11:37:02 A great big deal gets made about Schor's algorithm, because we happen to use prime factoring in some of our encryption. 2022-12-18 11:37:04 under threat by quantum computers that is 2022-12-18 11:37:13 But if quantum computers "become a thing," then we'll just switch to something else. 2022-12-18 11:37:28 And then I'm not really sure if Schor's algorithm will be very significant at all. 2022-12-18 11:37:36 prime factoring, the descreet logarothm problem, and a third one I do not recall 2022-12-18 11:37:49 Yeah, me either. 2022-12-18 11:37:54 I knew those same two. 2022-12-18 11:37:56 logarithm* 2022-12-18 11:38:32 Oh, the other thing you could do with a "tile editor" like we were discussing earlier is a font designer. 2022-12-18 11:38:36 lattice based cryptography or eliptic curve cryptography I am not sure about 2022-12-18 11:38:55 I think at least some elliptic curve algorithms are considered secure. 2022-12-18 11:38:56 bitmap font designer I assume 2022-12-18 11:39:04 yeah, that's what I meant. 2022-12-18 11:39:25 What an exciting sounding task... :-| 2022-12-18 11:41:26 The thing is, if I were to build something like that little LCD panel / Forth CPLD thing I mentioned the other day, then I would almost certainly lbe doing old style graphics. Somewhere I'd have RAM that held the contents of the LCD panel. 2022-12-18 11:41:50 I wouldn't be desiging a GPU into that thing, most likely. Though I suppose I could, and I know I'd need to if I wanted it to play videos and so on. 2022-12-18 11:42:10 But I was thinking I'd interact primarily via text with it. 2022-12-18 11:42:19 would you add a blitter? 2022-12-18 11:42:50 Maybe; something akin to DMA. 2022-12-18 11:43:03 I wouldn't want to be using the CPU to stream the memory out to the display. 2022-12-18 11:43:17 Seems like a logical thing to do in a CPLD. 2022-12-18 11:43:33 Especially since these things tend to have dual port RAM. 2022-12-18 11:44:25 I'm not even totally sure how those panels work. Do they have any RAM in them, or do you just send a continual bit stream to them, in real time? 2022-12-18 11:44:51 depends 2022-12-18 11:45:02 If they have RAM, can you random access it, or only send "frames"? 2022-12-18 11:45:24 raw lcd panels work with raw pixel streams 2022-12-18 11:45:32 Ok. 2022-12-18 11:45:36 mostly just send frames iirc 2022-12-18 11:45:54 So yes, I'd want some hardware in the CPLD to do that, otherwise it would tie up the processor most of the time. 2022-12-18 11:46:06 but some you just access like it is a memory device 2022-12-18 11:46:35 Well, one of those wouldn't need a blitter for text screen applications. 2022-12-18 11:47:01 then you have less control 2022-12-18 11:47:10 yeah. 2022-12-18 11:47:29 And I remember being quite impressed with Palm's Grafitti, when their products were at their pinnacle. 2022-12-18 11:47:33 They went downhill later. 2022-12-18 11:47:39 just having a framebuffer is often easier to deal with 2022-12-18 11:47:50 For one thing, they got into a legal dispute with someone over Grafitti, and had to "change it," and the replacement was never as good. 2022-12-18 11:48:00 And also they started making the things lower and lower quality. 2022-12-18 11:48:08 I think the best one they ever made was the Palm Vx. 2022-12-18 11:48:19 I had one of those and I was dangerous as hell with it. 2022-12-18 11:48:21 sounds like they were bought by a “equity firm” 2022-12-18 11:48:36 I was managing a 64-person team, without much intermediate management help, but I stayed pretty on top of everything. 2022-12-18 11:49:12 I had thousands of notes in that thing, and I had set it up with little utilities that let me get to all of it really fast. 2022-12-18 11:49:50 It wasn't the utilities they shipped it with that made it powerful - I found a collection of aftermarket widgets and rolled my own organization system. 2022-12-18 11:50:07 It was tailored exactly to how I worked. 2022-12-18 11:50:31 KipIngram: you would if you want fast drawing 2022-12-18 11:50:49 https://i.pinimg.com/originals/8d/79/fd/8d79fd0721032b93b26ebe0850884018.jpg 2022-12-18 11:51:36 I guess it would depend on what I wanted to draw. 2022-12-18 11:51:42 oh, it used French. no wonder it died out 2022-12-18 11:51:45 Chuck drew his "tiles" using a character-based approach. 2022-12-18 11:51:54 He designed his character set to include the right tile shapes. 2022-12-18 11:52:12 Hah! I didn't even notice the language in that picture. 2022-12-18 11:52:50 conceptually you'd still need fast memory copy 2022-12-18 11:53:06 one musing of mine regarding bitmap gfx was to treat the screen as 4x4 pixel tiles each having a 16 bit cell backing it 2022-12-18 11:53:22 the control sequences idea didnt turn out to be all that efficient 2022-12-18 11:54:07 Well, I'd need to select a panel and read up on it. 2022-12-18 11:54:18 I'm pretty clueless right now about what would need to be done. 2022-12-18 11:54:24 comparwd to like, home computer style ram = screen mem 2022-12-18 11:54:31 so a 8x8 pixel bitmap font character would be put together from 4 4x4 pixel tiles 2022-12-18 11:54:52 yeah, that was just a nice, simple, easy to understand model. 2022-12-18 11:55:27 When I bought my first IBM PC back in 1986 or so I got a Hercules graphics card with it. 2022-12-18 11:55:34 I hated how the old IBM color display looked. 2022-12-18 11:55:41 But I wanted to be able to draw graphics. 2022-12-18 11:58:37 I quite liked how you had two screen buffers. You could draw in one, and when it was ready just flip over to it and get an instantaneous screen update. 2022-12-18 11:59:03 oh, thats cool 2022-12-18 11:59:10 apple's macpaint maintained 3 buffers afaik 2022-12-18 11:59:54 that is double buffering, KipIngram, and is quite old technique even back then 2022-12-18 12:00:24 Sure. 2022-12-18 12:00:38 It was just one of my favorite features. :-) 2022-12-18 12:01:52 I recall how I added support for mouse and simple gui in a mandelbrot program my brother typed in. 24 years ago. He was a bit astonished that I did not need to redraw the whole background when the mouse pointer moved. 2022-12-18 12:03:21 the trick? using pget and pput to first save the pixels that would go underneath the pointer and restore them when the mouse moved 2022-12-18 12:04:58 Yes. 2022-12-18 12:06:15 Youngsters these days are hardly even aware such maneivers exist. 2022-12-18 12:06:25 pretty neat solution by an 8 year old (me) at the time 2022-12-18 12:06:31 It's all been "buried" under a mountain of API's. 2022-12-18 12:06:45 Yes, that was a neat solution. :-) 2022-12-18 12:06:53 But... kids can be clever. 2022-12-18 12:07:27 note that I barely understood the english of the manual at the time 2022-12-18 12:07:37 It's a shame our education system these days sets such low expectations for them. 2022-12-18 12:08:06 Because if something is expected from you, you just may work out a way to deliver it. 2022-12-18 12:08:23 the schooling system nowdays often gets in the way of education 2022-12-18 12:08:39 lots of forks, too few teachers 2022-12-18 12:08:41 But then you start to see that some kids are just brighter than others, and that's off-message. 2022-12-18 12:09:02 this is why I like brilliant.org for how they do things 2022-12-18 12:09:18 I haven't delved deeply into it, but it does look like a pretty good site. 2022-12-18 12:09:31 I see it plugged by a LOT of the vloggers I follow. 2022-12-18 12:10:19 like they automated a bit how richard feynman tought 2022-12-18 12:11:11 Abe Lincoln got some elbow grease and worked through Euclid 2022-12-18 12:11:39 granted, probably less distractions out in a cabin in nowhere 2022-12-18 12:11:42 really good textbooks are rare gems 2022-12-18 12:12:33 Oh yes. 2022-12-18 12:13:07 I'm always amazed when I hear someone slam geometry / Euclid. 2022-12-18 12:13:18 most such nowdays look like they were ?wokefied? or other such nonesense 2022-12-18 12:13:19 That kind of thinking process is golden. 2022-12-18 12:13:41 And does not apply JUST to geometry. 2022-12-18 12:13:54 The geometry knowledge is great, but it's really an education in HOW TO SOLVE PROBLEMS. 2022-12-18 12:14:25 Yeah, I got tired of writing out long proofs too. 2022-12-18 12:14:31 But I have no doubt it was good for me. 2022-12-18 12:14:56 rational educated citizens may not make the best of consumers 2022-12-18 12:15:13 Or voters, in the eyes of politicians. 2022-12-18 12:15:20 Far better for them if we're emotionally manipulable. 2022-12-18 12:15:28 nor as guillable ‘voters’ thrig 2022-12-18 12:16:06 We've been neatly sliced right down the middle and set at each other's throats. 2022-12-18 12:16:22 And that keeps most of us from ever looking at the real issues in any kind of sensible way. 2022-12-18 12:16:49 And the media pours a regular stream of gasoline on that fire. 2022-12-18 12:17:01 bad news pays the bills 2022-12-18 12:18:01 The scary thing is that that's exactly the sort of process that now and again gives you guys like Hitler. 2022-12-18 12:19:18 or Trumpster, or [EXPUNGED] 2022-12-18 12:20:45 I'm still baffled by the weird appeal Trump managed to have to so many people. 2022-12-18 12:20:54 I never could figure out where it came from. 2022-12-18 12:21:12 It's not like he was "like" the people that supported him. 2022-12-18 12:21:42 He was a rich, privileged, brat. And yet a lot of very common folk rallied around him. 2022-12-18 12:21:43 The Apprantice, telly series. Rethoric and ‘promises’ 2022-12-18 12:22:01 and anti-‘elite’ 2022-12-18 12:22:22 And I was just perpetually gobsmacked at how full of himself he was. I'd never seen that to that extent before, in my whole life. 2022-12-18 12:23:20 btw I was confused for a long while on what the heck Ivy League was. I thought it was some sort of competive botanists organization. 2022-12-18 12:23:34 oh, I have seen that 2022-12-18 12:24:13 certain local ‘politicans’ fit it like a pea in a pod 2022-12-18 12:27:58 but as someone who isnt from USA, I have a hard time to diffriantate substancely between the Republicans and the Democrats 2022-12-18 12:28:15 center right and righter right 2022-12-18 12:29:03 and both rather long ways to authoritarian on that perpendicular axis 2022-12-18 12:30:53 perscriptive rather than directive in their legastic thinking 2022-12-18 12:31:17 America has something of a pretty strong Puritanical streak 2022-12-18 12:31:36 Yeah, Zarutian_iPad - I'm not really a fan of either party. 2022-12-18 12:32:14 thrig: that might explain it 2022-12-18 12:32:26 Both are too authoritarian. If I had to sum it up (and this is fuzzy rather than exact), the Democrats are too into government authority to suit me and the Republicans are too into "letting corporations run wild" to suit me. 2022-12-18 12:32:35 I see neither of those as a good outcome. 2022-12-18 12:32:57 The Republicans use a lot of "freedom" rhetoric, but often they just mean leaving corporations free to exploit me. 2022-12-18 12:33:11 None of them are focused on *individuals*, which I think is the important thing. 2022-12-18 12:34:01 And I don't even see a strong ideological "consistency" about how they land on all the different issues - on some issues I lean Democrat, on some I lean Republican, and on a lot of them I see no one worthwhile anywhere. 2022-12-18 12:34:52 I've often felt that neither party would have me, because in each case SOME of my positions are from the "other" party, and you can't be in their club unless you blindly swallow the whole pill. 2022-12-18 12:36:34 As far as you being an overseas person looking into the US from the outside, I don't think the media does a good job of telling you what the country is really like. 2022-12-18 12:37:05 I think the media focuses most on the extremes of the political spectrum - I feel sure there's a large number of "middle folk" in the US that just don't jump up and down and say a lot of stuff. 2022-12-18 12:37:06 We 2022-12-18 12:37:15 We're just quietly going about the business of living. 2022-12-18 12:38:27 Raising our kids, etc. 2022-12-18 12:39:12 And I at least have no interest in dictating how other people whould and shouldn't live. I just want to be left alone to do my own living. 2022-12-18 12:39:40 Managing my one life is plenty of responsibility - I don't need to manage everyone else's, and I don't care at all if they have values that differ from mine. 2022-12-18 12:41:12 you might be concerned if they are there "to serve man" 2022-12-18 12:42:15 Not sure what you mean. 2022-12-18 12:43:06 https://en.wikipedia.org/wiki/To_Serve_Man 2022-12-18 12:44:16 Oh, heh. I've seen that in an old Twilight Zone episode. 2022-12-18 12:44:41 Well, running with that pun, someone wanting to serve man in THAT way would not be someone who was leaving me alone to live my own life. 2022-12-18 12:44:48 That makes them an enemy. 2022-12-18 12:46:25 But it is an interesting point - often even apparent altruism ultimately leads to a loss of freedom. 2022-12-18 12:46:45 Individual freedom is really the core driving principle of my whole thought process. 2022-12-18 12:47:25 And yet I don't think we should just leave unfortunate people to starve, freeze, etc. 2022-12-18 12:48:16 There's also the notion that we're all in this together. That friend of mine I told you guys about a few months ago (IRC friend) who cut off contact with me after sharing his personal problem with me, was big into the whole "I earned everything I have - no one has a right to ANY of it" idea. Very libertarian in his thought processes. 2022-12-18 12:48:57 But I look at how I live my life. I survive by practicing a *specialty* that I happen to be particularly good at. I am far, FAR better off than I would have been if I'd had to directly produce all of my own food, my own clothes, my own shelter, etc. etc. 2022-12-18 12:49:14 And that ability to prosper from specialization comes from the eistence of an ECONOMY with many participants. 2022-12-18 12:49:32 We are all in this together, and it's not ok to just discard people that happen not to have been "recently useful." 2022-12-18 12:50:04 On the other hand, a completely socialized system with equality of outcome isn't good either (and I don't think even possible, except perhaps at the point of a gun). 2022-12-18 12:50:15 Some appropriate middle ground compromise is in order. 2022-12-18 12:51:00 We should be able to prosper from our own skills and accomplishments, to a strong degree, but we should also help one another along at least to a minimal extent. 2022-12-18 12:51:32 Enough to prevent suffering, but not so much as to destroy incentives. 2022-12-18 12:55:27 Anyway - sorry; climbing down off the soapbox now. 2022-12-18 12:56:54 Re: that short story - a similar plot line was the basis for the V mini-series. 2022-12-18 12:57:23 V for human Vindaloo? 2022-12-18 12:58:47 V for Visitors. 2022-12-18 12:59:03 They did a reboot of it a few years ago. 2022-12-18 13:00:27 Had a couple of actresses I was quite fond of. :-) 2022-12-18 13:00:41 The original mini-series aried back around the early 1980's. 2022-12-18 14:18:55 KipIngram: WinCUPL is the thing I couldnt remember for programming atmel GALs 2022-12-18 14:42:25 Oh, I think I vaguely remember that. 2022-12-18 14:42:52 I liked those days when the tools were nice and open. 2022-12-18 14:43:09 Not that I'm saying WinCUPL is - I don't know about that. But some of the really old ones were. 2022-12-18 14:46:33 That whole trend to proprietary tools and secret bitstreams was a really bad development, I felt. 2022-12-18 14:47:34 I mean, did first company to market an FPGA REALLY think that no one else could figure out how to solve the config problem? 2022-12-18 14:47:42 If they did they were deluded. 2022-12-18 14:50:19 And I always regarded the attempt to make the software a profit center as a conflict of interests. If you're trying to make money selling chips, you want as MANY PEOPLE AS POSSIBLE to have your software in their hands. 2022-12-18 14:50:37 You want college programs using them, so the kids come out of school famililar with your product, etc. etc. 2022-12-18 14:51:12 ya makes me wonder if that's why pic32 never really caught on 2022-12-18 14:51:23 For the first year or two of that trend I was able to avoid buying the software seats by telling my outside sales rep that we weren't going to use the chips unless we got free software seats. 2022-12-18 14:51:34 amazing chip and it comes in through hole but full version of compiler is like $900 even though it's just gcc 2022-12-18 14:51:51 But that stopped working after a while - I figured there had been a power shift inside the FPGA companies insofar as which division (hardware or software) had the most muscle. 2022-12-18 14:52:25 Yeah - see? Trying to make money on the software can kill your hardware product. 2022-12-18 14:52:45 they probably make so much money on the big companies that gladly pay for the seats that they dont care about the tiny amount they lose on everyone else 2022-12-18 14:52:55 until people dont use their stuff and theyre confused as to why 2022-12-18 15:24:18 Kipzingram: your take on Symbiflow? 2022-12-18 15:48:30 Enormous. 2022-12-18 15:48:55 I had it installed for a while, but that was before I accessed the second half of my SSD, and I was fretful over remaining storage. 2022-12-18 15:49:03 Even though I really still had plenty. 2022-12-18 15:49:07 I dumped it. 2022-12-18 15:49:26 Also, I don't really like these weird anaconda environments - it's not clear to me what it's doing to my bash environment. 2022-12-18 15:49:43 But, I love, love LOVE the "idea" of open design tools for FPGAs. 2022-12-18 15:49:48 Thrilled that it exists. 2022-12-18 15:49:55 What IS anaconda doing? 2022-12-18 15:50:04 It will change my bash prompt sometimes. 2022-12-18 15:50:35 And I couldn't figure out how to get it to change back - I wound up having to close that window and open another one to get back to my standard bash prompt. 2022-12-18 15:51:06 Also, it installed a HUGE number of specific library versions that I think later caused a lot of the problems I had with getting OpenCL to work. 2022-12-18 15:51:34 So, I like the idea, it looked like a pretty nice environment, but I found it to be rather invasive into my Linux environment. 2022-12-18 15:52:10 It was hard to uninstall, too. 2022-12-18 15:52:36 You know, this PyOpenGL is somewhat overkill for a tile editor. 2022-12-18 15:52:42 so run it in a vm then 2022-12-18 15:52:51 Yeah, I could do that. 2022-12-18 15:53:03 Symbiflow that is 2022-12-18 15:53:08 It's completely 3D, with perspective transformations and so on - the whole nine yards. 2022-12-18 15:53:15 Yeah - I followed you. 2022-12-18 15:53:26 And a tile editor is a 2D, no perspective application. 2022-12-18 15:53:53 löve2d? ;3 2022-12-18 15:55:50 Well, yeah - find something else or just don't worry about it. If I make the separation between the near and far clipping planes zero, it would probably negate the perspective shifts. 2022-12-18 15:57:32 So Chuck said the MuP21 was 600x600 tiles. He didn't show any transistors, but I would guess that a transistor is "several tiles square." Where several is anything from 2-3 to 8-10; I don't have any calibration on that. 2022-12-18 15:58:48 transistors in ics are patterns that you might plop down and then maybe need to change 2022-12-18 16:20:51 does Anaconda change things for all your bash prompts or just the current one? 2022-12-18 16:27:46 Just the current one. 2022-12-18 16:28:37 So, utf8 doesn't use any initial bytes of the form 10xxxxxx. 2022-12-18 16:28:59 So even in a system that supports utf8 encoding, there are still 64 one-byte codes available for custom use. 2022-12-18 16:29:53 In a system like this some of them could represent those tiling patterns, of which there are only 16. 2022-12-18 16:30:52 utf8 does not _yet_ use those initial bytes 2022-12-18 16:31:01 The initial byte of a utf8 char is in one of 0xxxxxxx, 110xxxxx, 1110xxxx, or 11110xxx. 2022-12-18 16:31:20 so use the private area in unicode 2022-12-18 16:31:45 Are those single bytes? 2022-12-18 16:31:54 think so 2022-12-18 16:32:12 Ok, then they must be the ones I identified up there - those are all that's left. 2022-12-18 16:34:02 There's a table in the Wikipedia article that flags those 64 codes in a particular way, but I haven't found any remarks on thiem. 2022-12-18 16:34:04 them 2022-12-18 16:37:33 This article: 2022-12-18 16:37:35 https://www.unicode.org/faq/private_use.html 2022-12-18 16:37:57 calls out the private use character ranges, and they don't look like the single bytes of the form 10xxxxxx. 2022-12-18 16:38:15 That seems wasteful. 2022-12-18 16:40:27 Since there are just 16 in Chuck's design, four bits will encode one. He packs the five 4-bit patterns (one for each layer) into a 4-byte record for each tile. Not sure yet what he does with the remaining 12 bits of that; maybe those are used for various purposes by the netlister, simulator, and so on. 2022-12-18 16:41:29 So the whole MuP21 is a 600x600 array of 32-bit values - 1.44 MB. 2022-12-18 16:43:07 I'd assume he has a whole suite of widgets for moving and copying sections of tiles. Design n-channel and p-channel transistors, copy as needed to make gates, copy as needed to make registers, start wiring it all together. 2022-12-18 16:43:42 I imagine he did quite a lot of one-gate simulation work, refining those gate designs until he was happy with them. 2022-12-18 16:55:37 MuP21? 2022-12-18 16:55:52 I've walked into something interesting. 2022-12-18 16:58:40 MuP21 was one of Chuck Moore's earlier stack-based processor efforts. 2022-12-18 16:59:05 He wrote the software he used to design it from scratch. 2022-12-18 16:59:28 I've always just found that to be a rather impressive accomplishment. 2022-12-18 17:00:00 The tool did layout editing, netlist extraction, simulation, and final generation of design files to send to the fab. 2022-12-18 17:00:13 This was way back when we still used 386 PC's and DOS. 2022-12-18 17:00:30 interesting. was it at all similar to the GA144? 2022-12-18 17:00:56 He launched the tool from DOS, but it left DOS down in low RAM and did all of its work with interrupts off and in protected mode, in high RAM. 2022-12-18 17:01:06 Well, more primitive than the GA144; the GA144 came much later. 2022-12-18 17:01:22 But I guess it was a step in the evolution of GA144. 2022-12-18 17:02:22 ahhhh. okay. so you're digging into the design software that he used, and looking into how he structured it. 2022-12-18 17:02:35 I've always been a little infatuated with that project, and was thinking yesterday how the basic tile editor could also be used to do PCB layout. 2022-12-18 17:02:44 With similar netlist extraction and so on. 2022-12-18 17:03:02 What was interesting about Chuck's approach is that he didn't do a schematic first - he just went straight to the silicon. 2022-12-18 17:03:17 Which is... kind of unheard of. 2022-12-18 17:03:26 Yes. 2022-12-18 17:03:28 There is info here: 2022-12-18 17:03:43 http://www.ultratechnology.com/mofe16.htm#cad 2022-12-18 17:04:49 Runs completely from scratch - no OS services, etc. 2022-12-18 17:05:08 Doesn't do any disk access, though - he loaded and unloaded high RAM using DOS tools. 2022-12-18 17:05:42 So all he really needed to get at was the keyboard and the screen buffer. 2022-12-18 17:06:37 So here is a github project oriented toward using OpenGL from nasm code: 2022-12-18 17:06:39 https://github.com/duncanspumpkin/NeHeNASM 2022-12-18 17:07:12 Windows based, unfortunately. 2022-12-18 17:08:03 openGL from nasm code.. god damn. 2022-12-18 17:08:10 talk about masochism. 2022-12-18 17:08:51 :-) 2022-12-18 17:09:10 Well, see, I have a near-complete Forth system I've written using nasm. 2022-12-18 17:09:35 Last night I was playing with OpenGL in Python, but I was just wondering how I'd get access to it from my Forth. 2022-12-18 17:09:57 It would mean accepting external libraries, though - so far the Forth uses none whatsoever. 2022-12-18 17:10:04 Just makes a handful of OS syscalls. 2022-12-18 17:10:35 But... OS doesn't really offer anything like OpenGL. 2022-12-18 17:11:15 why not go through SDL? 2022-12-18 17:11:26 far more portable. 2022-12-18 17:11:37 Maybe I should - I don't really know what it is. I've never done much graphics. 2022-12-18 17:11:45 socket to python and there onward to gl port 2022-12-18 17:11:59 SDL is a portable graphics library. 2022-12-18 17:12:04 it's in C. 2022-12-18 17:12:11 You're talking about this: 2022-12-18 17:12:13 https://en.wikipedia.org/wiki/Simple_DirectMedia_Layer 2022-12-18 17:12:15 ? 2022-12-18 17:12:16 mhm. 2022-12-18 17:12:27 I can look into it; might be preferable. 2022-12-18 17:12:58 Geez - that looks like it does an awful lot. 2022-12-18 17:13:14 Ugh. The purist in me is feeling sadness... 2022-12-18 17:13:50 unfortunately modern graphics stacks are built too fucking high. 2022-12-18 17:14:06 there's also raylib and others in the same space 2022-12-18 17:14:14 allegro. 2022-12-18 17:14:34 SDL is kind of the "gold standard" though. 2022-12-18 17:14:48 It looks... very capable. 2022-12-18 17:14:59 yeah. just give you a window. 2022-12-18 17:15:53 Right. 2022-12-18 17:16:11 give me a window and a virtual screen and we're good. 2022-12-18 17:16:46 Yeah, exactly. I fret sometimes (like just last night) over missing "the good old days" when I could just ram data into a screen buffer. 2022-12-18 17:17:06 This is... different from that, but would get back to some of hte same capabilities. Only much higher performance. 2022-12-18 17:17:24 the thing is, you can still have that. you just need a lot of extra code to give you that. :\ 2022-12-18 17:17:31 Yeah - I'll dig into it. Might be what I want to do. 2022-12-18 17:17:36 write a device system for your forth interpreter. 2022-12-18 17:17:47 If I'm going to give up my "no linking" status, I at least want to get a lot for it. 2022-12-18 17:17:49 make it 'see" a screen. 2022-12-18 17:17:56 it also does audio, input, etc. 2022-12-18 17:18:01 I saw that. 2022-12-18 17:18:36 I believe the uxn project uses it. 2022-12-18 17:19:04 https://wiki.xxiivv.com/site/uxn.html 2022-12-18 17:19:24 https://100r.co/site/uxn.html 2022-12-18 17:26:28 I can so easily see myself getting carried away with t his. 2022-12-18 17:26:37 give into the power. 2022-12-18 17:26:39 Once I get started I'll start wanting to add all kinds of stuff. 2022-12-18 17:27:18 One of my thoughts has always been that I want to take this system to bare metal one of these days. That's why I've held out against all but the absolutely required syscalls. 2022-12-18 17:27:27 This would be a strong departure from that. 2022-12-18 17:27:43 well, again, wall it off behind an abstraction. 2022-12-18 17:27:52 So I'd want to give some thought to how I package it so that I do this on computers that can do it, but still have a bare metal path forward with a subset of functionality. 2022-12-18 17:27:55 phrase everything as an I/O device. 2022-12-18 17:28:46 "my screen is 256x256 1-bit pixels. my audio device is just an audio ring buffer." 2022-12-18 17:28:54 "write samples and I'll read them as fast as possible. 2022-12-18 17:31:50 Yeah. There are some adjustments I've had in mind for a while anyway. There's a portability layer I've been wanting to incorporate. So this may just represent a major overhaul / "re-write." I put that in quotes because in any case huge chunks of stuff would just come right over. 2022-12-18 17:31:58 Without much "re-writing." 2022-12-18 17:37:49 hell, with the advent of software, you can even have your code declare "I want a screen this big, an audio buffer that's capable of signed 32 bit samples and a keyboard". 2022-12-18 17:38:23 and then have programs just handle the lack of those however they want. 2022-12-18 17:39:17 no keyboard found... redirecting to warp core... ejecting warp core ... 2022-12-18 18:06:04 can you use SDL as a client connect to a server like X11? 2022-12-18 18:06:11 connected 2022-12-18 18:08:04 I don't think SDL has support for that. 2022-12-18 18:09:26 it does apparently have a generic event bus system. 2022-12-18 18:09:35 so you could make it work if you wanted 2022-12-18 19:54:17 you could just use vnc/rfb via sockets 2022-12-18 19:58:04 apparently SDL just gives you some raw access to the audio buffer. that's kinda neat. 2022-12-18 19:58:13 via SDL_QueueAudio. 2022-12-18 19:58:33 there's sdl_mixer and what built atop it 2022-12-18 22:57:51 Ok, I've played with a few SDL examples. One thing I notice immediately is that it sure seems wordy. But that's really how C/C++ always seems to me compared to Forth. 2022-12-18 22:59:51 These SDL examples are 2D, though, whereas the OpenGL stuff I did last night, was 3D, with perspective. But I did see earlier that SDL can use OpenGL, right? 2022-12-18 23:00:08 So it's just that I happened to pick 2D examples tongith? 2022-12-18 23:00:12 tonight 2022-12-18 23:46:54 Yeah, I think the way to approach this is to just bite the bullet and bury all that ugly overhead down in some "baggage" file and just create a screen and can pop things out to. Then *initially* the Forth will just pop text out to it.