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

Merge next as master: decent hyppo, HDOS virtualization #336

Merged
merged 13 commits into from
Apr 26, 2022
Merged

Conversation

lgblgblgb
Copy link
Owner

@lgblgblgb lgblgblgb commented Apr 13, 2022

Merge next to master, including mainly the 'usage of a decent enough hyppo' project (#140) and some HDOS virtualization projects (#331) among some others needed for these kind of big tasks.

lgblgblgb and others added 13 commits March 16, 2022 14:33
Also introducing (not a complete list):

* (acme) REP file based hypervisor debugging
* HDOS call tracking
* HDOS virtualization alpha stage
* System initialization changes
* Better initial D81 mount tracking
* More sane CLI/options (eg single rom option
  to load ROM, no need extra -forcerom and other
  bizarre things)
* Reogranization some of the UI menu
* Provide new functionalities
The heart of the `hyppo` branch, that is using a new and decent enough
hyppo. Also it required many changed here and there to support the new
scheme, like using an initial ROM (open-ROMs) pre-filled the memory
along with other utilities.
SDL on OpenBSD seems to have problem with SDL_GetBasePath(). So as a
workaround I've put some code to use the absolute path from argv[0] or
the getcwd() result + relative path from argv[0] in this case.
Meanwhile, I had to realize that it needs to passing argv and argc to
xemu_pre_init() function anyway, so I can simplify some logic needed to
pass those again for the xemucfg_parse_all(). However this also means,
that I had to modify every emulators according to this API. I also put
some slight modification into MEGA65 emulator's matrix mode so things
can be queried to be able to check.

Thanks to rt.fm on Discord for testing Xemu on OpenBSD + spotting this
SDL2 bug.
* Respecting palette(16) pointer in case fgcolor is selected
Xemu allows to create brand new D81 (and then mounting it). There was a
minor difference though with the D81 created, compared to the one
created with VICE's c1541 tool: the disk-id should be stored actually at
three different places, while Xemu updated the disk image at only one
location. Though possibly it does not create any problem, let's perfect.
Now the created D81 with c1541 and Xemu (given by the same disk name and
disk id) are identical at binary level.
At this stage it's primarly useful for using closed-ROM's DLOAD"..",U12
feature, so with HDOS virtualization enabled, it's possible to load a
file outside of a D81 from BASIC65 directly.
@lgblgblgb lgblgblgb self-assigned this Apr 26, 2022
@lgblgblgb lgblgblgb added this to TODO in Xemu core Apr 26, 2022
@lgblgblgb lgblgblgb moved this from TODO to In Progress in MEGA65 emulator project Apr 26, 2022
@lgblgblgb lgblgblgb moved this from TODO to In Progress in Xemu core Apr 26, 2022
@lgblgblgb lgblgblgb changed the title Merge next as master Merge next as master: decent hyppo, HDOS virtualization Apr 26, 2022
@lgblgblgb lgblgblgb merged commit 08ed045 into master Apr 26, 2022
@lgblgblgb lgblgblgb moved this from In Progress to DONE in MEGA65 emulator project Apr 26, 2022
@lgblgblgb lgblgblgb moved this from In Progress to DONE in Xemu core Apr 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

MEGA65: hyppo HDOS virtualization MEGA65: adopt more decent hyppo
2 participants