Showing posts with label Kickstart. Show all posts
Showing posts with label Kickstart. Show all posts

Sunday, 30 October 2016

THE OS4 PRE-REPEASE PREVIEW PART 1

The OS4 Pre-release Preview Part 1
Introduction


It was only in the last few recent number of years that anything officially close to what could be called a Next Generation Amiga was released let alone what could have been just become another false announcement or failed attempt. It was said a long time ago that a transition from AmigaOS 68k to PowerPC would be a job that would take at least two years, and that was considered too long. Of course who ever said this didn’t realise that you must put in the on going hard work now in order for it to be an investment for the future. And so, AmigaOS never at this time made it. Of course, two years after that announcement nothing ever happened, so what was the point of stalling in the first place if two years later we we’re at the same place? None what so ever, indeed anyone who bought the Amiga company, in relation to the OS and hardware, were seen as a boy crying wolf. Comparatively, Hyperion were working on OS4 33 months before the first public beta release. Even H&P, who used to be big supporters for PPC, once said they would port it to PPC, they even had the first job to do OS4 at one stage. Oh yes, a number of new Amiga OS’s and machines were in development to be released, but none ever made it. Until now. It’s funny to think that after over ten years since the last original hardware and OS was manufactured that now something would happen, and by who? A third party.

And I think, despite it, it is the best thing to happen to the Amiga for a long time, it also couldn’t happen at the worst time. Why, strangely it would seem, do I say this? Because hardly anything worth of any value out of the Amiga is left. Even as little as five years ago, the hardware was seen as a commodity with it’s speed and ease at multimedia applications, especially in the video field. And the software was still seen to be an amazing multi-tasking OS that could still hold it’s own against the big boys. Now, the hardware is seen as a drag, limited in speed and colour, and applications. And the OS just a novelty of it’s time, too small and missing essentials, and tied to the hardware too much. As a demonstration of this, TV’s and video equipment are now accepting VGA inputs, and interlaced images are being replaced by progressive scan techniques and HD imaging. And it is easy enough to use Mac or Windows for video editing and sound engineering. Of course there is the third party Amiga developments that have emerged since then. Perhaps it started with the Draco, but it continued with the Pegasos. UAE and Amithlon stirred the scene, and then we have AROS, the closest project to being AmigaOS native on x86. Given that most Amiga owners who are still keen also own a PC, they find the old dream of a new Amiga machine irrelevant and just want to run AmigaOS on the PC sitting at home. If that wasn’t all, we have lost most of the big software companies, the classics. Responsible for both productivity as well as great games. So, why now? Better late than never? I guess it is just that some people got together and actually managed to do something for the Amiga after all, or what was left of it, and have another go at saving what was the original best for last. I guess for that I am grateful, even if it feels like we are hanging on by a thread.

A new beginning
Of course not only has the OS taken a while to emerge, the chosen hardware hasn’t had a smooth ride either. Announced first as a specification to run the AmigaDE, the AmigaOne board has gone through some revisions before the final versions made it. Originally based on the Predator, what was to be a PPC A1200 accelerator, was chosen to be the Eyetech incarnation of the AmigaOne hardware but expanded to be independent. A motherboard in it’s own right. Because the AmigaOS was still tied to the hardware somewhat, even in early developments, it was decided to retrofit the new board with an A1200 to enable this hardware to be used. Until such as a time that the OS could function on it’s own. Unfortunately the company producing the retrofitting hardware, a PCI to A1200 CPU slot card, couldn’t get the device to work as it should. And so Eyetech ended up wasting time on this project and set out to find another motherboard from a third party, not based on their own Predator. They found the Teron series from MAI, and licensed it for production. So then Hyperion got to work on a BIOS for the new hardware and worked on OS4 to be run on it.

