Author Archives: Steven Solie - Page 2

Preparing for AmiWest 2013

blog_devAmigaOS fans may have noticed an abundance of updates appearing lately. There is also an updated SDK should be appearing soon as well.

One of the reasons for all this activity is AmiWest 2013. The show itself is October 19 and 20. There is also a “Classic Clinic” on the Friday night before the show where Amiga technicians will be available to help get your Amigas up and running again. AmiWest is also featuring a programming conference from October 16 to 18. The plan is to continue where we left off at AmiWest 2012 and focus on building useful applications with a GUI. It is the programming conference which is driving the bulk of the updates. We want everyone to be at the same API level and have all the latest updates so we don’t waste any time on working around any fixed bugs (for example).

Many AmigaOS core developers and beta testers will be attending AmiWest 2013. This is your chance to chat face to face with the experts that are building and maintaining the genuine Amiga Operating System. Hyperion Entertainment is also sponsoring the show and will have a table setup with various AmigaOS-based systems on display. See you there!

Steven Solie
AmigaOS Development Team Lead

Delock PCI Express Sound Card supported

blog_miscAndreas Goiczyk has reported that the Delock PCI Express Sound Card 7.1 works well with the newly updated Envy24HT audio driver.

Thank you Andreas for letting us know!

If you discover a sound card not listed is supported by an AmigaOS audio driver, please use the contact form on the AmigaOS web site to let us know.

More Noise from ACube

blog_softwareThe VIA Envy24HT audio driver has been updated and now supports the VT1618 Codec. That means you can now use inexpensive PCIe audio cards such as the Syba SD-PEX63034 in your AmigaOne 500 and AmigaOne X1000 systems.

Here is a list of audio cards that are known to work with the Envy24HT audio driver:

  • Terratec Aureon 5.1 Sky
  • Terratec Aureon 7.1 Space
  • Terratec Phase22
  • Terratec Phase28
  • M-Audio Revolution 5.1
  • M-Audio Revolution 7.1
  • ESI Juli@
  • ESI Juli@ XTe
  • Speed Dragon EAU01A-1
  • Syba SD-PEX63034

If you happen to have audio card not on this list which also works with this driver please notify us via the AmigaOS contact form.

Special thanks to ACube Systems for helping to improve the Envy24HT driver.

The updated driver is being delivered to registered AmigaOS users using AmiUpdate. If you have any support issues with the driver please use the AmigaOS support forum for assistance.

Classic Cinemaware Returns to AmigaOS

As stated in the official press release, Cinemaware’s original 68K games have been re-released for AmigaOS.

Wings

Screenshot of Wings™ on the AmigaOne X1000

Using original Amiga ROMs and Workbench files along with the UAE emulator, current AmigaOS 4.1 owners can enjoy complete Amiga 68K emulation on their PowerPC based systems. The RunInUAE package by Chris Handley makes it possible to double click on each game to automatically launch UAE. There is even a JIT compiler in the works which should dramatically speed up emulation when it is completed.

dotc-a500

Defender of The Crown® on the AmigaOne 500

Each Cinemaware game utilizes WHDLoad to enable it to run with a simple double click of the mouse. WHDLoad may be registered to remove the nag requester and help support even more original Amiga game conversions.

All that said, the emulation is not 100% perfect. This is where you come in. UAE is very configurable and specific config files are provided for some games. If you know of any tricks to help improve those UAE config files please share them. There is also the decision to use WHDLoad versions of the games. Some people prefer ADF versions instead. Please consider helping us improve the games and possibly provide ADF versions as well. The best way to get in contact with us is via the contact form or the support forum.

rr-a500

Rocket Ranger™ on the AmigaOne 500

AmigaOS 4.1 Update 6 users should note they must have the Emulation and RunInUAE updates applied to their systems for smooth operation. If you have not yet updated, this is a great reason to do so.

I would like to thank the AmigaOS beta testing team for helping to find and fix the many issues that cropped up during beta testing. A special thanks must also go out to Lars Fuhrken-Batista of Cinemaware and Ben Hermans of Hyperion Entertainment for making this project possible.

Steven Solie
AmigaOS Development Team Lead

Are you AmiUpdated?

blog_updateSince the release of AmigaOS 4.1 Update 6 there have been over 25 updates released via the integrated AmiUpdate system.

AmigaOS customers can expect many more updates as we catch up on component releases. There may even be some new features slipped in now and then to keep things interesting.

Simply select “Update software…” from the Workbench menu and apply the updates when it is convenient to do so.

If you have any troubles with the new software update system remember that support is available at support.amigaos.net and we’ll do our best to help.

AmigaOS 4.1 Update 6 Released

AmigaOS 4.1 Update 6 has now been released.

More details and a place for registered users to download the update can be found at Hyperion’s main web site.

The following AmigaOS platforms are supported:

Update 6 is a rather unique update in that it includes no bug fixes. What Update 6 does include is a new and more efficient way of delivering bug fixes. A new “Update software…” menu item on Workbench now launches AmiUpdate which will now handle all future AmigaOS software updates.

Since AmiUpdate does not do much without a back end database, a new AmigaOS update database has been created. This database tracks dependencies between components so that users can be assured they are applying the correct updates to their specific systems. The rollback facility may be used to undo updates in the event of problems.

