Skip to content

djgpp-platform 0.1.0: the i586-dos-djgpp row, DJGPP's GCC, DOSBox Staging through dirun - #1

Merged
Sunrisepeak merged 3 commits into
mainfrom
feat/0.1.0
Nov 14, 2026
Merged

Sunrisepeak merged 3 commits into
mainfrom
feat/0.1.0

Conversation

@Sunrisepeak

@Sunrisepeak Sunrisepeak commented Nov 13, 2026 •

Copy link
Copy Markdown
Member

Summary

The first release of the platform package for 32-bit DOS programs built by DJGPP (mcpp SPEC-013).

  • The row i586-dos-djgpp is data in [[platform.define]]:
    • COFF objects, .exe, an ILP32 data model and the execution system dos;
    • its GCC is named by the row's GCC target i586-pc-msdosdjgpp, whose payload is the xim package i586-pc-msdosdjgpp-gcc 12.2.0.
  • The runner is dirun's payload form with the DOSBox Staging package's profile. The profile places the program and CWSDPMI in the directory DOSBox mounts as C:, and the program's output and status are read back from the files a launcher writes.
  • examples/hello (C) checks its arguments and a file written and read back, then returns 42. CI builds it, checks that it is a go32 executable, and runs it through mcpp run.

C only: mcpp compiles C++ as modules, which needs a GCC with dependency scanning (14 and later). DJGPP's GCC is 12.2.0.

Dependencies

Verification (local)

mcpp run --target i586-dos-djgpp -- one two printed the arguments and the file check, and returned 42. It ran under DOSBox Staging 0.83.0 through dirun, with packages installed in an isolated xlings home.

…ging through dirun

The row is data: COFF objects, .exe, a 32-bit data model and the execution
system dos, its GCC named by the row's GCC target i586-pc-msdosdjgpp. The
runner is dirun's payload form with DOSBox Staging's profile. examples/hello
checks its arguments and a file round trip and returns 42; CI builds and runs
it on Linux x86_64.
@Sunrisepeak
Sunrisepeak marked this pull request as ready for review November 14, 2026 20:17
@Sunrisepeak
Sunrisepeak merged commit b559642 into main Nov 14, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant