|
|||||||||||||||||||||||||||||||||||||||||||
|
Here an interview with Jason McMullan, an american developper who works since some times on the improvement of AROS, specially in the 68k port front. ![]() ![]() I live in the United States, and was born in 1974. At an early age, I became interested in electronic, and after I found analog and digital electronics too difficult for my 8 year old brain to handle, I became interested in computer programming. Although most schools at the time used the Apple IIe computer, my first computer was a TI 99/4A (due to Texas Instruments dumping them onto the market at $50 per machine!). From there, it was a rapid progression to the IBM PC models (via the Tandy 1000EX) and the BBS scene, DOS x86 assembly, C, Pascal, and then to a boarding school (with a VAX 11/780), and college (Carnegie Mellon University), where I was exposed to functional languages, Linux, and all sort of other interesting things. From there, I've primarily been an Embedded Systems Engineer, working on device drivers and low level operating system interfaces, primary using Linux as my daily operating system of choice. ![]() A few years ago, I got the computer I always wanted as a kid - an Amiga 1000. In the process of trying to maximize its functionality last year, I wanted to be able to use Linux to cross-compile programs to run on my A1000. So I found AROS, which had all the sources I need, but no m68k-amiga port. So I took up the challenge, and started work on it. ![]() For AROS, I have an AMD beige box for development (running Linux, of course), an Amiga 1000, Amiga 2000, Amiga 1200, and (most) of the parts for an Amiga 4000. Laying around I also have a DEC VT101, Apple Mac Quadra (68k), PowerComputing PowerPC Mac clone, Apple iMac (green CRT model), various IBM PC pieces and parts. ![]() I've primarily been involved in the amiga-m68k port, but have dabbled in lots of the common code in AROS, including the lightweight Workbench replacement (Workbook), the DOS Packets work (initial BCPL support, and the ABI IoFS->DOS Packets conversion), boot sequence work, work on reducing the AROS memory footprint... Wherever I have an itch, I scratch it. ![]() AROS Bootstrap ![]() Workbook ![]() Workbook will stay as a minimal in-ROM Workbench replacement (needed for AmigaOS Workbench floppies and some games), but I don't plan on adding too many features at the moment. Scalos will be a fine 'fuller featured' Workbench for Amiga m68k, and I expect Wanderer to remain as the 'fullest featured' Workbench, unless Scalos surpasses it. All three currently have their own niche in the AROS ecosystem, but I do expect that users will settle on either Wanderer or Scalos as the 'preferred' Workbench in the next few years. ![]() I am working on AHCI SATA support, and to do so I have needed to add some infrastructure to AROS to support that. The first major change was to more fully support ejectable media in the AROS boot sequence, and that was recently completed, and checked in. Pavel Fedin has been instrumental in removing the last few bugs in the code on the x86_64 and i386 platforms. The next change, which I hope to push before the end of August, is a set of routines which help device drivers monitor and manage RDB filesystems, including automatically dismounting filesystems when ejected. It's functionally complete, and is on a branch in my gitorious.org GIT repo, but I'm not quite happy with its API quite yet. I'm currently looking at the MorphOS mount.library API to get some inspiration. After that, I'll push the AHCI driver (which is skeletal at the moment, awaiting these previous changes). I expect that it should be fully debugged by mid September. ![]() Yes, SFS and PFS should be sufficient. SFS has a problem with dismounting on partitioned removable media (part of the changes I'm working on at the moment), but other than that both of these should be fine for the near future. ![]() I'm not aware of the specific details of the SFS and PFS implementations, so I can't really comment on that. ![]() The AROS DOS Packets implementation is being tested on x86_64 (64-bit) architectures as it's being developed, and we are removing 32-bit restrictions as we find them. Although accessing files larger than 4GB will probably not be supported on 32-bit AROS, due to the substantial API changes that would be involved, 64-bit AROS should end up with 64-bit safe file access by the end of the ABIv1 update cycle. ![]()
![]() I think the ARM and other architectures could be viable ports, **IF** people open-source their AROS applications. Asking each AROS developer (especially the single developer shops) to make and test builds for x86, x86_64, m68k, PowerPC, and ARM is a large burden for them. I feel that the biggest successes of Linux is due to the application developer philosophy. If someone wants a port, they can just recompile your sources (And hopefully contribute theirchanges back to you!). ![]() I don't feel that bounties are mandatory, but they do obviously help. I know that I wouldn't have worked so hard on the initial m68k portwithout the Kickstart I bounty! ![]() I completely ignore the history of AROS. I try to keep politics out of my development. I have no grudge against MorphOS or AmigaOS 4, nor any fanatic fever that AROS is the best. AROS just happens to have been the one that let me see its source code, so it's the one I develop on. It's that simple. ![]() In general, yes. Although the time zone difference (I am in GMT-5) means that I am often wake up to some surprising commits in the morning. But in general, everyone is pretty friendly. And while, like any development team, we occasionally have some mailing list arguments, I think that we can usually 'agree to disagree' instead of getting angry with each other. ![]() Pavel finds Skype to be a better communication medium for his style, so I usually confer with him in my morning/his evening about AROS development details. Toni Wilen and I often exchange emails about m68k and Amiga specific questions that the list may not be interested in (things like BCPL emulation quirks, UAE/WinUAE differences, etc.). ![]() Nope. I'm a Linux guy. Although I find developing for AROS to be a fun recreational programming exercise, I feel more comfortable in a POSIX/Unix environment. ![]() Compatibility with AmigaOS 1.3 - AmigaOS 3.9 on the m68k architecture. That's all I really care about. ![]() Although it can be argued that I am not the most ardent AROS supporter, nor plan on using it personally, I really enjoy working on it - it suits my 'embedded systems' mindset. It's an interesting puzzle box, one that I hope I never finish unlocking. I've learned a lot about the 'Library OS' concept (which, oddly enough, Microsoft seems to be developing an interest in lately with MinWin), and some of the advantages and disadvantages of the APIs that AmigaOS developed. ![]() Some of the AmigaOS advantages I like are things like:
Not to mention learning m68k assembly, which I had not been exposed to before last fall (2010). Also, I would like to say that MorphOS and AmigaOS could benefit from opening up their source code - people such as myself are often looking for an interesting challenge to their programming skills, and releasing some of their kernel and library sources could help develop more interest (and ports to other hardware!) of their systems.
|