2004: The year of the OS?
Between their own projects and with no solid funding Hyperion had the task of migrating AmigaOS 3.x to AmigasOS4 on PPC architecture. When Microsoft were working on Windows 95, they attempted to incorporate things into the OS to make it easier for games programmers, the reaction to that was, “What do Microsoft know about games?” In contrast to Hyperion, a games company I’m sure it was said, “What experience do they have to port an OS?” They had plenty, not only in porting games from different OS models, such as Win32 to Linux, or x86 to Mac PPC. But also a technical know how and training in OS structure and theory. So not only were the brothers at Hyperion qualified for the job, that games background would be sure to influence them into what I hope would be a fun OS.

And between when OS4 had it’s first announcement, the planning and organising, and finally the work up to now, in 2004 the public could finally get their hands on the new AmigaOS made for a new generation. This is it for the Amiga in 2004, this is the year of the OS.

First impressions
Being that this release is customised for the AmigaOne hardware this is one of the first things we must address. Since the board firmware must be updated before OS4 can be used. You can either burn an ISO image to a CD track, or if you have a high density floppy drive, copy a floppy image onto disk. You then boot either one and run the software within to update the U-Boot firmware code. Then their is a few U-Boot settings to sort out and make sure are set correctly and we are on our way to boot OS4.

Once that is sorted out we can boot off the CD, this can be automatic, manual selection or on the command line. It is here the bootloaders take control. U-Boot has a FLB, or First Level Bootloader, built into it specific to load AmigaOS4 off an Amiga RDB partitioned drive. An internal command, ‘boota’ handles this. Once this detects that a bootable drive has a RDB, it will load up and pass control over to the SLB, the Second Level Bootloader. This is then responsible for loading up the filesystem stored in the RDB and using that to access special kickstart and configuration files. Which it now loads and sets up, reporting it’s progress on screen. Since the Amiga kickstart is no longer in ROM, and the firmware is only used as a bootloader, the kickstart must now be loaded from disk. You could say it was comparable to the Amiga 100 WOM, or Write-Once-Memory where a special kickstart booter ROM loaded the original kickstart off a floppy and then booted up the system. Only this time, almost 20 years later, we can load a lot more data more quickly off harddisk. But, unfortunately the introduction screens even given the time difference are not even as pretty, being old fashioned boring text modes you’d expect on a PC. Some think of this point as trivial, but one of the original Amiga greats was being fully graphical, even the boot screens. Now, currently we have lost that too. Getting grips to loading BASIC off disk years ago compared to a microcomputer, to now loading kickstart off disk too was an evolution in stand-by. But, reverting back to text DOS-box look a like screens, that is just too far, it just isn’t on. I thought the whole point of this was trying not to turn the Amiga into a PC. And one last comment on the subject, which makes the matter worse, is that even PC BIOS screens look better than this. Catching up again? Once the kickstart has loaded it puts it all together in one piece in memory and once done, the new ExecSG (Second Generation) is executed and sets up the Amiga kernel like old times. It is here we can thankfully throw those text modes away, since from now on it is pure AmigaOS, and graphical the rest of the way, just like old times.

Just like it, once AmigaDOS is set up and ready to boot, it polls all the drives for one to boot off and mounts all the Amiga partitions it finds. Here there is one good new feature, CD drives are now automatically mounted. Hence being able to boot off the OS4 CD, which the system does now, and after some disk access we have the first introduction to AmigaOS4. A “Welcome” requester in the centre of the screen comes up. This is the first taste of OS4, from now on the installer is loaded so we can set up OS4 on our harddisk. Just as Windows95 installed itself under the new OS, and the way that the MacOSX installer runs in X, AmigaOS4 is also installed under OS4. From this first window others come where you specify your language, country and time zone. And then you configure your input devices. All these programs used are the standard preferences ones. From here the CD continues with it’s booting, until eventually it boots into a Workbench screen and the standard installer appears. Here you will notice that unlike it’s predecessor, OS3.9, the OS4 installer doesn’t open up on it’s own screen or put a colour gradient in the background with introductory pictures and boing sounds. Just a standard installer window, hmm, perhaps they forgot. The screen opened for installation is set to 800x600, 16 bit. Meaning even an old 14” VGA considered old hat should be able to handle it, or just get by. On the new WB you can also start playing around and checking things out on the CD, including the useful install guide, shown in IBrowse. Once you are ready to go it’s time to set up your harddisk.

