The Last Psion | Alex · @thelastpsion
384 followers · 1098 posts · Server bitbang.social

Reading through the first manual in the SDK has reminded me what the "pure small memory model" is.

The ES register is never corrupted (DS=ES=SS).

C implemented this, which was one of the main reasons why used it for the SDK.

I've heard that it's possible to implement this with C (and maybe ?), but I don't know how.

#x86 #epoc16 #retrocomputing #16bit #watcom #borland #psion #topspeed

Last updated 1 year ago

The Last Psion | Alex · @thelastpsion
383 followers · 1094 posts · Server bitbang.social

Reading through the first manual in the SDK has reminded me what the "pure small memory model" is.

The ES register is never corrupted.

C implemented this, which was one of the main reasons why used it for the SDK.

I've heard that it's possible to implement this with C (and maybe ?), but I don't know how.

#epoc16 #retrocomputing #16bit #watcom #borland #psion #topspeed

Last updated 1 year ago

GateLinker · @gatelinker
14 followers · 65 posts · Server fosstodon.org

🥰 O-M-G! I love .

It helped me to find a stupid bug in my framebuffer code that slowed down clearing images.
Coding and compiling was done with and ,
and execution in DOSBox showed immediately what failed.

We don't see such bugs on Windows or Linux with our GHz CPUs anymore.
But with good old on an emulated 386 33 MHz host it made a jump from 2 to 18 FPS after fixing.

That's true optimization nobody cares about today. before must have been real fun.

#dosbox #vscode #watcom #dos #gamedev #y2k

Last updated 1 year ago

GateLinker · @gatelinker
6 followers · 41 posts · Server fosstodon.org

And again: Grandpa knows why.

Compiling with for showed me some code-bloat in my hardcoded static C v-tables. The referenced v-table methods cannot be eliminated by the optimizer when those structures are not used.

But shifting the initialization of v-tables into separate functions
gives compilers the option to discard all unnecessary stuff.

This seems to be true for MSVC and GCC too.

However ... smaller executables are more important on DOS than on or .

#watcom #freedos #windows #linux

Last updated 2 years ago

GateLinker · @gatelinker
1 followers · 15 posts · Server fosstodon.org

When I prepared my sources for a port for some experiments with , and last year, I did not know that I also prepared a port to the APIs with .

Making threads and other system-specific stuff optional in interfaces did help a lot.

So, lesson learned: Doing something old means doing something new 😁

#c #dos #watcom #freedos #dosbox #webassembly #emscripten

Last updated 2 years ago

hollowone/oftenhide · @hollowone
32 followers · 125 posts · Server graphics.social

Milestone #1 in my xmas DOS coding exercise was to unlock 256MB RAM in my pmode program; Milestone #2, highly robust (performance) timer/counter that is capable to provide close 1193200 ticks per second as unsigned long int (32bit) value. At such frequency, maximum 32bit value equals 60mins of heavily precise timer tracking without restarting the routine to recalculate for more. Hints how to get it done here: retrocomputing.stackexchange.c that was my starting point then C and code

#watcom #assembly

Last updated 2 years ago

hollowone/oftenhide · @hollowone
21 followers · 78 posts · Server graphics.social

@unjello @badlogic comes with nice built-in debugger you can hook yourself to, indeed. Quite handy to understand things internal to the dos machine it emulates (vogons.org/viewtopic.php?t=394). Personally, I prefer to code inside it, with . Otherwise it's no different than targetting any other platform in . No nostalgic emotion, just tasks to deliver. That's why GDI and hardware accelerated blits via WinAPI won in Simulacrum over any other option to "emulate" VESA 2.0 tech stack

#dosbox #watcom #VSCode

Last updated 2 years ago