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

port to other Arch? #105

Open
juanpc2018 opened this issue May 29, 2023 · 3 comments
Open

port to other Arch? #105

juanpc2018 opened this issue May 29, 2023 · 3 comments

Comments

@juanpc2018
Copy link

juanpc2018 commented May 29, 2023

have the project considered port to other architecture?

Motorola 68K 010, 020, 030, 040, 060, 080
big.endian,
Amiga500-2000,3k,4k, AtariST, Apple McIntosh
https://youtu.be/oyR-2HlAkv4?t=448 "pc-speed"
https://www.youtube.com/results?search_query=amiga+ms-dos
https://www.youtube.com/hashtag/doscember
https://www.youtube.com/hashtag/doscember2021

FPGA
https://www.minimig.ca/
https://lotharek.pl/productdetail.php?id=45
https://www.shop.apollo-computer.com/products/apollo-firebird-v4
https://www.shop.apollo-computer.com/products/real-time-clock-module-ds3231
PiStorm32 "Pi4 M68K emulation"

Armv8 ?
Pi4
Odroid N2+

PowerPC 970? "5+" Altivec
PowerMac G5 2003-2005
G4
G3

PowerPC 9 ?
https://www.raptorcs.com/content/base/products.html

PPC 5
SAM460 https://shop.acube-systems.biz/sam-motherboards/124-sam460.html
Amiga X5000 A-EON

@lss4
Copy link

lss4 commented Feb 26, 2024

Sorry for a late bump of this question.

I think DOS depends on a lot of APIs provided by x86 BIOS so you'll need to adapt those API uses on the target CPU architecture you intend to port.

Not to mention some of the code are written in x86 assembly, that you pretty much need to rewrite them using the assembly of your target CPU architecture, or if possible, reimplement most if not all of them in C.

For modern CPU targets like ARMv8, however, I think the first thing needs to be done is making generic UEFI booting possible, as these architectures also have UEFI support and it's already being used on some boards.

@juanpc2018
Copy link
Author

juanpc2018 commented Feb 26, 2024

U-Boot
is the most popular Bootloader,
used in Pi5 Proxmox, Amiga X5000 PowerPC Fienix, etc...

it would also require to use QEMU* to emulate x86 in other CPU's.
the P550 Pro could be very interesting...
other interesting for ARMv8 are the NVIDIA Orin AGX IGX
VisionFive 2 RISC-V
FPGA Cores 80186 for MIST, MISTer, etc...
Pi5, Pi4,...

Step #1. Convert everything to C
Step #2. Change Bootloader.
Step #3. Add QEMU

can also be done backwards...
Step #1. Add QEMU
Step #2. Add HW emulation PCem, 86Box

*Wine is API call to POSIX translator, it wont work.
but there are very insteresting HW x86 emulations: PCem, 86Box, etc...

FPGA systems are more flexible & desired,
can emulate all Retro Gaming setups,
but are limited by Speed / Price., FPGA M68K 040 or 080 vs.
PiStorm32 Pi4 Bare Metal Emulation of Motorola 68k CPU is much faster Dhrystones.

MIST is Cyclone3 "The Cheapest", MISTer is Terasic DE10-nano Cyclone-V,
minimig comes with Original M68k CPU, but can be upgraded.

The prefered Cross Platform Benchmarks are usually Doom, Quake 1,2,3,4 or Dhrystones
Atari Falcon060, sgi IRIX Tezro, Amiga, PowerMac G5, X5000, minimig, Vampire4+, PiStorm32, etc...

P.D.
i think this should be moved to Discussions Tab.

@lss4
Copy link

lss4 commented Feb 27, 2024

it would also require to use QEMU* to emulate x86 in other CPU's.

Step #1. Convert everything to C Step #2. Change Bootloader. Step #3. Add QEMU

can also be done backwards... Step #1. Add QEMU Step #2. Add HW emulation PCem, 86Box

*Wine is API call to POSIX translator, it wont work. but there are very insteresting HW x86 emulations: PCem, 86Box, etc...

... That won't be "porting" anymore as you're basically emulating x86 on other architectures. For DOS-related stuffs on modern CPU architectures, DOSBox ports could already achieve what you want.

IMO by porting it's to be able to compile and boot the DOS kernel natively on the CPU architecture of choice. However, this is only to get the kernel itself to run. To run your favorite DOS programs natively on another architecture would be a different story.

On the other hand, there's also this PDOS (Public Domain Operating System) project aiming at making some kind of DOS-like environment hopefully across different CPU architectures.

P.D. i think this should be moved to Discussions Tab.

I think so, though don't expect this to happen soon, as it won't be an easy task.

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

No branches or pull requests

2 participants