Skąd się wziął ROM 3.5 (V44.1)?
-------------------------------
otóż ROM 3.5 wziął się (tak jak Norbi napisał) od pewnej łaty na exec.library stworzonej przez Harry "Piru" Sintonen-a.
************************************************
** **
** -------------------------------- **
** ROM OPERATING SYSTEM EXECUTIVE **
** -------------------------------- **
** **
** V44.1 **
** **
** by Harry "Piru" Sintonen <
[email protected]> **
************************************************
»»»»»» public beta4, 1st Nov 2001 źźźźźź
o EXEC V44 IS NOT OFFICIAL NOR APPROVED BY AMIGA INTERNATIONAL INC. THERE IS NO GUARANTEE WHATSOEVER. USE AT YOUR OWN RISK.
o EXEC V44 IS FREEWARE AND COPYRIGHT ę 2000-2001 BY Harry Sintonen.
Na jego stronie domowej można znaleść m.in. właśnie archiwum "exec44beta4.lha" które zawiera nową wersję biblioteki exec.library, którą nakłada się na plik z ROM=em z Amigi1200/4000 na ROM-y 3.0 lub 3.1. Nowa exec.library zawiera zbiór wszystkich pojedynczych łat na tą bibliotekę, które są w aminecie, oto lista:
- Improvements:
o General optimizations everywhere in the exec.library and the alert.hook.
Dozens of routines rewritten from the scratch to be smaller and faster.
I've optimized the routines 68020+ in mind, however the A2000 ROM run
on plain 68000 machines (A500, A600, A2000) too. For 68000 and 68010
owners the V40.10 exec probably is slightly faster.
o The V44.1 exec is around 848 bytes smaller than V40.10!
o Bugfixed exec/Alert() not to cause privilege violation trap with 68010+
CPUs if VBR is not at zero and the alert is of DEADEND type (very
annoying bug).
o Bugfixed exec/FreePooled() not releasing memory. Empty puddles would not
get returned to the free memory list until the pool was DeletePool()ed
(minor but yet annoying bug).
o Bugfixed exec/ReleaseSemaphore() trashing d0/d1/a0 when calling release
without obtain (minor bug, can only occur with misbehaving exec/Alert()
patch).
o Added BOOL return code workaround to exec/CheckIO() routine. The new
code tries to figure out if the caller is going to interpret the result
wrong, and if this is the case, will fix the return code (minor bug).
o Bugfixed exec/OpenLibrary() not passing open-version in d0 for LIB_OPEN,
unlike the example sources suggest. (minor bug)
o Bugfixed SAD/TURN_ON_SINGLE returning crap as old trace vector address
and SAD/TURN_OFF_SINGLE sending 4 bytes of crap after command DONE.
(minor bugs, as no-one really use SAD)
o Added return code workaround for old amiga.lib (upto version 40.15)
CreateTask() misinterpreting exec/AllocEntry return code. amiga.lib
V44.1 fixed this bug, but lots of current programs still have the bugged
CreateTask() routine in them. (nasty bug, causes crashes in low mem
situations)
o Added workaround for exec/GetMsg() and 68060 CPUs, braindead programs
calling GetMsg() in tight loop would lock up the system. (minor bug)
o Bugfixed exec/ReleaseSemaphore() calculating wrong SS_NESTCOUNT when
both Procure() and ObtainSemaphore() were pending for the same task.
(nasty bug)
o SetPatch no longer patch any exec.library bugs, since they're all fixed
now.

Please note that this does NOT mean you can remove SetPatch
(it does patch tons of other OS bugs still)!
o Optimized low level interrupt code.
o Optimized the 68020+FPU task scheduler to keep the stack longword
aligned at all times.
o Added 68020+ optimized CopyMem and CopyMemQuick routines. These routines
are quite ok on 68040 and 68060 too. The 68000/68010 versions aren't
optimized to save space.
o Exec internal memory allocations use memory pool to reduce memory
fragmentation (msgports, iorequests, tc_ETask).
o Chipmem start is at $4000 for ShapeShifter / Fusion, no need for extra
reset proof tools to hack it.
o Kickstart copyright information updated:
"Copyright ę 1985-2000 Amiga International, Inc. All Rights Reserved."
(same as in AmigaOS 3.5)
o Identifies as ROM 3.5
a więc, tak naprawdę jest to stary ROM 3.0/3.1 z nową (połataną) exec.library i to wszystko..
własnie przed chwilą sobie zrobiłem z ROM-u 3.1 V40.070 -> 3.5 V44.1
A tak się to robi:
o Patch the V40 ROM to generate the "V44 ROM":
- Pick the correct exec version according to your machine type:
A1200 -> exec.bin.a1200
A500/A600/A2000 -> exec.bin.a2000
A3000 -> exec.bin.a3000
A4000/A4000T -> exec.bin.a4000
CD32 -> exec.bin.cdgs
- Do something like this (...and use your brain to pick the corrent
files etc.):
> zapexec FROM devs:rom40068.A1200 WITH exec.bin.a1200 TO devs:rom441.A1200
Original exec.library + alert.hook size: 14264
Replacement exec.library + alert.hook size: 13416
Zapped! Resumming the ROM image... Checksum: $C55F46C0
Writing the new ROM image to "devs:rom441.A1200"... Done.
Używam tego zlatanego ROM-u z WinUAE i swoja partycja, dzieki temu moge zgezygnowac z SystemPatch-a (ktorego dałem w RC9)
kope lat minęło..