Michael Holmes

Saturday, 15 October 2016

1MB Kickstart ROM for A2000

article from Dave's Amiga Hardware Page

The A2000 was designed to accept a 512KB Kickstart ROM. This is now inadequate for the new Kickstart modules in Amiga OS3.9 and for other various modules created by third parties. Normally to circumvent this, the new Kickstart ROM has to be cut down to accommodate these new larger Kickstart modules. An example of this is the Kickstart as used in the A4000T. In order to accommodate the additional scsi.device as used by the onboard scsi controller, the workbench.library is deleted from the ROM and has to be loaded from disk.

This simple modification allows the use of a 1MB Kickstart ROM in the A2000. This should also work in the A500. Note that you will need a rev 6 motherboard. Earlier versions may need other alterations to accommodate this modification. Basically it involves adding an extra address line (A18) to support the additional 512K of ROM.

This can be achieved by replacing the original 40 pin Kickstart socket with a 42 pin socket, and adding the extra address line. I used a good quality 'machine pin' socket. The two new pins (pins 1 & 42) are at the notched end of the socket. Because the motherboard only has 40 holes, these two pins are cut off short so that they do not touch the PCB surface underneath when the socket is inserted into the motherboard. Pin 42 is not connected. Pin 1 has a length of fine insulated wirewrap wire soldered to the remaining stub. This forms the new address line. Referring to the pic below, carefully remove the solder from one of the plated through connections between the top and bottom of the motherboard. Solder wick is ideal for this. Insert the new socket, with pin 2 going into the hole for the former pin 1, pin 3 into the hole for the former pin 2 and so on. Pass the fine wirewrap wire through the new hole you created earlier as shown below. There must be no electrical connection between this wire and the hole. Use insulated wire. You should have pins 1 and 42 hanging over the end, and not touching the motherboard. You may like to add some tape etc to provide insulation if you have concerns.


The other end of this wire is then soldered to pin 46 on the 68000 CPU socket. This provides the new address A18 signal to allow use of a 1MB Kickstart ROM. See below. The positions of Pins 1 & 42 are marked by an 'x' showing where the pins would be if the motherboard had holes for them. The former pin 1 is now pin 2 and the former pin 40 is now pin 41.


Your A2000 is now ready to use a 1MB Kickstart ROM. It is still compatible with a standard 512K ROM. If you want to use one of these, insert the ROM as shown below, with pins 1 & 42 vacant.


And below is an example of a 1MB custom Kickstart ROM



Creating a 1MB Kickstart ROM.
Creating a working and functional custom Kickstart can be difficult and complex. There are a number of tutorials out there. A good one is on Mfilos' blog. For those who are starting out, it might be a good idea to limit yourself to creating a 'standard' OS 3.9 ROM. Once you have experience, you can then try adding some of the many 3rd party ROM modules out there. Many of them are still under development and may not work properly on all systems. For example, I have so far been unable to get any of the 3rd party versions of Exec to work in my A2000.

You will need a blank 27C800 EPROM, which can be programmed with the new 1MB Kickstart. Below is a Remus listing of the main section of my A2000 ROM as at 24/9/2014. For those not yet familiar with how a 1MB Kickstart works, it is divided into two halves. The main section and an extended section. The main section also contains a file called '1MB_ROM' which is there to tell the Amiga that there is a 1MB Kickstart. It is always positioned in second place, immediately after Exec. The extended section usually contains files moved from the main section that can now no longer fit within 512K. Also note that scsi.device has been removed. It is superfluous in an A2000, which does not have an inbuilt SCSI or IDE controller.

; Generated by Remus 1.0 rc35
;Options

