Technologies: AROS: Closing the loop
What is this? Read and see....
After at least three failed attempts (Evilrich and then Tigger, disappeared almost immediately,
Greg 'bheron' Casamento
- that had a good amount of bad luck and, very shortly,
Gary 'Gaz' Pearman
), finally the Kickstart integration bounty started to deliver results and code.
The latest person to get the task is called Jason McMullan; this time he started to submit patches for 68k ROM in the developers mailing list around the begin of october. In october 6, deadwood asked him what he was working on, and he answered:
Frankly, I'm attempting KickStart Replacement Bounty I and II.
I'm working on porting AROS to the Commodore Amiga 1200, specifically
the UAE emulation. I also have a real A1200 I would like to get
this running on, but I'll need a flash burner for that.
I have a ROM image building with stock ELF binutils 2.20 and gcc 4.5.1,
with (I think) the correct register based ABI for libcalls. Total
ROM size is currently ~430K, so I should have plenty of space for the
Amiga AGA/OCS/ECS HIDDs and whatever other device drivers I need to write.
My short term goal is to get all the 'support' patches into the mainline
first, then bring in the m68k-amiga specific code, so that I have a
working build when I check in the m68k-amiga support.
I plan to complete this goal withing the next few weeks, depending on
how badly my changes clash with the existing architectures. I have
tried to be clean with this, but accidents happen.
My medium term goal is to boot an AROS Workbench disk, and have all
the AROS/C applications work on A1200 on UAE.
I hope to complete *that* goal by December 31, 2010.
( No HUNK support, it's all ELF right now, but HUNK backwards compatibility
should be doable in the future.)
My long term goal is to be able to boot a Amiga WorkBench 3.1 disk, and
have all the Amiga HUNK apps work. This would allow AROS-m68k-amiga to
fully operate as a KickStart replacement ROM.
Jason did not simply applied for the bounty: he worked on a proof of concept achieving, thanks to the latest UAE developments that finally allowed amiga UNIX buiilds to run, the build of a debian image to be used for compiling AROS on 68k. From this point he begun to submit a big amount of patches for getting the AROS 68k version back on track using GCC 4.5.0.
Its plan is to first be able to compile AROS then, slowly, replace in ROM images original amiga libraries with AROS ones in order to obtain a bootable AROS rom; furthermore Jason thinks to include, together with AROS ELF file format, also Amiga Hunk format in order to obtain the binary compatibility with Amiga software.
Lately Jason is no more alone in working in the bounty, even Toni Wilen, one of the WinUAE team coders, started to work on the bounty helping Jason in setting up the rom, especially taking care of the amiga-only hardware device drivers; he announced its intention to help Jason in this letter in the developer mailing list on October 21st:
Hello, it is WinUAE guy here. I think it is time to finally post something
here now that m68k build is really happening (great job!)
Sooner or later I am going to start working with 68k rom, mainly for (game)
emulation use, including add/fix missing Amiga specific drivers (I know
Amiga custom hardware inside out and also how drivers work) Unless someone
else have already started writing boring driver code..
I can help with low level drivers like Amiga floppy hardware driver, display
(+copper/blitter), CIA+keyboard, mouse etc.. anything that is close to
hardware and needed to boot not-too-badly programmed disk based games
without need for original rom. Of course many really old games will never
work without some kind of KS1.3 "compatibility" mode but that isn't
important now, perhaps someday..
Any list(s) of missing/not yet working 68k specific device drivers?
I think there are 2 phases:
Phase 1: support programs that have custom bootblock, possibly loads few
more tracks using trackdisk.device and then the rest uses hardware banging
Phase 2: support programs that boot to CLI, uses startup-sequence.
btw, I don't care about the bounty (or about "new" Amigas), I "only" want to
finally have (win)uae with built-in legal more or less "retro-compatible"
Before to go on, is better to remind: Why the Kickstart integration phase 1 and 2 are so important?
The integration bounty are important for a good serie of reasons: first of all, once the AROS 68k port will be completed, it also will include binary compatibility with the HUNK file format, and most of the existing amiga applications written according to the Amiga OS guidelines will work directly on AROS: that means is possible to use AROS in place of the original Amiga OS; unlike the original Amiga OS 3.x, AROS is actively developed and therefore there is the advantage of having new features and patches;
second, AROS is open source and free of charge, and a 68k version b inary compatible with Amiga programs will come out handy for all those alternate and homebrew projects that require Amiga OS compatibility without the need of an official Amiga ROM, names as
, UAE/WinUAE.J-UAE, Minimig and the FPGA Toaster-on-a-chip comes to mind;
third but not less important, the existence of an Amiga version of AROS has an emotional factor, binding to the original Amiga Replacement OS project of AAron Digulla - sort of the return home (Amiga Hardware) of the Prodigal Son (AROS) and will add even more legitimacy to the project form those people that so far were against AROS for the fact that does not run on Amiga Hardware; potentially can also add for some more developers that might decide in contribute for improve the compatibility and the performance, just as Tony Wilen did.
Today November second, Jason communicated another significant progress:
I have successfully loaded my first disk block using Frankenrom with KS 3.0!
With Toni's help, I realized that I needed to enable DMA (DUH!) early on after IRQs have been enabled, and KS 3.0 + AROS
ec will now get to the point where it *sucessfully* loads the first disk block.
However, the screen is still black. Is any of this debugging useful? (I disabled alert.hook and
ec/SetFunction() Just In Case, but no change in behaviour)
And today even better:
KS 3.0: Getting there!
ec will now get to the boot screen!
I need to make a disk with *just* the Install boot block now.
and the result is the boot image seen above; it is just AROS
ec and the rest is Amiga routines but is a significant step forward!
Jason recommmended Tony Wilen for the assignment of the Phase 2 of the bounty since he has more experience in the Amiga OS hardware internals and is able to code effectively drivers. The outcome of this bounty are keeping mu attention level high nd am really excited to see the progresses!
Pubblicato il 2/11/2010 alle 6.53 nella rubrica diario.