Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove support for MS-DOS #358

Draft
wants to merge 15 commits into
base: master
Choose a base branch
from
Draft

Remove support for MS-DOS #358

wants to merge 15 commits into from

Conversation

nbriggs
Copy link
Collaborator

@nbriggs nbriggs commented Feb 16, 2021

This is the first cut at removing support for MS-DOS as I don't think we're ever going to build there again

  • remove (with "unifdef") all code depending on symbol DOS
  • remove all .c and .h files only relevant to DOS
  • remove these from CMake and traditional build
  • remove the DOS makefile
  • cleanup a few leftover defined(DOS) in logical expressions and fix endif comments
  • remove a couple of assembler modules for DOS only

@nbriggs nbriggs marked this pull request as ready for review February 16, 2021 03:14
@waywardmonkeys
Copy link
Contributor

One thing that stopped me from doing this before was that I wasn’t sure if some of the code for handling drives in oaths might be useful for Windows ... thoughts?

@nbriggs
Copy link
Collaborator Author

nbriggs commented Feb 16, 2021

Yeah, you have a point there. I wish we could dispense with drive letters, though. Some of the ugliest code is in there.

@nbriggs
Copy link
Collaborator Author

nbriggs commented Feb 16, 2021

I'll take a shot at revising this to not strip out the file system related code.
I'm not sure what you envision on the input side if your new display code is implemented -- even if it's an X-like input there'll be a whole lot of specific code to deal with a Windows (rather than DOS) keyboard/mouse input.

@waywardmonkeys
Copy link
Contributor

For my display work, I'm using Sokol (https://github.com/floooh/sokol). Specifically, I am using sokol_gfx.h and parts of sokol_app.h (unless I can rework some other things and then I can use it directly).

This lets us run the same code on Unix, macOS, Windows, Web, and more.

I don't worry a lot about the existing code for handling keyboard and mouse input. :)

@masinter
Copy link
Member

My thoughts have involved a URL-based file system, and handling drive letters the way whatwg/url does.

@nbriggs
Copy link
Collaborator Author

nbriggs commented Feb 16, 2021

Cool. Using the sokol_app "event-based keyboard, mouse and touch input" I guess. It looks as though it will have issues of similar complexity to the way the X input events needed to be handled.

Copy link
Member

@masinter masinter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

line 61 of (new) src/ether.c has #endif /* DOS */ but the ifdef remover removed the wrong one: #endif /* MAIKO_ENABLE_INTERNET */

Copy link
Member

@masinter masinter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this might gate some other work

@nbriggs
Copy link
Collaborator Author

nbriggs commented Mar 29, 2021

@masinter -- I'll fix the endif problem. I'm probably going to revise this substantially because Bruce asked that the file-system code handling drive letters be left for when/if he has a native Windows port. It also has conflicting commits with the current master so I'll be needing to rebase and cleanup before merging.

@nbriggs nbriggs marked this pull request as draft May 22, 2024 05:08
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.

3 participants