SaveROM Projects/A2000/A2k-V2014-267-Norm
ModDir Modules/44.57_BB2/
ROMBase $F80000
ROMSize 512
ImageType 0
Checksum
SpeedROM
;Build list
ADD Modules/44.57_BB2/exec_45.20(A1200-A500)
ADD Modules/Latest-Updates/1MB_ROM
ADD Modules/40.63(A500-2000)patched/audio.device_37.10
ADD Modules/40.63(A500-2000)patched/battclock.resource_39.3
ADD Modules/Latest-Updates/battmem.resource_40.0
ADD Modules/44.57_BB2/bootmenu_44.7(68020)
ADD Modules/40.63(A500-2000)patched/card.resource_40.4
ADD Modules/40.63(A500-2000)patched/carddisk.resource_40.1
ADD Modules/40.63(A500-2000)patched/cia.resource_39.1
ADD Modules/44.57_BB3/console.device_44.10
ADD Modules/40.63(A500-2000)patched/disk.resource_37.2
ADD Modules/Latest-Updates/dos.library_41.0
ADD Modules/40.63(A500-2000)patched/expansion_40.2(A500-600-2000)
ADD Modules/44.57_BB4/FastFileSystem_45.16
ADD Modules/Latest-Updates/FileSystem.resource_46.0
ADD Modules/40.63(A500-2000)patched/gadtools.library_40.4
ADD Modules/40.63(A500-2000)patched/gameport_keyboard_40.1
ADD Modules/Latest-Updates/graphics.library_42.8b12
ADD Modules/Latest-Updates/icon.library_68020_46.4.374
ADD Modules/Others/input_50.26
ADD Modules/40.63(A500-2000)patched/keymap.library_40.4
ADD Modules/40.63(A500-2000)patched/layers.library_40.1
ADD Modules/Latest-Updates/KingCON-handler_40.4(020+)
ADD Modules/40.63(A500-2000)patched/mathffp.library_40.1
ADD Modules/40.63(A500-2000)patched/mathieeesingbas.lib_40.4
ADD Modules/Latest-Updates/misc.resource_38.0
ADD Modules/Latest-Updates/potgo.resource_38.0
ADD Modules/44.57_BB3/Ram-Handler_44.24
ADD Modules/40.63(A500-2000)patched/ramdrive_39.35
ADD Modules/44.57_BB4/ramlib_40.3
ADD Modules/Latest-Updates/Romboot44_4_A2k
ADD Modules/44.57_BB3/Shell_45.27
ADD Modules/40.63(A500-2000)patched/timer.device_39.4
ADD Modules/44.57_BB4/trackdisk.device_40.2
ADD Modules/Latest-Updates/NoClick
ADD Modules/40.63(A500-2000)patched/utility.library_40.1(68000)
ADD Modules/40.63(A500-2000)patched/wbtask_39.1

Below is a Remus listing of the 'extended' ROM as used in my A2000.In this case it contains the intuition and workbench libraries, as they now no longer fit within the original 512K. There is also a 'ROMheader file which is needed to delineate this second section.

; Generated by Remus 1.0 rc35
;Options
SaveROM Projects/A2000/A2k-V2014-267-Ext
ModDir Modules/Latest-Updates/
ROMBase $E00000
ROMSize 512
ImageType 0
Checksum
SpeedROM
;Build list
ADD Modules/Latest-Updates/romheader_45.21
ADD Modules/Latest-Updates/intuition.library_40.86b7
ADD Modules/Latest-Updates/workbench.library_45.133


Please note that I am unable to supply any ROMS. This is due to a number of reasons: The nature of these Kickstarts means that they are tailored to a specific hardware configuration, and may not work at all if installed in a different A2000 with different hardware configurations. Also the various modules in the Kickstart are copyrighted, and obviously cannot be given away or sold. (it's OK to create your own - as you already need an original 3.1 ROM as well as an original 3.9 installation disk to create these extended Kickstarts). Other third party modules may also belong to their respective authors, and they may not appreciate distribution outside of what they had originally authorised.

First Published: September 24th 2014 - Updated April 28th 2015