Show Idle (>14 d.) Chans


← 2024-03-10 | 2024-03-12 →
awt_akris[asciilifeform]: $ticker btc usd
busybot: Current BTC price in USD: $71680.71
dulapbot: Logged on 2024-03-10 13:39:41 jonsykkel[asciilifeform]: re crlf ur mesages hapax has a 0a in end (http://zzz.st/pest/), id gues the irc client sends a extra 0a and smalpest dosnt catch it (wander who wrote that pile of trasj) so just passes it on to pest mesage
hapax: seems erc doesn't have an obvious knob to turn it off
hapax: asciilifeform: been thinking about the "ffa on bare iron"
hapax: and i think it's not really complicated to implement at this point
hapax: i mean, ward right now contains enough "runtime" to run peh+ffa
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
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)
asciilifeform iirc had a loader-and-longmode-in-1-sector but maybe not in the tar ref'd above
asciilifeform: not had the identity mapping of memory tho, or irq init
hapax: memory is the easy part
hapax: fortunately, peh doesn't malloc
asciilifeform: needs decently-sized stack tho, + however much reseve for tape
asciilifeform: *reserve
hapax: sure
hapax: i'm thinking of int 13hing it out of the drive to memory
hapax: setting up the segment as read/execute
asciilifeform: is classically how bootloader goes
hapax: identity mapping everything we can
asciilifeform: ('first pillage, then burn', however, int13 from disk ~before~ longmoad)
hapax: and, dunno, knob at compile time to set how much ram for stack, how much for tape
hapax: sure
asciilifeform: the latter already in there
hapax: as in?
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
hapax: my dos peh is like 140k
hapax: so it fits within conventional memory
hapax: well, that's tape space
asciilifeform: if yer already switching into 32/64, may as well allow tapespace to fill whatever you got
asciilifeform: (with coupla MB reserved for machine stack)
hapax: oh, you mean filling it before going long mode?
hapax: i don't quite get it
asciilifeform: no reason why dos conventional mem limit oughta apply to anything in dos ffa
hapax: sure, but i'm worried about loading it up in long mode
asciilifeform: i.e. once you're in 32 (or long), oughta be able to access all of physical mem as 1 segment
hapax: sure thing
hapax: but how to get ffa to memory?
hapax: i wanted int 13h first, get it to <640k, long mode + identity mapping after that
asciilifeform: naturally gotta load from disk while int13 still worx (or yer stuck introducing nonportable i/o crapolade)
hapax: exactly
hapax: therefore, long mode after loading peh to memory
hapax: and after that we can play with uart
hapax: exitprocess can just do a GOTO 10
hapax: and we're looping, resetting the stack, etc.
hapax: possibly zapping the tape
asciilifeform: yea there's no reason to ever exit. zap when tape ends & eat (possible) new tape, until poweroff
asciilifeform: 'ada handily provides a loop with no termination condition, because traditionally the termination condition was detonation'(tm)(r)(fughetwhere)
hapax: seems reasonable
hapax: i might try it later, probably won't even require any changes to gcc
asciilifeform: the 1 gotcha afaik, is that there's nothing resembling a fallback rng on typical naked pc iron
hapax: yeah, well, i thought an fg is a must in this case
asciilifeform: not necessarily fg, but asciilifeform not knows of a serial port rng that is reasonably safe to eat raw
asciilifeform: obv folx can plug in whatever they like.
hapax: a box with /dev/urandom over serial!!1
asciilifeform: phunphakt: there was at one time a (reasonably good, if extremely slow) trng hack for msdos
asciilifeform: ... used mb clock crystal jitter
asciilifeform: afaik lost to the sands of time, but potentially could be recreated for use as fallback
hapax: oh, cool
asciilifeform: idea is, if you have rdtsc (pentium & up), can make use of jitter in diff b/w int18's timer and it
asciilifeform: (given as they came from physically separate crystals)
asciilifeform: was good for a few bytes/sec. iirc.
asciilifeform: not a substitute for an actual trng, but considerable improvement over mashing keys & similar a la orig pgp
asciilifeform: 'HPET' (iron 2005 & up) anuther crystal still.
asciilifeform: where no rdtsc, used simple increment loop.
asciilifeform: anyways it aint as if there's a hurry, for this.
hapax: sure, i wanted to try a "peh(1) for plan9" first
asciilifeform: hpex: outta curiosity, what motivated you to put in the sweat for your dos port ?
asciilifeform: iirc phf into plan9, maybe will take an interest in that one
hapax: good question, i don't really remember
hapax: i actually did most of the job on, i believe, summer 2021
hapax: been playing a lot with ada back then
hapax: i've actually been learning ada with the ffa series
hapax: (reading some other sources as well, but ffa is a great introduction)
hapax: i also really like dos for some reason, the only usable os that "fits in head," at least for me
hapax: guess i wanted to try it
hapax: first version, back then, was using a gcc-8 or something like that
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
hapax: running -O2 optimized some code behind a RET
hapax: so i tried making an ada dev stack with gcc-4.9.4
hapax: (since it does work more reliably than newer versions)
hapax: tried playing with extenders, figured out dos32a, managed to make a tsr
asciilifeform: ^ last version used by asciilifeform , as immediately after that one, was catastrophically broken in various ways
hapax: and i wanted to have peh on my dos machines, since i sometimes use it as a desk calculator
hapax: has an elektronika mk-52 feel to it
asciilifeform: indeed, rather deliberately
asciilifeform grew up with the mostly-identical mk61 but yes
hapax: asciilifeform: yeah, i got the "use <gcc5" from you guys
asciilifeform: the details of why, are amply expanded on in the logs, yea
hapax: been reading it and growing suspicious of it, but what really did it for me was the code being optimized away
hapax: at first i thought i did something wrong
hapax: a problem with extender or something
hapax: caught it while reading the assembly listing
hapax: since then been using exclusively gcc-4.9.4
asciilifeform: famously gcc5 snips out crypto zeroizations
hapax: yeah, i remember that from the logs
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 )
hapax: at least a code like that will pretend to work correctly
hapax: but INTs behind a RET don't really trigger
hapax: no idea what happened there and why gcc even thought it would be a good idea
asciilifeform: possibly curable by declaring the working memory as volatile
hapax: possibly
hapax: on gcc4 it just works(tm), so i don't complain
asciilifeform: ( subj, but again, not tried )
hapax: i compiled the entire system with it, completely musltronic, etc.
hapax: well, i still don't have x
hapax: i'll have to sit on it one weekend
hapax: a road through hell, doing it all from scratch, my gcc is patched to oblivion
asciilifeform: hapax: ever looked at signpost's gcc ?
asciilifeform: he also laboriously patched
hapax: i think i did at some point, i even have some of the same patches
hapax: hunted the others in the wild
asciilifeform: ( iirc started with ave1's , but went considerably farther )
signpost[asciilifeform] needs to get my turds all back on a server.
hapax: oh, i guess it was ave1's
hapax: might check the other one later
asciilifeform: signpost: i'ma mirror , when you get a chance to stand yours up
hapax: i had to patch some other things to, new c standard apparently allows omitting names for unused parameters
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)
asciilifeform must bbl
← 2024-03-10 | 2024-03-12 →