Thread: PDOS for Amiga
View Single Post
Old 04 March 2021, 10:16   #35
Bruce Abbott
Registered User
 
Bruce Abbott's Avatar
 
Join Date: Mar 2018
Location: Hastings, New Zealand
Posts: 2,698
Quote:
Originally Posted by kerravon View Post
Ok, based on all of this, I have a new proposal.

How about first step is write a 32-bit IBM PC-like BIOS to enable porting of IBM PC operating systems?
Yes.

Quote:
So Kickstart would be replaced by this BIOS. ie the BIOS would be loaded by the Amiga 1000, and install some interrupt vectors, not necessarily interrupt 0x10, and then wait for the OS disk to be inserted. The OS could be PDOS or Linux or FreeBSD, whatever. (Assuming they used the non-existent 32-bit BIOS, which they probably don't, but PDOS/386 basically does).
Yes, you could do that. On the A1000 it would be loaded into the WCS (Writeable Control Store) from floppy disk. On other machines it could be loaded into RAM or burned into a ROM.

Quote:
Actually I would be happy if BosWrite() even did graphics conversion instead of writing to the serial port. So long as it is in the BIOS code, not the OS code. If the hardware hasn't provided text capabilities, then the BIOS should be the thing that compensates for the hardware, it shouldn't be left to the OS to do. That's my current thinking, anyway. That's what "feels right" to me. The BIOS should be providing this hardware separation layer.
Yes, that could be done.

Quote:
Having proposed this, ie a deviation from Commodore Kickstart, does this buy me anything:

https://en.wikipedia.org/wiki/AROS_R...erating_System

A workable AmigaOS Kickstart clone for the Motorola 68000 processor was released on March 31, 2011 as part of a programming bounty.
Not much. Being a clone of Amiga OS it has a lot of stuff in it that doesn't apply to you.

Quote:
Perhaps this alternate kickstart can be hacked into an actual BIOS? It may even contain character to graphics conversion capability already?
Yes, but using it would be a lot more work than writing code from scratch specifically for your application. You just have to understand how the hardware works in sufficient depth to get the stuff you need going.

The IBM PC BIOS was written in assembler. I suggest you do the same for your BIOS, then you can make use of code from games that take over the system (which are almost always written in pure assembly language). This BIOS could also be used in other 68k based machines, including DIY computers - something I have been thinking of doing myself.

You might be interested in a program for the Amiga called 'The Transformer' - a PC emulator that was launched with the A1000 - which does something quite similar to what you propose. It has all the standard PC BIOS functions (including reading and writing 720k FAT format disks), plus an x86 CPU emulator to run PC code. When the program is run it takes over the entire machine, installs its own interrupt vectors and controls the hardware directly, including character based screen output.

Unfortunately the source code to the Transformer seems to have been lost, however I have disassembled the exe and am working on making it compatible with higher spec Amigas. If this is successful then I will split off the x86 emulator part to make a standalone BIOS that could be used on an Amiga or other 68k hardware.
Bruce Abbott is offline  
 
Page generated in 0.06290 seconds with 11 queries