Obligement - L'Amiga au maximum

Jeudi 02 mai 2024 - 22:47  

Translate

Fr De Nl Nl
Es Pt It Nl


Rubriques

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

Articles in english


Réseaux sociaux

Suivez-nous sur X




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,
ALL


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


Glossaire

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


Galeries

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
Vidéos


Téléchargement

Documents
Jeux
Logiciels
Magazines
Divers


Liens

Associations
Jeux
Logiciels
Matériel
Magazines et médias
Pages personnelles
Réparateurs
Revendeurs
Scène démo
Sites de téléchargement
Divers


Partenaires

Annuaire Amiga

Amedia Computer

Relec


A Propos

A propos d'Obligement

A Propos


Contact

David Brunet

Courriel

 


Interview with Camilla Boemann
(Interview conducted by David Brunet - April 2024)


Today, we're featuring an interview with Camilla Boemann, a Danish developer who is part of the AmigaOS 68k development team and who is in the process of revitalising this mythical operating system. Thank you for all your relevant answers!

Camilla Boemann

- Hello Camilla. Can you tell our readers a bit about yourself?

Hello. My name is Camilla Boemann. I am from Denmark where I work as a software engineer. When I'm not coding I like to design and sew clothes for myself.

- When and how did you discover the Amiga?

My brother and I had a Commodore 64, and I learned to program a bit in BASIC, so when the Amiga was introduced, my mother encouraged me to get an Amiga. I'm so happy she did as it set in motion my career as software engineer.

- Which Amiga models have you owned over the years? What is your current configuration?

I originally bought an Amiga 2000 with two floppy drives, and later added a harddisk and 2 MB FastRam. It lasted until 1993 or so when it broke. For a while I was hoping for a better Amiga to come along, but eventually I gave up and started coding on Linux. Around 2017, I suddenly installed WinUAE and started coding for the Amiga again. Around that time, I also bought myself an Amiga 1000 and recently I installed a PiStorm in it. When programming I use WinUAE, with the A1000 more serving as a display piece to be turned on for special occasions.

- What are your favourite activities on the Amiga?

Without a doubt I find developing software the most interesting. I love the creativity of coding, and seeing the program come to life. Fiddling with small details to make it look and work better.

- Before you joined the AmigaOS development team, what did you do in terms of development and creation on the Amiga?

Back in the 80'ies and 90'ies I was mainly learning how to program, but I was working on both a word processor, and a flight simulator. Neither of which were finished and the code was lost when my Amiga broke.

When I returned to developing on the Amiga in 2017, I began to work on an IDE for the Amiga. I was using C++ and had made my own little toolkit that was inspired by Qt. It really required the power of WinUAE but it actually worked quite well.

- When and under what circumstances did you join the AmigaOS 3.x development team?

When Hyperion announced they had bought ReAction for 68k, I realized that I wanted to refactor my IDE to use ReAction instead of my homegrown toolkit. But I also realized that AmigaOS 3.2 was not happening anytime soon. So I contacted the AmigaOS development team and asked if I could help. In October 2019, I first accessed the code, and almost immediately started developing.

- Who are the members of the AmigaOS development team? What are their respective roles/tasks? Are you paid?

We are a about 10 developers, 20 translators and 40 betatesters. Some like me code, some write documentation, some maintain our build chain, etc. As far as designing, deciding on features, and actually developing we do it all within our little group. We are given free reign by Hyperion. But at some point, when the software is good enough, Hyperion takes over and does the actual release.

We are not paid, and that is how we explicitly want it to be. While AmigaOS is a huge success the Amiga market is not big enough to pay us more than pocket money anyway. Internally, it would also mean we would have to argue over how much we should each get paid. And we would suddenly be obliged to actually produce something. Right now, we can work all weekend, or do nothing at all for months. No one is yelling at us. We work on it when we have time and when we feel it is fun.

In many ways, this feels very much like an open source project: autonomy, no obligation, loads of fun.

- What software and hardware do you use to develop AmigaOS?

We mainly use UAE. We do not cross compile, but personally, I use a text editor on the Windows side. Mainly because when making changes to AmigaOS components, the Amiga has to reboot constantly, so it is more practical to have the editor open on the outside. The irony of me being the author of TextEdit and then not using it when coding on AmigaOS is not lost on me.

We have a build machine that rebuilds the OS every night. We also have a chat room where our chatbot "Joe Pillow" can control the build machine.

So it is SAS/C, vasm and gnumake all running within the emulator. When developing something related to hardware, the component in question is then moved to some actual hardware and tested there. Once in a while we issue alpha or beta builds for our beta testers. Currently months apart, but closer to potential release, it can be as often as a few days apart.