Users are strongly encouraged to install Update 6 as it will be the only way to receive future AmigaOS updates between major releases.

Special thanks to Simon Archer for his amazing AmiUpdate product and the AmigaOS testing team for their invaluable effort on this release.

Yet Another AmigaOS Core Developer

Please welcome Fredrik Wikström as our newest AmigaOS core developer.

Fredrik has been busy on the Amiga scene for many years and has produced a lot of very useful software. More information about Fredrik’s work can be found on his web site.

Given Fredrik’s exemplary track record, I think we can all expect some very good things from him.

If you have used Fredrik’s software in the past, please also consider a donation to show your appreciation. If bounties are more your thing, he has been working on a few at Open Amiga.

Steven Solie
AmigaOS Development Team Lead

New AmigaOS Core Developers

Please welcome our newest AmigaOS core developers: Alex Carmona and Lyle Hazelwood.

Alex has been a dedicated beta tester and programmer for many years. He has decided to take the leap to OS development. Now he can fix all those bugs he has been filing…

Lyle took the plunge and purchased an AmigaOne X-1000 system. He has been a very active developer ever since. More information about Lyle can be found at his web site.

Their names have already been added to the credits page on the AmigaOS web site. You can also find both of them actively helping people on the AmigaOS support forum.

Memory Page Locking Confusion

With the introduction of the AmigaOS Documentation Wiki and the uploading of the latest Amiga ROM Kernel Reference Manuals we have been given the opportunity to bring the Amiga Operating System’s documentation up to date. Although not complete, several dedicated volunteers have been slowly improving on that documentation.

One of the most confusing changes to the API has proven to be Exec’s new LockMem() and UnlockMem() function calls. These functions are use to lock and unlock memory pages. Normally, a programmer should not have to worry about memory pages nor worry about what the swapper is doing. Such details should be left to the operating system. However, in special circumstances (e.g. device drivers) it may be necessary to use LockMem() and UnlockMem().

What really confused programmers is the fact that we advocated the use of UnlockMem() even when the programmer did not explicitly call LockMem(). The issue was primarily centered on MEMF_SHARED memory which, by default, is automatically locked. That in itself isn’t really a problem. Add in the fact MEMF_ANY memory is translated to MEMF_SHARED memory and you have the potential for a lot of locked memory pages and thus ineffective use of system memory.

AmigaOS programmers are always trying to be helpful. Pretty much everyone jumped on the bandwagon and declared this API change as a travesty of enormous consequence. Why didn’t the FreeVec() function unlock the memory for them? Why must UnlockMem() be provided the size of the memory to unlock? They were very close to rioting.

After much discussion and fact gathering, the AmigaOS development team have officially changed our minds. The new advice is to never call UnlockMem() unless you explicitly called LockMem() in the first place. The wiki has already been updated to reflect this.

AmigaOS programmers are also rather attentive. “What happens to those implicitly locked memory pages when I don’t call UnlockMem()?” The truth of the matter is that some pages will actually be leaked. That is, some of those memory pages will not be moveable and thus not swappable. This does not mean the memory is not available to the system. This means the underlying memory pages cannot be swapped.

Now before resuming the riots, please take a moment and think about this. The system has been running fine for years now without programmers calling UnlockMem() on implicitly locked memory. We only recently explained this on the new documentation wiki. Something deeper is indeed going on here.

Without going into all the internal details, the system will automatically unlock memory that has been freed even if you forgot to call UnlockMem() on that memory. This is not true for every memory allocation but it is true for the majority of the memory in the system. This is why everything has been running fine for years now.

So what is going to happen to those lonely locked pages that can’t be automatically unlocked? The plan is to modify Exec’s discrimination between MEMF_SHARED and MEMF_PRIVATE memory. They will be moving to their own page caches. This effectively eliminates the problem entirely without a single line of code changed in your applications.

We are very sorry for the confusion. In the end, we figured it all out and I think this new advice (only call UnlockMem() if you called LockMem()) is very easy for programmers to follow.

Steven Solie
AmigaOS Development Team Lead

AmigaOS 4.1 Update 5 Released

AmigaOS 4.1 Update 5 has now been released.http://upload.wikimedia.org/wikipedia/en/0/05/Boingball.png

More details and a place for registered users to download the update can be found at Hyperion’s main web site.

The following AmigaOS platforms are supported:

Besides the usual bug fixes, some highlights include:

  • Optimized DMA copy routines for 440ep and 460ex based platforms.
  • SM502 audio driver and Mixer for AmigaOne 500 systems (460ex).
  • Updated Radeon, R200 and Permedia2 Warp3D drivers. Per-application configuration is now possible to help work around bugs in old software. User documentation is provided on the wiki.
  • Catweasel driver for floppy disk, SID chip and joystick support.
  • MIDI support now included via the camd.library.
  • Professional photograph backgrounds provided by mediacube.
  • Improved Amiga 68K emulation. A full Workbench 3.1 installation is now included. Authentic Amiga ROMs and Workbench files are provided in the new Emulation drawer.

AmigaOS support is available via Hyperion’s support forum.

A special thanks to the AmigaOS development and testing teams for their hard work on this release!