movq

www.uninformativ.de

No description provided.

Recent twts from movq
In-reply-to » SvarDOS: DR-DOS is Reborn as an Open Source OS SvarDOS, a compact open-source operating system derived from DR-DOS, has switched to using the EDRDOS kernel, marking a shift from its FreeDOS distribution roots. The change allows the operating system to fit on a single 1.4MB floppy disk while offering a network-capable package manager that can fetch from a repository of over 400 packages.

@prologic@twtxt.net There are still people who prefer it over Git. I mean, OpenBSD even still uses CVS. I don’t understand why, but they say it works fine for them … 🤷

⤋ Read More
In-reply-to » SvarDOS: DR-DOS is Reborn as an Open Source OS SvarDOS, a compact open-source operating system derived from DR-DOS, has switched to using the EDRDOS kernel, marking a shift from its FreeDOS distribution roots. The change allows the operating system to fit on a single 1.4MB floppy disk while offering a network-capable package manager that can fetch from a repository of over 400 packages.

@prologic@twtxt.net Yep, I saw this a few days ago. 😃 Haven’t had a closer look yet. But before I wrote my own editor, I considered porting SVED. 😃 (Couldn’t do it, because they use features that my kernel doesn’t have.)

But why, oh why, would people still use SVN these days. 🥴😅

⤋ Read More
In-reply-to » Healthy new world war!

@lyse@lyse.isobeef.org I think I already posted this last year, but this is how NYE sounds like for me:

https://movq.de/v/c0084b64f9/MVI_8118.ogg

I live in a tower building and there are no objects (like trees or other buildings) to “dampen” the sound. All the explosions sound massive, extra loud, and very uncomfortable. Also notice that there’s no music or people cheering. Just explosions. I haven’t lived through a war in our country (yet), but I guess it’ll sound something like this. 🫤

⤋ Read More
In-reply-to » Good riddance 2024... 2025, be good or else.

2024 was okay for me, but 2025 is gonna be real shit. 😂 So much annoying stuff coming up. Gotta enjoy the moment, who knows how long it will last. 😅

Happy new year, you guys. 🥳

⤋ Read More
In-reply-to » Okay, this is pretty cool. My 8086 toy OS running on my old Pentium from an actual floppy disk. 😍 I just love that sound and the feeling of using floppies. This brings back so many memories from my early DOS days.

@prologic@twtxt.net Yes, it’s all written from scratch, but most of it is written in C (not Assembler) and having a C standard library available helps a lot. It’s not that different from writing a program for DOS, just the syscalls are different. 😅

@lyse@lyse.isobeef.org Scrolling the viewport was the most annoying part. 🥴 The code also assumes that it is running on a “fast” PC. There are no “elaborate” data structures like a gap buffer. (But it does use dynamic arrays, which Wikipedia lists as a special case of a gap buffer. 🤔)