- Is the AmigaOS development team looking for additional developers?

Definitely, and people should contact us if they are interested (on a forum on the site developer.amigaos3.net/). However, the effort of on-boarding new developers can be huge, so we prefer people who will contribute a lot and are skilled. Also it is important for us that the current team will continue to function as smoothly as it does right now. Being able to tell jokes and discuss the future direction of AmigaOS without it becoming a fight is very important. Until now, we have been able to resolve disagreements, by everyone compromising and listening to rational arguments. We would very much like to be able to keep having such a friendly team.

- Do you plan to release AmigaOS 3.3? If so, what will be the main changes?

Oh yes, but it is 2-4 years away. We had started on some experiments even before 3.2 was released, and at the end of 2022, we started to really work on some features. But a lot of the early work was actually moved to the 3.2.2 update, and so we have less than a year worth of new stuff at the moment.

We don't really plan a list of features ahead of time. Instead, we have discussed what the overall theme is. We want to use ReAction to improve on what we have. So far this has resulted in some new and better preference editors. We are replacing HDToolBox with a new much more user friendly program. We have made a new console with a scrollbar. We have the backend for context menus. And we have sticky menus and floating menus (think MagicMenu).

We will get new ideas as we move along - at the same time we continue our eternal quest to make everything more robust and fix bugs.

AmigaOS 3.3
Preversion of AmigaOS 3.3

- Personally, what features would you like to see in future versions of AmigaOS 68k?

Well, I would like to see Workbench reworked. Both behind the scenes and also in some user facing ways, but it is a huge undertaking, so it will not be before 3.4 at the earliest if we even do it. I would also like us to experiment with partial support for UTF8, but truthfully I'm not sure it is doable. In any case, that too is a huge undertaking.

- What do you say to users of Haage & Partner's versions 3.5 and 3.9 who think that AmigaOS 3.2+ is a step backwards?

That they must have misunderstood something. Behind the scenes, 3.2 fixes so many bugs in 3.9 that everyone that uses 3.9 should install 3.2 without even thinking twice. If they like to keep the 3.9 programs, it is entirely possible to install those on top of 3.2.

- Will you integrate AmigaOS 3.5/3.9 features? (PowerPC support, TCP/IP stack, audio player, AmiDock...)

No, we have reached the end of what we will take from 3.9, but as I mentioned earlier, we are making new preferences editors (using ReAction) and a superior replacement of HDToolBox.

There will be no TCP/IP stack as it is our firm belief that Roadshow is the best TCP/IP stack out there, and it serves no purpose to bundle them together. The user would not save any money, and it would be a two-part install anyway. Also the UAE users out there would surely appreciate not having to pay 40 euros extra since UAE has built in network support.

The other programs like audio player and AmiDock are likely superseded by better alternatives today anyway, so no. We intend to focus on AmigaOS itself, and not on a lot of additional tools.

- If AmigaOS development continues, do you plan to produce versions numbered 3.5 and 3.9, at the risk of confusing users?

I think we will skip them exactly to avoid even more confusion. But it is not really something we have decided as "3.5" is maybe 12 years into the future.

- Are optimised versions of AmigaOS planned for PiStorm32 or Apollo/Vampire 68080 boards?

Thank you for asking, as I see this wish popping up so often, and I think it is a huge misunderstanding. The main reason those CPUs are faster is because they run faster. Not because you run programs optimised for them. A Ferrari doesn't run any faster if you wear a red t-shirt while sitting inside.

Two versions of a program optimised for 68000 and 680030 respectively are not two different programs. Typically, there is maybe 1% difference. The newer CPUs have a few more instructions that come in handy if you do math and a few other things, but very little of AmigaOS do that, so it is utterly pointless.

Now optimising for CPU does make sense in some cases. Some games can benefit a lot. JPEG datatype would benefit. Lha too. What these programs have in common is a lot of repetitive calculations.

- What about the legality of AmigaOS 3.2+? You're currently working for Hyperion, but would you agree to continue development under the Amiga Corporation umbrella?

So the court has ruled that Hyperion has the rights to develop and release AmigaOS. The name of the company is not that important to me, but from how I read it the ruling is quite firm.

Right now, the autonomy, and no one bossing us around is what is most attractive for us developers. I am very thankful to Hyperion and I firmly believe it is the only setup that will allow AmigaOS to live on.

