Hide Idle (>14 d.) Chans


← 2024-03-10 | 2024-03-12 → ↓
06:39 awt_akris $ticker btc usd
06:41 busybot Current BTC price in USD: $71680.71
~ 4 hours 57 minutes ~
11:38 signpost coooorn.
11:39 asciilifeform lol
~ 3 hours 23 minutes ~
15:03 hapax http://logs.nosuchlabs.com/log/pest/2024-03-10#1033250 << interesting
15:03 hapax seems erc doesn't have an obvious knob to turn it off
15:05 hapax asciilifeform: been thinking about the "ffa on bare iron"
15:06 hapax and i think it's not really complicated to implement at this point
15:06 hapax i mean, ward right now contains enough "runtime" to run peh+ffa
15:08 hapax and, since there's no need for working along other programs in dos userspace (as you wanna go uart), the start.s can just be a long mode setup
15:08 hapax (entirely doable within one hd sector, done it before, you probably did as well, but i haven't studied your "toystore os" you once posted)
15:10 * asciilifeform iirc had a loader-and-longmode-in-1-sector but maybe not in the tar ref'd above
15:10 asciilifeform not had the identity mapping of memory tho, or irq init
15:10 asciilifeform (iirc)
15:11 hapax memory is the easy part
15:11 hapax fortunately, peh doesn't malloc
15:11 asciilifeform needs decently-sized stack tho, + however much reseve for tape
15:11 asciilifeform *reserve
15:11 hapax sure
15:12 hapax i'm thinking of int 13hing it out of the drive to memory
15:12 hapax setting up the segment as read/execute
15:12 asciilifeform is classically how bootloader goes
15:12 hapax identity mapping everything we can
15:12 asciilifeform ('first pillage, then burn', however, int13 from disk ~before~ longmoad)
15:12 hapax and, dunno, knob at compile time to set how much ram for stack, how much for tape
15:13 hapax sure
15:13 asciilifeform the latter already in there
15:14 * asciilifeform notes, re: possible field applications of 'dos ffa', that not 1 single fg purchaser asked for the rs232 plug. tho it aint difficult to buy off shelf
15:14 hapax as in?
15:15 hapax my dos peh is like 140k
15:15 hapax so it fits within conventional memory
15:15 asciilifeform http://www.loper-os.org/pub/ffa/hypertext/ch21a-ter/limits__ads.htm#25_4
15:16 asciilifeform if yer already switching into 32/64, may as well allow tapespace to fill whatever you got
15:16 hapax well, that's tape space
15:16 asciilifeform (with coupla MB reserved for machine stack)
15:16 hapax oh, you mean filling it before going long mode?
15:17 hapax i don't quite get it
15:17 asciilifeform no reason why dos conventional mem limit oughta apply to anything in dos ffa
15:18 asciilifeform i.e. once you're in 32 (or long), oughta be able to access all of physical mem as 1 segment
15:18 hapax sure, but i'm worried about loading it up in long mode
15:18 hapax sure thing
15:18 hapax but how to get ffa to memory?
15:18 asciilifeform naturally gotta load from disk while int13 still worx (or yer stuck introducing nonportable i/o crapolade)
15:18 hapax i wanted int 13h first, get it to <640k, long mode + identity mapping after that
15:18 hapax exactly
15:19 * asciilifeform nods
15:19 hapax therefore, long mode after loading peh to memory
15:19 asciilifeform right
15:19 hapax and after that we can play with uart
15:19 hapax exitprocess can just do a GOTO 10
15:19 hapax and we're looping, resetting the stack, etc.
15:19 hapax possibly zapping the tape
15:20 asciilifeform yea there's no reason to ever exit. zap when tape ends & eat (possible) new tape, until poweroff
15:20 asciilifeform 'ada handily provides a loop with no termination condition, because traditionally the termination condition was detonation'(tm)(r)(fughetwhere)
15:21 hapax seems reasonable
15:21 hapax i might try it later, probably won't even require any changes to gcc
15:22 asciilifeform the 1 gotcha afaik, is that there's nothing resembling a fallback rng on typical naked pc iron
15:22 hapax yeah, well, i thought an fg is a must in this case
15:23 asciilifeform not necessarily fg, but asciilifeform not knows of a serial port rng that is reasonably safe to eat raw
15:23 asciilifeform obv folx can plug in whatever they like.
15:24 hapax a box with /dev/urandom over serial!!1
15:24 asciilifeform lol
15:24 asciilifeform phunphakt: there was at one time a (reasonably good, if extremely slow) trng hack for msdos
15:25 asciilifeform ... used mb clock crystal jitter
15:25 asciilifeform afaik lost to the sands of time, but potentially could be recreated for use as fallback
15:25 hapax oh, cool
15:26 asciilifeform idea is, if you have rdtsc (pentium & up), can make use of jitter in diff b/w int18's timer and it
15:26 asciilifeform (given as they came from physically separate crystals)
15:27 asciilifeform was good for a few bytes/sec. iirc.
15:27 asciilifeform not a substitute for an actual trng, but considerable improvement over mashing keys & similar a la orig pgp
15:28 asciilifeform 'HPET' (iron 2005 & up) anuther crystal still.
15:29 asciilifeform where no rdtsc, used simple increment loop.
15:29 asciilifeform anyways it aint as if there's a hurry, for this.
15:30 asciilifeform hpex: outta curiosity, what motivated you to put in the sweat for your dos port ?
15:30 hapax sure, i wanted to try a "peh(1) for plan9" first
15:30 asciilifeform iirc phf into plan9, maybe will take an interest in that one
15:31 hapax good question, i don't really remember
15:31 hapax i actually did most of the job on, i believe, summer 2021
15:31 hapax been playing a lot with ada back then
15:32 hapax i've actually been learning ada with the ffa series
15:32 hapax (reading some other sources as well, but ffa is a great introduction)
15:32 hapax i also really like dos for some reason, the only usable os that "fits in head," at least for me
15:33 hapax guess i wanted to try it
15:33 hapax first version, back then, was using a gcc-8 or something like that
15:33 asciilifeform hapax: ffa was originally for a 'realtime' application, but this fell through, asciilifeform decided that it oughta be turned into a rationally-designed replacement for gpg et al
15:34 hapax running -O2 optimized some code behind a RET
15:34 hapax so i tried making an ada dev stack with gcc-4.9.4
15:34 hapax (since it does work more reliably than newer versions)
15:34 hapax tried playing with extenders, figured out dos32a, managed to make a tsr
15:35 asciilifeform ^ last version used by asciilifeform , as immediately after that one, was catastrophically broken in various ways
15:35 hapax and i wanted to have peh on my dos machines, since i sometimes use it as a desk calculator
15:35 hapax has an elektronika mk-52 feel to it
15:35 asciilifeform indeed, rather deliberately
15:36 * asciilifeform grew up with the mostly-identical mk61 but yes
15:37 hapax asciilifeform: yeah, i got the "use <gcc5" from you guys
15:37 asciilifeform the details of why, are amply expanded on in the logs, yea
15:38 hapax been reading it and growing suspicious of it, but what really did it for me was the code being optimized away
15:38 hapax at first i thought i did something wrong
15:38 hapax a problem with extender or something
15:38 hapax caught it while reading the assembly listing
15:39 asciilifeform famously gcc5 snips out crypto zeroizations
15:39 hapax since then been using exclusively gcc-4.9.4
15:39 hapax yeah, i remember that from the logs
15:39 asciilifeform ( asciilifeform not even knows if affects all backends, incl ada's, but is supremely annoying and the simplest cure is to avoid gcc>=5 )
15:39 hapax at least a code like that will pretend to work correctly
15:40 hapax but INTs behind a RET don't really trigger
15:40 asciilifeform possibly curable by declaring the working memory as volatile
15:40 hapax no idea what happened there and why gcc even thought it would be a good idea
15:40 hapax possibly
15:40 hapax on gcc4 it just works(tm), so i don't complain
15:40 asciilifeform ( subj, but again, not tried )
15:40 asciilifeform aaha
15:41 hapax i compiled the entire system with it, completely musltronic, etc.
15:41 asciilifeform a++
15:41 hapax well, i still don't have x
15:41 hapax i'll have to sit on it one weekend
15:42 hapax a road through hell, doing it all from scratch, my gcc is patched to oblivion
15:42 asciilifeform hapax: ever looked at signpost's gcc ?
15:42 asciilifeform he also laboriously patched
15:42 hapax i think i did at some point, i even have some of the same patches
15:42 hapax hunted the others in the wild
15:42 asciilifeform ( iirc started with ave1's , but went considerably farther )
15:43 * signpost needs to get my turds all back on a server.
15:43 hapax oh, i guess it was ave1's
15:43 hapax might check the other one later
15:43 asciilifeform signpost: i'ma mirror , when you get a chance to stand yours up
15:43 hapax i had to patch some other things to, new c standard apparently allows omitting names for unused parameters
15:44 hapax (i think i needed that for some alsa utils or something like that, my machine doesn't have x, but it has a soundblaster onboard)
15:45 * asciilifeform must bbl
← 2024-03-10 | 2024-03-12 → ↑