thelastpsion, to retrogaming
@thelastpsion@bitbang.social avatar

Just tried compiling Wari, a game written in OO C. The project uses Make 3.6.

Got it to compile first time with my SIBO SDK setup - all good!

However... Borland Make uses 16-bit DPMI, and its extender won't load 32-bit DPMI binaries. If I pre-load the 32-bit extender, it won't load 16-bit DPMI binaries, so Make won't run!

TL;DR: I can't use the new with Borland Make 3.6.

Looks like I'll be converting that Makefile to GNU Make or a project.

thelastpsion, to retrocomputing
@thelastpsion@bitbang.social avatar

Looking through some C code, I've seen CDECL a few times. Being a noob, I didn't know what they were or why they were there.

So, looking at Wikipedia...

is a "caller clean-up" calling convention using the stack. This is pretty common in the x86 world, but is explicitly mentioned in Psion code. Why?

C uses its own "callee clean-up" calling convention, using registers for the first 4 int parameters, which really likes.

https://en.wikipedia.org/wiki/X86_calling_conventions

TopSpeed / Clarion / JPI The first four integer parameters are passed in registers eax, ebx, ecx and edx. Floating point parameters are passed on the floating point stack – registers st0, st1, st2, st3, st4, st5 and st6. Structure parameters are always passed on the stack. Additional parameters are passed on the stack after registers are exhausted. Integer values are returned in eax, pointers in edx and floating point types in st0.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • megavids
  • khanakhh
  • mdbf
  • ethstaker
  • magazineikmin
  • cubers
  • rosin
  • thenastyranch
  • Youngstown
  • InstantRegret
  • slotface
  • osvaldo12
  • kavyap
  • DreamBathrooms
  • JUstTest
  • Durango
  • everett
  • tacticalgear
  • modclub
  • normalnudes
  • ngwrru68w68
  • cisconetworking
  • tester
  • GTA5RPClips
  • Leos
  • anitta
  • provamag3
  • lostlight
  • All magazines