port to other Arch?
Opened this issue · 3 comments
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
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.
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.
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.