so i think i know my plan of attack.
-
RE: https://mastodon.gamedev.place/@eniko/116020452637946127
so i think i know my plan of attack. i'm gonna use mode 13h, 320x200 8bpp
then im gonna tweak the VGA registers to line double so that it displays 320x100 out of 320x200 virtual space
that means i can draw in one half and "page flip" to the other using the scroll register
and qbasic's draw commands still work since it just draws into the 320x200 virtual screen
then i horizontally pixel double graphics by repeating each 8bpp pixel into 16bpp for effectively 160x100 double buffered VGA
-
RE: https://mastodon.gamedev.place/@eniko/116020452637946127
so i think i know my plan of attack. i'm gonna use mode 13h, 320x200 8bpp
then im gonna tweak the VGA registers to line double so that it displays 320x100 out of 320x200 virtual space
that means i can draw in one half and "page flip" to the other using the scroll register
and qbasic's draw commands still work since it just draws into the 320x200 virtual screen
then i horizontally pixel double graphics by repeating each 8bpp pixel into 16bpp for effectively 160x100 double buffered VGA
this means i can PUT tiles to screen which at the lowered resolution should be fast enough, and i don't have to copy anything for the double buffering, so i should be able to redraw the entire screen every time
which means i can achieve what i want without even a single bit of CALL ABSOLUTE assembly
-
this means i can PUT tiles to screen which at the lowered resolution should be fast enough, and i don't have to copy anything for the double buffering, so i should be able to redraw the entire screen every time
which means i can achieve what i want without even a single bit of CALL ABSOLUTE assembly
now i gotta decide if i wanna do this inside the qbasic IDE for retro charm or if im just gonna use notepad++ on my workstation with a dosbox launcher
-
now i gotta decide if i wanna do this inside the qbasic IDE for retro charm or if im just gonna use notepad++ on my workstation with a dosbox launcher
@eniko did you hear about notepad++ getting hacked by chinese spies to spy on everyone using it?
-
@eniko did you hear about notepad++ getting hacked by chinese spies to spy on everyone using it?
@bri7 yeah i did
-
@bri7 yeah i did
@eniko well as long as you’re taking all precautions i’d advise against forcing yourself to use qbasic ide- as much as that would make cross platform running in dosbox easier
-
@eniko well as long as you’re taking all precautions i’d advise against forcing yourself to use qbasic ide- as much as that would make cross platform running in dosbox easier
@bri7 but... its a nostalgia trip? >_>
-
@bri7 but... its a nostalgia trip? >_>
@eniko nostalgia is best when it’s how i remember it being, not how it actually was with its aged like milk UI choices.
And programming a new qbasic ide might be a bit much to take on up front
-
now i gotta decide if i wanna do this inside the qbasic IDE for retro charm or if im just gonna use notepad++ on my workstation with a dosbox launcher
eyyy its fuckin' working!
-
eyyy its fuckin' working!
@eniko page to page communication
-
eyyy its fuckin' working!
sadly i cannot use PRINT for text because it only works in 8 pixel rows and columns and wouldn't you know it: 100 is not cleanly divisible by 8
which means i can't ever align the text the same vertically on both pages
-
undefined oblomov@sociale.network shared this topic on
-
sadly i cannot use PRINT for text because it only works in 8 pixel rows and columns and wouldn't you know it: 100 is not cleanly divisible by 8
which means i can't ever align the text the same vertically on both pages
im filling the screen with tiles using PUT and then page flipping as fast as i can. i know dosbox isn't that accurate, but i set the cpu type to 386 and set cycles to 6000 which the conf file suggests is 386-ish (i found somewhere else that said 7800 is better so if anything its running slow)
and it's running at 52 fps :D
-
im filling the screen with tiles using PUT and then page flipping as fast as i can. i know dosbox isn't that accurate, but i set the cpu type to 386 and set cycles to 6000 which the conf file suggests is 386-ish (i found somewhere else that said 7800 is better so if anything its running slow)
and it's running at 52 fps :D
@eniko Wow, this sure brings back memories. QBasic...
-
im filling the screen with tiles using PUT and then page flipping as fast as i can. i know dosbox isn't that accurate, but i set the cpu type to 386 and set cycles to 6000 which the conf file suggests is 386-ish (i found somewhere else that said 7800 is better so if anything its running slow)
and it's running at 52 fps :D
@eniko huh, TIL. I just knew that 23880 is "about 486 dx2/66" speed
-
@eniko huh, TIL. I just knew that 23880 is "about 486 dx2/66" speed
@devlin i dunno, i found this https://www.dosbox.com/wiki/Performance which says 26800
and the dosbox staging conf file suggests 25000
-
@tonyg hmm yeah that's a possibility. but none of the qbasic drawing functions would work on that last 4 lines, so that's kind of a problem
i suppose i could cut those lines and go with 160x96 instead of 160x100?
-
@eniko Wow, this sure brings back memories. QBasic...
@Craigp its a lot of fun working around the limitations :D especially since i'm not using the faster compiled one and i refuse to use assembly tricks
-
im filling the screen with tiles using PUT and then page flipping as fast as i can. i know dosbox isn't that accurate, but i set the cpu type to 386 and set cycles to 6000 which the conf file suggests is 386-ish (i found somewhere else that said 7800 is better so if anything its running slow)
and it's running at 52 fps :D
@eniko It's very approximate, but 6000 would be apx a 386 at almost 33MHz. So yeah, it's a 386, but a pretty fast one.
Well, most basic was originally meant to run on crazy low stuff like an 8088, so if you're emulating a decent system it's going to go pretty well I guess.
-
im filling the screen with tiles using PUT and then page flipping as fast as i can. i know dosbox isn't that accurate, but i set the cpu type to 386 and set cycles to 6000 which the conf file suggests is 386-ish (i found somewhere else that said 7800 is better so if anything its running slow)
and it's running at 52 fps :D
notched it up to 486 33mhz and added a vblank wait and now its rocking a steady 70fps 💪
-
@tonyg hmm yeah that's a possibility. but none of the qbasic drawing functions would work on that last 4 lines, so that's kind of a problem
i suppose i could cut those lines and go with 160x96 instead of 160x100?
@eniko Oh, I see. Yeah, on the second page. That's a shame!