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

misc: ios simulator builds, case-insensitive files, TMPDIR env var #54

Merged
merged 1 commit into from
Jun 30, 2024

Conversation

jsm174
Copy link
Contributor

@jsm174 jsm174 commented Jun 27, 2024

  1. This PR adds support for iOS simulator builds.

  2. It also updated the loading mechanism to first look for a cROM file, and if not found then look for a cRZ file.

It also adds support for case insensitive filenames on linux and iOS. (ZEDMDOS too)

For example if you wanted a cROM file on linux, and you extract a cRZ on Mac, sometimes I've seen them extract as cRom. Transferring the file over, it would never find it.

  1. Last, on ZEDMDOS, since it is BOOT is a write only partition, it adds support for TMPDIR environment var (just like on iOS). So if any platform has a TMPDIR environment var, the file will get decompressed there.

@mkalkbrenner mkalkbrenner self-requested a review June 28, 2024 05:25
Copy link
Collaborator

@mkalkbrenner mkalkbrenner left a comment

Choose a reason for hiding this comment

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

great work. @zesinger these changes are required because any other operating system except Windows uses case sensitive file systems. And serum files obviously don't use a consistent file extension, so sometimes upper and sometimes lower case.

@zesinger
Copy link
Owner

Sorry, I prefer libserum to remain pure C code. Could you remove all the "::" (like "std::string" and such) and replace them by pure C (like "char*"), please? "std::chrono::duration_caststd::chrono::milliseconds(std::chrono::system_clock::now().time_since_epoch()).count();" was accepted as this is cross platform and I had nothing to propose as an equivalent.
Thanks

@jsm174
Copy link
Contributor Author

jsm174 commented Jun 29, 2024

Sorry, I prefer libserum to remain pure C code. Could you remove all the "::" (like "std::string" and such) and replace them by pure C (like "char*"), please? "std::chrono::duration_caststd::chrono::milliseconds(std::chrono::system_clock::now().time_since_epoch()).count();" was accepted as this is cross platform and I had nothing to propose as an equivalent. Thanks

Ok. Understood. I figured the door was open for C++, as the file is named serum-decode.cpp and the use std::chrono.

I tried to make the code as simple as possible, but I'll rework the code to use C. I will somehow have to get dirent.h in for Windows builds.

@jsm174 jsm174 closed this Jun 30, 2024
@mkalkbrenner mkalkbrenner reopened this Jun 30, 2024
@mkalkbrenner mkalkbrenner merged commit 9c0a116 into zesinger:main Jun 30, 2024
16 checks 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.

3 participants