LBi information 60 glöps

- general:
- level: user
- personal:
- portals:
- demozoo: profile
- 256b MS-Dos PolyRoll by Bitbandit [web]
- Quote:
speaking of that IRQ discussion, it seems you're using HLT for timing, and it indeed halts the CPU until interrupt. in regular DOS environment, it's only IRQ0 active (which is usually ticking at 18.2 Hz) - there is no VGA IRQ enabled by default, not to mention support across VGA chips is vastly different (there is a long vogons thread with VGA IRQ testings but it's 5am to search for it =). however if you press keys on the keyboard, or as you said, touch the touchpad, they generate their own IRQs which also wake CPU up, hence the movement speedup :)
Both you and bitl must be right. I made a small test to compare the proper waiting for blanking period and the HLT method. I changed the background color before and after waiting for vsync. Waiting for bit 3 in 0x3DA gives a good result, but a simple HLT makes the screen flicker.
However, the intro has no visual tears on the LCD. So it must be a good balance between the HLT timing and the processing time of the polygons. - isokadded on the 2025-09-15 01:00:20
- 256b MS-Dos PolyRoll by Bitbandit [web]
- Quote:
The "HLT" instruction doesn’t work that way. In DOS there’s no interrupt that would be synchronized with the screen refresh. In your case, HLT just pauses until the timer interrupt (which isn’t tied to vertical retrace).
AFAIK, it's not DOS, it's the VGA vertical blank IRQ which wakes up the CPU from halt. Other interrupts may also cause the halt to terminate, like timers, keyboard, com port etc. In my early attempts I tended to use the 0x3DA VGA register to learn the status of the vertical retrace, but that wastes too much precious space. A simple HLT is shorter. It's a common concept in 256b intros.
In the past, there were VGA cards that had a jumper that could disable the VGA IRQ. I have the Programmer's guide to the EGA, VGA and Super VGA Cards. It's 1600 pages. On page 364 it states: "in the EGA, when the vertical interrupt is enabled and a vertical retrace period occurs, an interrupt level 2 on a PC or level 9 on an AT is generated on the host processor". The Vertical Retrace End Register (both on EGA and VGA) has a DVI flag (bit 5) which is the Disable Vertical Interrupts flag.
However, you claim that it's not the VGA IRQ that wakes up the CPU, but a PIT interrupt? I have to investigate it. :)
Quote:So yes, your intro really does have artifacts caused by the lack of proper waiting for the start of the vertical blank.
I rewatched the intro on my Core i5 laptop and I can confirm there's no tearing. However, if I swiping on the touchpad the movement is accelerating. This must be an other (mouse) interrupt which wakes up the cpu.
The tearing is only visible when I watched the intro via the HDMI capture. I have to switch to external display in the BIOS to be able to capture under FreeDOS. This way the BIOS itself can be seen via HDMI and the LCD is off. I suspect there's no VGA IRQ when using the HDMI. I have to test interrupts under FreeDOS to better understand what's going on.
Quote:But damn, it’s 256 bytes! And with beautiful filled 3D vectors! Who cares about the retrace.
Thanks for the compliment! - isokadded on the 2025-09-14 22:39:29
- 256b MS-Dos PolyRoll by Bitbandit [web]
- Quote:
Nice, but VBL sync would be nicer (or is it the recording?)
It's the recording. The processing is halted to the next vsync interrupt. There was no screen tearing at the compo, or I just didn't notice. Maybe I should re-record it. :) - isokadded on the 2025-09-14 19:30:20
- 256b MS-Dos CUKI by Abaddon [web]
- Panda origami. Liked it!
- rulezadded on the 2025-09-14 16:16:47
- 256b MS-Dos Hollow Chime by Astroidea [web]
- Raymarching rulez! Nice shimmering
- rulezadded on the 2025-09-14 16:14:30
- 256b MS-Dos Kaustika by Řrřola [web]
- Pixels play water polo. Nice!
- rulezadded on the 2023-09-10 18:45:15
- 256b MS-Dos demolition party by Kuemmel [web]
- Nice effect! The sounds remind me of a ZX Spectrum game. :)
- rulezadded on the 2023-09-10 18:41:43
- 256b bbstro MS-Dos v.i.e.w.m.e. [haciend el bananas BBS (4)] by Sensenstahl
- I love every piece of this, the cubes, the colors, the movement!
- rulezadded on the 2023-09-10 18:24:20
- 256b MS-Dos function shrinkCSTo256Bytes() by Astroidea [web]
- Awesome effect! Love how the colors are chaning!
- rulezadded on the 2023-09-10 18:22:28
- 256b MS-Dos Final Bytes by Abaddon [web]
- My favorite. It is technically and artistically top notch. You can even see glow on the front triangles!
- rulezadded on the 2023-09-10 18:21:23
account created on the 2019-09-15 12:13:03