Geri wrote:
6502Rulez:
1. 6502 is bad
2. you can assume 60 hz, and do the screen update only ecsactly when 1/60th sec elapsed. this will resolve flickering.
3. VGA emulation mode is obsolote, including every port/interrupt function related to it. you are lucky if you even have the proper colors!
4. i suggest you to use VESA VBE (SVGA). i am not sure if it supports vsync, double buffering, or anything related to this all. you can assume 60 hz. if no vesa available, you can fallback to standard vga 320x200x8.
5. as i mentioned earlyer, the speed of your game/game engine have (should have) nothing to do with frame buffer sync. you cant just expect it running on X fps. you must create proper fps measurement.
6. you cant expect to have any behaviours you used to get in high-level operating systems through specific drivers (like the vsync itself).
I wanted to stay at 320x200, because then I don't have to go back to real mode to do anything with the graphics. With VBE I need to change the memory banks, right ? Why is it so hard to get a stable image on a PC ? I thought I'd make my job easier by jumping from C64 to a PC haha. Also... People here (including you) say that the vsync polling wont work on emulators, yet DOS games that use the same code for vsync seem to work fine. What's different ? Does DOS do something that I don't ?
Sik wrote:
SpyderTL wrote:
The VirtualBox source code is online, and if I remember correctly, the V-SYNC bit is simply toggled back and forth between on and off every time you read the register. It definitely does not work as you would expect.
(ノ_<)
Seeing as this is a PC booter game, probably the best emulator would be actually DOSBox. Though if you want accuracy, I'd suggest looking at the
DOSBox-X fork instead, which is focused on trying to emulate obscure hardware behavior (one of the goals is to support demoscene prods, which are like 10000x more strict about this than games are).
For context: the other day they were testing mid-screen CGA video mode changes. That's probably way more than you need (・ω・;)
I said I'm making a game, but that's only half true. I actually wanted to do some oldschool demo effects, raster bars, swinging logos etc... There's this demo I'm sure you know of called 8088 Mph and it breaks all emulators, is that "mid-screen mod change" related to that ? You can easely do stuff like that on C64 or Amiga.