> Hast Du evtl.
pdflatex
nicht oft genug ausgeführt?Hm, läuft zweimal. Dreimal ändert leider auch nix. :/ Da muss ich wohl nochmal im Detail gucken – wenn ich die Muße dafür finde. %)
> Hast Du evtl.
pdflatex
nicht oft genug ausgeführt?Hm, läuft zweimal. Dreimal ändert leider auch nix. :/ Da muss ich wohl nochmal im Detail gucken – wenn ich die Muße dafür finde. %)
> Hast Du evtl.
pdflatex
nicht oft genug ausgeführt?Hm, läuft zweimal. Dreimal ändert leider auch nix. :/ Da muss ich wohl nochmal im Detail gucken – wenn ich die Muße dafür finde. %)



I started work again today and did what I had planned: Moving all mails to a folder. Well, except I couldn’t. There were so many, the mail server refused to do it. 😂 So I moved them in small batches of 100 … Still better than reading them, though.
I started work again today and did what I had planned: Moving all mails to a folder. Well, except I couldn’t. There were so many, the mail server refused to do it. 😂 So I moved them in small batches of 100 … Still better than reading them, though.
I started work again today and did what I had planned: Moving all mails to a folder. Well, except I couldn’t. There were so many, the mail server refused to do it. 😂 So I moved them in small batches of 100 … Still better than reading them, though.
https://movq.de/v/0e60054c57
This was such a cool thing back then. It had the same physical size as a normal 3½" floppy disk but it could store 120 MB. 🤯
And the drive (I had an internal one) could read both types of disks as well, which, from my perspective, was a lot better than the ZIP drive. The ZIP drive was an additional, specialized drive only for those disks.
Sadly, I have neither drive anymore. Only some disks. The LS-120 one is marked as “defective” anyway. RIP. 🪦
Both were pushed out of the market by writable CDs soon after …
https://movq.de/v/0e60054c57
This was such a cool thing back then. It had the same physical size as a normal 3½" floppy disk but it could store 120 MB. 🤯
And the drive (I had an internal one) could read both types of disks as well, which, from my perspective, was a lot better than the ZIP drive. The ZIP drive was an additional, specialized drive only for those disks.
Sadly, I have neither drive anymore. Only some disks. The LS-120 one is marked as “defective” anyway. RIP. 🪦
Both were pushed out of the market by writable CDs soon after …
https://movq.de/v/0e60054c57
This was such a cool thing back then. It had the same physical size as a normal 3½" floppy disk but it could store 120 MB. 🤯
And the drive (I had an internal one) could read both types of disks as well, which, from my perspective, was a lot better than the ZIP drive. The ZIP drive was an additional, specialized drive only for those disks.
Sadly, I have neither drive anymore. Only some disks. The LS-120 one is marked as “defective” anyway. RIP. 🪦
Both were pushed out of the market by writable CDs soon after …
https://imgur.com/gallery/NpTmB25
I don’t think I’ll ever visit you guys. 🤣
https://imgur.com/gallery/NpTmB25
I don’t think I’ll ever visit you guys. 🤣
https://imgur.com/gallery/NpTmB25
I don’t think I’ll ever visit you guys. 🤣
I don’t think I’ve ever seen a C64 in person. 🤔 Maybe our school had some, but I don’t remember. 😅
I don’t think I’ve ever seen a C64 in person. 🤔 Maybe our school had some, but I don’t remember. 😅
I don’t think I’ve ever seen a C64 in person. 🤔 Maybe our school had some, but I don’t remember. 😅
https://www.youtube.com/watch?v=_hpE7lNLODw
https://www.youtube.com/watch?v=adkIx0iO5dY
(There are two more.)
The guy is restoring an IBM PS/2 Model 30 (the 8086 version) – and it took a loooooooot of work. Hats off.
That machine holds a special place in my heart, because it was one of the first PCs I had (I think I had the 286 version, though). It always brings a smile to my face when I see one. 😊
I wish I still had mine. Re-buying one now is probably not a good idea, I wouldn't have the skills to do that kind of restoration. (Or I pay someone to do it, which would be super expensive …)
https://www.youtube.com/watch?v=_hpE7lNLODw
https://www.youtube.com/watch?v=adkIx0iO5dY
(There are two more.)
The guy is restoring an IBM PS/2 Model 30 (the 8086 version) – and it took a loooooooot of work. Hats off.
That machine holds a special place in my heart, because it was one of the first PCs I had (I think I had the 286 version, though). It always brings a smile to my face when I see one. 😊
I wish I still had mine. Re-buying one now is probably not a good idea, I wouldn't have the skills to do that kind of restoration. (Or I pay someone to do it, which would be super expensive …)
https://www.youtube.com/watch?v=_hpE7lNLODw
https://www.youtube.com/watch?v=adkIx0iO5dY
(There are two more.)
The guy is restoring an IBM PS/2 Model 30 (the 8086 version) – and it took a loooooooot of work. Hats off.
That machine holds a special place in my heart, because it was one of the first PCs I had (I think I had the 286 version, though). It always brings a smile to my face when I see one. 😊
I wish I still had mine. Re-buying one now is probably not a good idea, I wouldn't have the skills to do that kind of restoration. (Or I pay someone to do it, which would be super expensive …)
> Hurenkindalarm auf den Seiten 11 und 12. :-P
Jup, ganz fiese sogar. Wundert mich, dass LaTeX das nicht standardmäßig anders arrangiert, um das zu vermeiden. Muss ich nochmal nachschauen, so hübsch ist’s ja nun nicht. 😀
> Die Levelgenerierung finde ich ziemlich genial.
Zu der Idee mit der Musterersetzung bin ich über Advent of Code gekommen. Also nicht direkt über die Puzzles, aber auf Reddit wird manchmal diskutiert, wie denn wohl die Puzzle-Daten bei AoC erstellt werden – da gibt es nämlich auch ganz viele solcher „Labyrinthe“. Und da hat mal einer geschrieben: „Wahrscheinlich beginnt er mit einem Kreis und deformiert den dann so lange, bis $Bedingung erreicht ist.“
Auch die Darstellung der Strecken in der Textdatei ist ganz stark an AoC-Puzzles angelehnt.
Mich fasziniert ein bisschen, dass quasi nur eine Regel („da ist eine Gerade, mach’ mal einen Knick rein“) ausreicht, um so viel Variation zu erreichen. Also, das ist schon noch verbesserungsfähig, aber es funktioniert schon deutlich besser, als ich erwartet hatte.
> Hurenkindalarm auf den Seiten 11 und 12. :-P
Jup, ganz fiese sogar. Wundert mich, dass LaTeX das nicht standardmäßig anders arrangiert, um das zu vermeiden. Muss ich nochmal nachschauen, so hübsch ist’s ja nun nicht. 😀
> Die Levelgenerierung finde ich ziemlich genial.
Zu der Idee mit der Musterersetzung bin ich über Advent of Code gekommen. Also nicht direkt über die Puzzles, aber auf Reddit wird manchmal diskutiert, wie denn wohl die Puzzle-Daten bei AoC erstellt werden – da gibt es nämlich auch ganz viele solcher „Labyrinthe“. Und da hat mal einer geschrieben: „Wahrscheinlich beginnt er mit einem Kreis und deformiert den dann so lange, bis $Bedingung erreicht ist.“
Auch die Darstellung der Strecken in der Textdatei ist ganz stark an AoC-Puzzles angelehnt.
Mich fasziniert ein bisschen, dass quasi nur eine Regel („da ist eine Gerade, mach’ mal einen Knick rein“) ausreicht, um so viel Variation zu erreichen. Also, das ist schon noch verbesserungsfähig, aber es funktioniert schon deutlich besser, als ich erwartet hatte.
> Hurenkindalarm auf den Seiten 11 und 12. :-P
Jup, ganz fiese sogar. Wundert mich, dass LaTeX das nicht standardmäßig anders arrangiert, um das zu vermeiden. Muss ich nochmal nachschauen, so hübsch ist’s ja nun nicht. 😀
> Die Levelgenerierung finde ich ziemlich genial.
Zu der Idee mit der Musterersetzung bin ich über Advent of Code gekommen. Also nicht direkt über die Puzzles, aber auf Reddit wird manchmal diskutiert, wie denn wohl die Puzzle-Daten bei AoC erstellt werden – da gibt es nämlich auch ganz viele solcher „Labyrinthe“. Und da hat mal einer geschrieben: „Wahrscheinlich beginnt er mit einem Kreis und deformiert den dann so lange, bis $Bedingung erreicht ist.“
Auch die Darstellung der Strecken in der Textdatei ist ganz stark an AoC-Puzzles angelehnt.
Mich fasziniert ein bisschen, dass quasi nur eine Regel („da ist eine Gerade, mach’ mal einen Knick rein“) ausreicht, um so viel Variation zu erreichen. Also, das ist schon noch verbesserungsfähig, aber es funktioniert schon deutlich besser, als ich erwartet hatte.
I use Open Watcom V2 to cross-compile it directly from Linux, pretty handy.
I use Open Watcom V2 to cross-compile it directly from Linux, pretty handy.
I use Open Watcom V2 to cross-compile it directly from Linux, pretty handy.
The tracks are procedurally generated. You can select one from the command line. (I love that concept very much.)
Getting the basic game done wasn’t too hard. I could reuse a lot of code from my little pool billiards game.
But … oh my goodness, the performance? The video was made on my Pentium 133, which is *very* powerful for the DOS era. And yet, it barely makes it above 25 FPS. I already used a couple of tricks (no floating point in some parts, try to keep an eye on cache locality, …) and I’ve passed on texturing the floor. The hot code paths are those that copy data in memory, like reading a pixel value for a texture and then copying it to the VGA buffer.
I’ve learned to appreciate games like Duke Nukem 3D a lot more now – how on earth can they be so fast? 🤯 I’ve got some homework to do …
https://movq.de/v/18f0d4be8d/MVI_6951.MOV.mp4
The tracks are procedurally generated. You can select one from the command line. (I love that concept very much.)
Getting the basic game done wasn’t too hard. I could reuse a lot of code from my little pool billiards game.
But … oh my goodness, the performance? The video was made on my Pentium 133, which is *very* powerful for the DOS era. And yet, it barely makes it above 25 FPS. I already used a couple of tricks (no floating point in some parts, try to keep an eye on cache locality, …) and I’ve passed on texturing the floor. The hot code paths are those that copy data in memory, like reading a pixel value for a texture and then copying it to the VGA buffer.
I’ve learned to appreciate games like Duke Nukem 3D a lot more now – how on earth can they be so fast? 🤯 I’ve got some homework to do …
https://movq.de/v/18f0d4be8d/MVI_6951.MOV.mp4
The tracks are procedurally generated. You can select one from the command line. (I love that concept very much.)
Getting the basic game done wasn’t too hard. I could reuse a lot of code from my little pool billiards game.
But … oh my goodness, the performance? The video was made on my Pentium 133, which is *very* powerful for the DOS era. And yet, it barely makes it above 25 FPS. I already used a couple of tricks (no floating point in some parts, try to keep an eye on cache locality, …) and I’ve passed on texturing the floor. The hot code paths are those that copy data in memory, like reading a pixel value for a texture and then copying it to the VGA buffer.
I’ve learned to appreciate games like Duke Nukem 3D a lot more now – how on earth can they be so fast? 🤯 I’ve got some homework to do …
https://movq.de/v/18f0d4be8d/MVI_6951.MOV.mp4
> going through gazillion of e-mails
I’m going to create a new IMAP folder called “Vacation 2023” and move all mail in there. I won’t read a single one of it until needed. 😅
> going through gazillion of e-mails
I’m going to create a new IMAP folder called “Vacation 2023” and move all mail in there. I won’t read a single one of it until needed. 😅
> going through gazillion of e-mails
I’m going to create a new IMAP folder called “Vacation 2023” and move all mail in there. I won’t read a single one of it until needed. 😅