I know some people really want AmigaOS open-sourced, but while I am a firm believer in open source in general, I am convinced that it will be the death of AmigaOS. The process alone will take many years and cost a lot more money than anyone can dream of. And I'm speaking only in general here, but such a process with a 40+ year old codebase requires a lot of detective work and lawyer work. The real kind that is very expensive. Anyone claiming they can open source such a huge project with a snap of the hand are dead wrong. And in the process AmigaOS will be frozen for maybe 10 years.

- Have you had any contacts or advice from former AmigaOS developers?

Yes, we have had contact to several of them, but on a friendly basis.

- Do you also use MorphOS, AROS or AmigaOS 4? What is your opinion of these operating systems?

I've never used them, and don't really care for them. For me, the definition of Amiga is 68k and the original codebase. I much better understand people who want to stay with an A500 and Kickstart 1.3 for nostalgia reasons, than I understand people into those operating systems.

I very much like all the ingenuity that is happening in the Amiga community. People making accelerators be it Vampire, PiStorm or something based on real CPUs are true heroes of the Amiga community. Other true heroes are people that make things like The Tank Mouse, various storage solutions, software, books, etc.

But there is a fine line, because nostalgia is why I'm interested in the Amiga. If you switch CPU architecture or the entire OS then it stops being interesting for me. Even with AmigaOS we need to be careful to not make too radical changes.

- Let's move on to Codecraft. Can you tell us about your software?

So, as I said earlier, I had actually worked on an IDE before, and that I joined mainly to use ReAction for my IDE. From that experience, I started to build Codecraft. The name is an homage to the early Amiga software by Commodore like Graphicraft, Textcraft, Musicraft (rebranded as Aegis Sonix). During that time, Ralf Hasemann joined the Codecraft development team which really helped a lot with structuring the development with regular coding sessions every weekend.

Codecraft
Codecraft

An IDE is an integrated development environment. Basically, a text editor where you can start the compiler for your language of choice, and see the build errors in the same window. You can then jump directly to the source code location and hopefully fix your mistake. It also has a built in source level debugger, meaning you can step through your program one source line at a time.

Codecraft builds on top of TextEdit in AmigaOS 3.2. A text editor I made as my main contribution to AmigaOS 3.2.

For that reasons, some features of Codecraft relies on new updates to AmigaOS, but all the debugger, etc., is developed on the outside as open source.

As to why I wanted to develop an IDE in the first place. Mainly because I needed a source level debugger to code a flight simulator for the Amiga. As is often the case, sub projects take away too much time, and I've not really worked on the flight simulator (yet).

- Is Codecraft going to integrate a new SDK/NDK for Amiga 68k?

The NDK always has to follow the AmigaOS. New functionality in AmigaOS will need to be reflected in an NDK. For that reason, it doesn't make much sense to bundle an NDK with Codecraft. The other way around doesn't make much sense either, as there will be new versions of Codecraft without there being a new NDK, so it doesn't make much sense to ship the NDK with a copy of Codecraft either. User would and should upgrade them separately when new versions comes out.

That said, the AmigaOS team is working on an update to the NDK and it will clarify who and how programs like Codecraft and compilers may ship with a copy of the NDK. Basically, we want to be as liberal as possible, as it is in everybody's best interest that developing for Amiga is as easy as possible.

- What new functions would you like to integrate into Codecraft?

Currently, we are working on a side project we call CodeIndex which is a program that can generate a database of all the symbols in the NDK, but also other toolkits that you choose to run it on. When you are then coding in Codecraft you can look up in this database to get automatic completion of variable names, struct members, etc. It is a common feature in modern IDEs and we hope to bring this to Codecraft too. It will likely require a fast machine.

We also want to make a profiler one day.

Darren Coles, the developer of E-VO and Rebuild, has joined the Codecraft team recently and is working on making Codecraft and E-VO much better friends.

And we want to integrate better with other compilers too like gcc and vbcc. We also want to make it possible to inspect register values and memory locations.

- Is there a question I haven't asked you that you'd like to answer?

You haven't asked about AmigaGit. Another developer and I are working on a git client for AmigaOS. It is a slow moving project, but one day we will have it working and will tell you more about it. At the moment, we can make commits in different branches. We are working on push and pull, and on merge, cherry pick, etc. But as I said, it is a slow moving project where we may not work on it for months.

You also haven't asked about the ROM Kernel Reference Manual: Changes and Additions. It is a book that I and my AmigaOS compatriot Jason are writing, aimed at describing the changes since Release 2.0.

The reason I'm involved in all of these projects is that I like to enable more developers to join in and make software for the Amiga.

- Any final words for our readers?

Thank you all for still spending time on the Amiga. Together we make the community strong and vibrant.


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


Support Obligement