Obligement - L'Amiga au maximum

Lundi 25 octobre 2021 - 11:25  


En De Nl Nl
Es Pt It Nl


Actualité (récente)
Actualité (archive)
Matériel (tests)
Matériel (bidouilles)
Points de vue
En pratique
Tests de jeux
Tests de logiciels
Tests de compilations
Trucs et astuces
Articles divers

Articles in english


Suivez-nous sur Twitter

Liste des jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z,

Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Menu des galeries

BD d'Amiga Spécial
Caricatures Dudai
Caricatures Jet d'ail
Diagrammes de Jay Miner
Images insolites
Fin de jeux (de A à E)
Fin de Jeux (de F à O)
Fin de jeux (de P à Z)
Galerie de Mike Dafunk
Logos d'Obligement
Pubs pour matériels
Systèmes d'exploitation
Trombinoscope Alchimie 7




Sites de téléchargements
Pages Personnelles
Presse et médias
Scène démo


Annuaire Amiga

Amedia Computer


A Propos

A propos d'Obligement

A Propos


David Brunet



Interview with Jason McMullan
(Interview conducted by Olivier Tigréat - August 2010)

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.

Jason McMullan - Would you please tell us about yourself and how you became interested in computers?

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.

- And how did you become interested in AROS?

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.

- What computers do you own these days? And what do you use them for?

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.

- How would you summarize your work on AROS so far?

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
AROS Bootstrap


However, I must say that without Toni Wilen's help, assistance, and handholding, we would not have achieved the KickStart Replacement bounties so quickly. I'm more of a systems and compilers guy, but Toni knows all the ins and outs of Amiga hardware, and almost all of the strange ROM quirks of the various KickStarts and peripherial ROMs.

- You've started to implement your light replacement for WorkBench, called Workbook (as Wanderer is too big to be used in basic 68k offers). And by the way now Mazze is porting Scalos... What are your thoughts about the situation on this front, and what are your plans for 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.

- If I understood correctly, you are currently also working on SATA drives, and especially on their hotplug ability... Can you tell us more about it?

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.

- Those modern drives will need modern file systems. In your opinion, can SFS (and PFS which was recently open-sourced and ported) be improved enough to handle nowadays' needs?

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.

- Especially on the side of the partition size which is still limited to few hundreds of GB.

I'm not aware of the specific details of the SFS and PFS implementations, so I can't really comment on that.

- MorphOS just got a sort of a "FUSE.library"... And what about the dos.library? Will it be easy to improve it to handle real big files, such as a complete ISO image of a whole DVD? You have made a huge work on switching AROS to the use of dos-packets: will it be of any use on this topic?

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.

- Could you tell us about your other plans for AROS in the future?
  • More hardware support. I am working on getting an A4000 system up with a Mediator PCI, so that I can extend expansion.library on AROS with PCI bus functionality, and support some more common PCI devices.
  • A amiga-m68k install set, which would consist of an ADF and a CDROM image, that can be used to boot and run AROS on any supported Amiga with Kickstart 1.3 or better.
  • Reducing the AROS m68k RAM memory footprint, to be able to support machines with 2MB of total RAM or less.
  • Reducing the AROS m68k ROM memory footprint. An "AROS Lite" ROM should be possible, with a OCS/ECS/AGA specific graphics.library and input.library, that could fit into a 512K ROM.
- What do you think about other architectures for AROS, can it grow on them, and is ARM-port interesting?

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!).

- What is your opinion about bounties? Are they mandatory to boost the development?

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!

- What are your thoughts about the history of AROS? Things have considerably evolved since some years, but do you like the (historical) AROS moto: "No Schedule And Rocking"?

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.

- Is AROS a nice place to have fun for a programmer?

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.

- I have the feeling (but may be wrong...) that the dev-ml is only the emerged part of the iceberg, about your relations with some other devs (especially Toni Wilen, but also Pavel Fedin or Staf Verhaegen for example): right? If so, could you tell us more about those co-operations?

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.).

- Do you use AROS yourself? If not so, do you plan to at some point?

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.

- What would you like to see improved in AROS?

Compatibility with AmigaOS 1.3 - AmigaOS 3.9 on the m68k architecture. That's all I really care about.

- Anything you would like to say?

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.

- Which are?

Some of the AmigaOS advantages I like are things like:
  • No system call overhead.
  • Message passing by reference (instead of copying the entire messagepacket via a pipe or FIFO).
  • User-level interrupt handlers.
But these advantages are solely possible by the biggest disadvantage of AmigaOS and AmigaOS derived operating systems - minimal to nonexistent memory protection, and a single-CPU architecture. Pavel Fedin is working on better MMU and SMP support for AROS, and I wish him the best of luck. The underlying AmigaOS architecture makethis a very interesting problem.

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.

[Back to the top] / [Back to the articles' menu]