😂

😂

😂
You know this thing when you press a key and it appears at once, and when you keep the key pressed there’s a short delay and then the key repeats? That happens on DOS, too, and it’s unsuitable for games. What you want for a game is something like a “key event” (i.e., “key
A
has been pressed now” and “key A
has been released now”). DOS doesn’t provide an API for that.For very simple games, you can ask the BIOS about the state of the Shift, Alt, and Ctrl keys:
https://stanislavs.org/helppc/int_16-2.html
There are individual bits for those keys and you can all tell them apart. I’m pretty sure some games used only this method, for example
TROPFEN
:https://www.youtube.com/watch?v=BYCDJ6W4ySc
You only need to go left or right in this game, or activate a lift. The two Shift keys and Ctrl are used for that. I always wondered why this game uses such weird keys instead of the cursor keys – now I know. 😅
For more elaborate games, you need to write your own handler for hardware IRQ 1. 😀 Then you get to see all the key presses and releases. That’s the method I’m using now.
You know this thing when you press a key and it appears at once, and when you keep the key pressed there’s a short delay and then the key repeats? That happens on DOS, too, and it’s unsuitable for games. What you want for a game is something like a “key event” (i.e., “key
A
has been pressed now” and “key A
has been released now”). DOS doesn’t provide an API for that.For very simple games, you can ask the BIOS about the state of the Shift, Alt, and Ctrl keys:
https://stanislavs.org/helppc/int_16-2.html
There are individual bits for those keys and you can all tell them apart. I’m pretty sure some games used only this method, for example
TROPFEN
:https://www.youtube.com/watch?v=BYCDJ6W4ySc
You only need to go left or right in this game, or activate a lift. The two Shift keys and Ctrl are used for that. I always wondered why this game uses such weird keys instead of the cursor keys – now I know. 😅
For more elaborate games, you need to write your own handler for hardware IRQ 1. 😀 Then you get to see all the key presses and releases. That’s the method I’m using now.
You know this thing when you press a key and it appears at once, and when you keep the key pressed there’s a short delay and then the key repeats? That happens on DOS, too, and it’s unsuitable for games. What you want for a game is something like a “key event” (i.e., “key
A
has been pressed now” and “key A
has been released now”). DOS doesn’t provide an API for that.For very simple games, you can ask the BIOS about the state of the Shift, Alt, and Ctrl keys:
https://stanislavs.org/helppc/int_16-2.html
There are individual bits for those keys and you can all tell them apart. I’m pretty sure some games used only this method, for example
TROPFEN
:https://www.youtube.com/watch?v=BYCDJ6W4ySc
You only need to go left or right in this game, or activate a lift. The two Shift keys and Ctrl are used for that. I always wondered why this game uses such weird keys instead of the cursor keys – now I know. 😅
For more elaborate games, you need to write your own handler for hardware IRQ 1. 😀 Then you get to see all the key presses and releases. That’s the method I’m using now.
https://lodev.org/cgtutor/raycasting.html
It’s easy to port the example code to DOS, but that’s not the interesting part. I’m taking the time to really understand the math behind it (the tutorial is pretty vague at times) and I’m writing it down in LaTeX. Yay, finally some TeX again! 😃
https://lodev.org/cgtutor/raycasting.html
It’s easy to port the example code to DOS, but that’s not the interesting part. I’m taking the time to really understand the math behind it (the tutorial is pretty vague at times) and I’m writing it down in LaTeX. Yay, finally some TeX again! 😃
https://lodev.org/cgtutor/raycasting.html
It’s easy to port the example code to DOS, but that’s not the interesting part. I’m taking the time to really understand the math behind it (the tutorial is pretty vague at times) and I’m writing it down in LaTeX. Yay, finally some TeX again! 😃
https://www.youtube.com/watch?v=YsQG1Sr91z0
It discusses ideas on how to handle keyboard input in DOS games. (Mind the top comment, though, which I guess is important.)
Knowledge like this is hard to come by these days. Much of it is already lost. 😢 Let’s preserve this!
https://www.youtube.com/watch?v=YsQG1Sr91z0
It discusses ideas on how to handle keyboard input in DOS games. (Mind the top comment, though, which I guess is important.)
Knowledge like this is hard to come by these days. Much of it is already lost. 😢 Let’s preserve this!
https://www.youtube.com/watch?v=YsQG1Sr91z0
It discusses ideas on how to handle keyboard input in DOS games. (Mind the top comment, though, which I guess is important.)
Knowledge like this is hard to come by these days. Much of it is already lost. 😢 Let’s preserve this!