To display text on the screen, the editor writes directly to video memory (https://wiki.osdev.org/Printing_To_Screen). This is a blessing and much easier than fiddling with escape sequences. I wish you could do something like that on a Linux terminal.

⤋ Read More

Okay, this is pretty cool. My 8086 toy OS running on my old Pentium from an actual floppy disk. 😍 I just love that sound and the feeling of using floppies. This brings back so many memories from my early DOS days.

The cp-unopt program copies a file and intentionally uses small unaligned reads/writes (hopefully triggers more bugs).

The I/O cache works “okay-ish”, I guess. When sha1 runs, it has to do a few reads for the first file and basically none for the second one. Both could have been served entirely from the cache, theoretically. (But even just having an I/O cache in the first place speeds up things dramatically.)

Notice how there’s an EA file. That’s a left-over from OS/2, because I copied some files to the floppy using OS/2. In other words, my FAT12 implementation survives OS/2 writing to it. 🥳 (But I guess it should show up as EA DATA.SF. My current code starts at the left and stops at the first space.)

https://movq.de/v/d4d50d3c74/los86-on-p133-from-floppy-small2.mp4

⤋ Read More
In-reply-to » It must already be New Year here. Full continuous fire for ten minutes.

@lyse@lyse.isobeef.org

Luckily, it’s illegal to sell fireworks other than after the last three days in the year.

Interesting, didn’t know that. According to the following link, it’s even illegal to use it other than 31./1.: https://www.anwalt.de/rechtstipps/wann-wird-feuerwerk-zur-straftat-alles-was-sie-fuer-silvester-wissen-muessen-235257.html

Nobody knows that, apparently. 😂

⤋ Read More
In-reply-to » That FAT12 implementation is very naive and unoptimized. You can see in this video that it takes about 7 seconds to copy a ~10 kB file: https://movq.de/v/fbf2b90ce1/los86-fat12-copy.mp4 🥴 I kind of like that, though, because it feels a little bit like an old machine. 😅🤪

@prologic@twtxt.net Indeed, I’ve gained a lot more respect for Linux/BSD and DOS. 😃

⤋ Read More
In-reply-to » 3°C today, it was quite nice in the sun. A lot of hunting and tree felling going on in the forest. And we met the heron again, that was very cool: https://lyse.isobeef.org/waldspaziergang-2024-12-28/

@lyse@lyse.isobeef.org Oh, ah, that’s quite a lot of zoom. Still, 4m feels really close. Were you behind a bush? 😃

⤋ Read More
In-reply-to » That FAT12 implementation is very naive and unoptimized. You can see in this video that it takes about 7 seconds to copy a ~10 kB file: https://movq.de/v/fbf2b90ce1/los86-fat12-copy.mp4 🥴 I kind of like that, though, because it feels a little bit like an old machine. 😅🤪

@prologic@twtxt.net Something along those lines, yeah. And/or some generic cache for disk sectors.

⤋ Read More
In-reply-to » That FAT12 implementation is very naive and unoptimized. You can see in this video that it takes about 7 seconds to copy a ~10 kB file: https://movq.de/v/fbf2b90ce1/los86-fat12-copy.mp4 🥴 I kind of like that, though, because it feels a little bit like an old machine. 😅🤪

@prologic@twtxt.net Lots, I guess. 😅 The kernel keeps almost no state between syscalls, so when you want to read the next byte from a file, it has to do all the work from scratch: Locate the file in the directory and traverse the cluster chain until you’ve reached the next byte. It’s easier to code this way, but obviously much slower. And the userspace program cp could read/write in multiples of 512 – it currently does not do that, intentionally, because if everything is a multiple of 512, you’re less likely to discover bugs. 😅

⤋ Read More
In-reply-to » That FAT12 implementation is very naive and unoptimized. You can see in this video that it takes about 7 seconds to copy a ~10 kB file: https://movq.de/v/fbf2b90ce1/los86-fat12-copy.mp4 🥴 I kind of like that, though, because it feels a little bit like an old machine. 😅🤪

(This issues a lot of BIOS calls, that’s why it’s so slow.)

⤋ Read More

After taking a short break for Christmas business, I’ve worked on my little toy operating system for the 8086 again.

It understands the basics of FAT12 now. I’ve actually never sat down before to learn how FAT works. 🤦 Well, better late than never, I guess.

It can’t do subdirectories nor timestamps and I probably won’t implement that. One flat directory is good enough for my purposes and the OS has no notion of time, yet, anyway.

It’s really cool to be able to exchange files with the Linux host or other DOS VMs. 🥳

https://movq.de/v/21e91bafdb/los86-fat12.mp4

⤋ Read More
In-reply-to » 3°C today, it was quite nice in the sun. A lot of hunting and tree felling going on in the forest. And we met the heron again, that was very cool: https://lyse.isobeef.org/waldspaziergang-2024-12-28/

@lyse@lyse.isobeef.org Have you got a zoom on your camera now? That looks very close for a heron. 🤯

Looks like a lovely day indeed. We only had fog all day and I was too lazy to go outside. 😂

⤋ Read More
In-reply-to » I’m currently writing a tutorial (in French) to learn the basics of groff + mom to typeset generalist PDF (not manpages). It’s my nerdy project for the time being, and it grew quite larger than I anticipated (it probably will have 40 pages when finished)… not because groff is hard, but because my goal is people who never touched a formatting language, so I have to cover the basics.

@emmanuel@wald.ovh Oh, that’s going to be interesting. It’s been a moment since I’ve used groff.

⤋ Read More

If you don’t like Advent of Code because it’s just more programming on top of your day job, I’d like to suggest doing the following days in isolation:

And maybe even:

The first two can be solved by creativity and exploration, they’re not just “use algorithm $foo” like many other puzzles. They require hardly any programming at all.

The other two do need a bit of programming, but 2024/14 was pretty interesting and unconventional.

⤋ Read More
In-reply-to » In case somebody needs a calculator: https://www.youtube.com/watch?v=E0pJST5mL3A

@lyse@lyse.isobeef.org Yeah, I feel the same way, although it’s hard to tell in retrospect after so many years. 😅 Maybe our teachers actually did a good job and I just didn’t get it back then. I wish I could go back in time and re-watch all that, to see what it was actually like. 😃

⤋ Read More
In-reply-to » Moin @arne, herzlich willkommen! Ich bin gerade auf https://uplegger.eu/blog/popelfinger gestoßen und war sofort sehr begeistert. :-D Mal sehen, ob ich die anderen an einem der Feiertage davon überzeugt bekomme, das mal auszuprobieren. :-)

@lyse@lyse.isobeef.org Hmmm:

Could not fetch: HTTPError('403 Client Error: Forbidden for url: https://uplegger.eu/twtxt.txt')

🤔

⤋ Read More

2024 was a funny year: The year begins and ends with calendar week 1:

Image

The one in January being 2024-W01 and the one in December 2025-W01.

🤓

(Hmmm, my printed LaTeX calendar using tikz-kalender gets it wrong or uses different week definitions. It shows next week as 53. 🤔)

⤋ Read More
In-reply-to » I’ve been making a little toy operating system for the 8086 in the last few days. Now that was a lot of fun!

@mckinley@twtxt.net

So, just a hobby. It won’t be big and professional like GNU, then?

Ha! 😅 No, that certainly won’t happen this time. 🥴

(What an exciting time that was when there were new operating systems. 🤔)

⤋ Read More
In-reply-to » I’ve been making a little toy operating system for the 8086 in the last few days. Now that was a lot of fun!

Improving the filesystem is probably going to be the next big task. I don’t know that much about this stuff, so I’ll have to learn a lot. 🥴

⤋ Read More

I’ve been making a little toy operating system for the 8086 in the last few days. Now that was a lot of fun!

I don’t plan on making that code public. This is purely a learning project for myself. I think going for real-mode 8086 + BIOS is a good idea as a first step. I am well aware that this isn’t going anywhere – but now I’ve gained some experience and learned a ton of stuff, so maybe 32 bit or even 64 bit mode might be doable in the future? We’ll see.

It provides a syscall interface, can launch processes, read/write files (in a very simple filesystem).

Here’s a video where I run it natively on my old Dell Inspiron 6400 laptop (and Warp 3 later in the video, because why not):

https://movq.de/v/893daaa548/los86-p133-warp3.mp4

(Sorry for the skewed video. It’s a glossy display and super hard to film this.)

It starts with the laptop’s boot menu and then boots into the kernel and launches a shell as PID 1. From there, I can launch other processes (anything I enter is a new process, except for the exit at the end) and they return the shell afterwards.

And a screenshot running in QEMU:

Image

⤋ Read More