Thread: PDOS for Amiga
View Single Post
Old 03 March 2021, 00:27   #8
Docent
Registered User
 
Join Date: Mar 2019
Location: Poland
Posts: 60
You should start from defining how you would like to run your os on Amiga.
First option is to take over the hardware and have full control of it. This means that, in order to run some of Amiga programs, you'll need to recreate a number of Amiga libraries, device drivers and generally AmigaOS structures. AmigaOS is a sort of modular micro kernel with well defined APIs, where common module types are libraries, devices and resources. In order to run even a simple AmigaOS console application (ie not using any ui elements) the minimum set of libs you'll need to provide is exec.library and dos.library plus a few devices (timer.device, console.device) and resources, but many programs require other libs and will not run without them.
To run most Amiga programs you'll at least need: exec.library, dos.library, graphics.library, layers.library, intuition.library, utility.library. You'll need also the following devices: console.device, input.device, keyboard.device, serial.device, trackdisk.device, timer.device and a number of resources like cia.resource, misc.resource, disk.resource etc. Recreating them is huge, time consuming task.

The second option is to run your os hosted ie on top of AmigaOS and provide file/memory/console emulation for your PDOS programs using AmigaOS. Later you can try to provide some sort of bridge to native Amiga libraries/devices to run native Amiga programs.
For your PDOS the second option is more real to accomplish. I'd start with porting your system to run hosted, test if any application you have source code for can be compiled and run on such system. Then try to add support for native Amiga programs.
As for the c standard library, it would be the easiest task - most of the code like string operations etc. will probably compile for Amiga as is. For file operations you will need dos.library. memory allocation - exec.library, console - console.device or graphics.library
Docent is offline  
 
Page generated in 0.05145 seconds with 11 queries