Commit 90b7a20f authored by ROOL's avatar ROOL 🤖
Browse files

This commit was manufactured by cvs2git to create branch 'unlabeled-4.1.3.1.2'.

Sprout from master 1996-11-06 04:05:13 UTC Neil Turton <nturton@gitlab.riscosopen.org> 'Import from cleaned 370 CD'
Delete:
    !Mk,fd7
    !MkClean,fd7
    !MkInstall,fd7
    Doc/ToDo
    Library/squeeze,ff8
    OPatches/4Mation/Jiglet,fc3
    OPatches/4Mation/JigletNew,feb
    OPatches/4Mation/JigletOld,feb
    OPatches/4Mation/Jigsaw,fc3
    OPatches/4Mation/JigsawNew,feb
    OPatches/4Mation/JigsawOld,feb
    OPatches/4Mation/Patched
    OPatches/Acorn/DDT,fc3
    OPatches/Acorn/DTP,fc3
    OPatches/Acorn/Internet,fc3
    OPatches/Acorn/PCEm,fc3
    OPatches/Acorn/RISCiX110,fc3
    OPatches/Acorn/RISCiX120,fc3
    OPatches/DuffOnes/NewTest
    OPatches/DuffOnes/Test
    OPatches/DuffOnes/Test0
    OPatches/DuffOnes/Test1
    OPatches/DuffOnes/Test3
    OPatches/DuffOnes/Test4
    OPatches/DuffOnes/Test5
    OPatches/DuffOnes/Test6
    OPatches/DuffOnes/TestOld
    OPatches/PEP_Assoc/Hutchinsn,fc3
    Patches/PocketFS/PocketFS,fc3
    Resources/!Boot,feb
    Resources/!Sprites,ff9
    Resources/!Sprites22,ff9
    Resources/!Sprites23,ff9
    Resources/BootStrap,fc3
    Resources/Transforms
    Resources/UK/!Run,feb
    Resources/UK/Messages
    Resources/UK/ReadMe
    Resources/UK/Templat2d,fec
    Resources/UK/Templates,fec
    c/Main
    c/MsgCode
    c/PatchApply
    c/PatchParse
    c/Subroutins
    h/Patch
    s/Help
    s/HelpSrc
    s/Syntax
    s/UnSqueezO
    s/UnSqueeze
parent 2be9dea5
| Copyright 1996 Acorn Computers Ltd
|
| Licensed under the Apache License, Version 2.0 (the "License");
| you may not use this file except in compliance with the License.
| You may obtain a copy of the License at
|
| http://www.apache.org/licenses/LICENSE-2.0
|
| Unless required by applicable law or agreed to in writing, software
| distributed under the License is distributed on an "AS IS" BASIS,
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
| See the License for the specific language governing permissions and
| limitations under the License.
|
Dir <Obey$Dir>
amu_machine all
| Copyright 1996 Acorn Computers Ltd
|
| Licensed under the Apache License, Version 2.0 (the "License");
| you may not use this file except in compliance with the License.
| You may obtain a copy of the License at
|
| http://www.apache.org/licenses/LICENSE-2.0
|
| Unless required by applicable law or agreed to in writing, software
| distributed under the License is distributed on an "AS IS" BASIS,
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
| See the License for the specific language governing permissions and
| limitations under the License.
|
Dir <Obey$Dir>
amu_machine clean
| Copyright 1996 Acorn Computers Ltd
|
| Licensed under the Apache License, Version 2.0 (the "License");
| you may not use this file except in compliance with the License.
| You may obtain a copy of the License at
|
| http://www.apache.org/licenses/LICENSE-2.0
|
| Unless required by applicable law or agreed to in writing, software
| distributed under the License is distributed on an "AS IS" BASIS,
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
| See the License for the specific language governing permissions and
| limitations under the License.
|
Dir <Obey$Dir>
amu_machine install INSTDIR=<install$dir>.HardDisc4.Utilities.Patches
s/** gitlab-language=armasm linguist-language=armasm linguist-detectable=true
c/** gitlab-language=c linguist-language=c linguist-detectable=true
h/** gitlab-language=c linguist-language=c linguist-detectable=true
Things to be done to !Patch:
* Case insensitive filename matching (case sensitive currently).
Use Territory SWIs?
* Canonicalise transforms filenames and filter out duplicates?.
* Sort patch parser out - sensible (some!) error handling badly needed.
* Register list of messages to Wimp_Initialise? Could be hard as there
is no Risc_OSLib support for this I think. Turns out it can be done
with a call to wimpt_messages(). All I need now is an o.Risc_OSLib
with this function in it.
* Throw away existing list of targets when a new selection is dragged in.
(Wimp sends a message to say that it is the end of the selection.)
* Interactive help.
* Check ability to extend files at end.
* Error messages from squeeze eg. insufficient memory, failure to
write output file (locked, write protected disk etc.) come out in
a wimp command window ie. they are printed. This should be an error
passed to OS_Exit, so that it comes out in an error box. Also, when
it can't write the output file, it doesn't say WHY (eg. Locked).
Need to either modify squeeze source code, or do something like
redirect the output to a file/pipe and then look in the file afterwards -
non zero size implies error, convert contents of file to an error
block and report it. I could then solve the destination file write
problems, by opening the file myself up front, reading a few bytes from
it, and writing the same bytes back out again although this would cause
an extra disk swap on a floppy system unless it was done right at the
start before UnSqueezing was attempted. Additionally I could
check if the file is locked or not. Thus if the file can't be written to
or deleted I can report the error nicely before squeeze gets its paws in. That just leaves memory shortage errors in squeeze, which checking the
output in a file should catch fairly well. Also memory shortage is less
likely (I think) than locked files and write protected disks.
* Errors from squeeze and UnSqueeze are not internationalised.
* Add desktop save code.
* Window moves (to where it is in Templates) when you hit full size tool.
This is wrong - how do I fix it?
* Escape key handling - while doing patches and while scanning for files
to patch?
* Fix window iconisation (doesn't close window when you iconise it!).
* Handle squeezing of things too big to fit in memory currently (either
by fixing squeeze or by reconfiguring CMOS RAM and rebooting machine
with a script to squeeze things)?
* Display of known patches?
* File lengths or checksums (or both)?
* Encrypt new version of file based on contents of old file. (Plus
tool to generate this of course.)
* msgtrans_lookup_all() - bit field to say which set of message files
(ie. so transforms don't have to look in normal and interactive help
messages files.)
* Refresh menu option? (Runs check_patch() on all targets.) Sit on
filing system upcalls? (Fixes problems of files being renamed under
my feet and then having no selection icon after an error.)
* VerifyWord <old> <new> for ReplaceFile - allows you to tell whether
we are doing Apply or Remove. Similarly for encrypted replace.
* Stop using RISCOS_Lib?
* Use _kernel_osgbpb() and _kernel_file() (not R6) and _kernel_find()
(or maybe my own equivalents which provide more registers and return
a _kernel_oserror *).
* Exclusive patches? (If select one, others deselected automatically.)
For RISCiX 1.2 540/standard machine patches (have to cope with running
out og ESGs, also watch for Adjust button.)
* Removal of UnSqueeze when quit application (Module: keyword in
patch file).
* Make applications seperate by description as well as name?, so RISCiX
1.1 only shows the 1.1 patch and RISCiX 1.2 only shows the 1.2 patch.
(Need some way of determining which description eg. lengths, checksums,
words to verify etc.)
# Patch to allow Jiglet to work on RISC OS 3.10.
Application:!Jiglet &2000
Description:4Mation Educational Resources: Jiglet
Patch:Allows Jiglet to run on RISC OS 3.
ReplaceFile:!Jiglet.!run
OldContents:Patch:Patches.4Mation.JigletOld &FEB
NewContents:Patch:Patches.4Mation.JigletNew &FEB
CreateFile:!Jiglet.Patched
NewContents:Patch:Patches.4Mation.Patched &FFF
# Same thing but !jiglet as lower case.
Application:!jiglet &2000
Description:4Mation Educational Resources: Jiglet
Patch:Allows Jiglet to run on RISC OS 3.
ReplaceFile:!jiglet.!run
OldContents:Patch:Patches.4Mation.JigletOld &FEB
NewContents:Patch:Patches.4Mation.JigletNew &FEB
CreateFile:!jiglet.Patched
NewContents:Patch:Patches.4Mation.Patched &FFF
| Copyright 1996 Acorn Computers Ltd
|
| Licensed under the Apache License, Version 2.0 (the "License");
| you may not use this file except in compliance with the License.
| You may obtain a copy of the License at
|
| http://www.apache.org/licenses/LICENSE-2.0
|
| Unless required by applicable law or agreed to in writing, software
| distributed under the License is distributed on an "AS IS" BASIS,
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
| See the License for the specific language governing permissions and
| limitations under the License.
|
| > !run file for JIGLET
wimpslot -min 632K -max 632k
set Jiglet$Dir <Obey$Dir>
rmensure ColourTrans 0.52 rmload <Jiglet$Dir>.colours
iconsprites <Jiglet$Dir>.!sprites
run <Jiglet$Dir>.Jiglet %*0
| Copyright 1996 Acorn Computers Ltd
|
| Licensed under the Apache License, Version 2.0 (the "License");
| you may not use this file except in compliance with the License.
| You may obtain a copy of the License at
|
| http://www.apache.org/licenses/LICENSE-2.0
|
| Unless required by applicable law or agreed to in writing, software
| distributed under the License is distributed on an "AS IS" BASIS,
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
| See the License for the specific language governing permissions and
| limitations under the License.
|
| > !run file for JIGLET
wimpslot -min 632K -max 632k
set Jiglet$Dir <Obey$Dir>
rmload <Jiglet$Dir>.colours
iconsprites <Jiglet$Dir>.!sprites
run <Jiglet$Dir>.Jiglet %*0
# Patch to allow Jigsaw to work on RISC OS 3.10.
Application:!Jigsaw &2000
Description:4Mation Educational Resources: Jigsaw
Patch:Allows Jigsaw to run on RISC OS 3.
ReplaceFile:!Jigsaw.!run
OldContents:Patch:Patches.4Mation.JigsawOld &FEB
NewContents:Patch:Patches.4Mation.JigsawNew &FEB
CreateFile:!Jigsaw.Patched
NewContents:Patch:Patches.4Mation.Patched &FFF
# Same thing but !jigsaw as lower case.
Application:!jigsaw &2000
Description:4Mation Educational Resources: Jigsaw
Patch:Allows Jigsaw to run on RISC OS 3.
ReplaceFile:!jigsaw.!run
OldContents:Patch:Patches.4Mation.JigsawOld &FEB
NewContents:Patch:Patches.4Mation.JigsawNew &FEB
CreateFile:!jigsaw.Patched
NewContents:Patch:Patches.4Mation.Patched &FFF
| Copyright 1996 Acorn Computers Ltd
|
| Licensed under the Apache License, Version 2.0 (the "License");
| you may not use this file except in compliance with the License.
| You may obtain a copy of the License at
|
| http://www.apache.org/licenses/LICENSE-2.0
|
| Unless required by applicable law or agreed to in writing, software
| distributed under the License is distributed on an "AS IS" BASIS,
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
| See the License for the specific language governing permissions and
| limitations under the License.
|
| > !run file for JIGSAW
wimpslot -min 640K -max 640k
set Jigsaw$Dir <Obey$Dir>
rmensure ColourTrans 0.52 rmload <Jigsaw$Dir>.colours
iconsprites <Jigsaw$Dir>.!sprites
run <Jigsaw$Dir>.Jigsaw %*0
| Copyright 1996 Acorn Computers Ltd
|
| Licensed under the Apache License, Version 2.0 (the "License");
| you may not use this file except in compliance with the License.
| You may obtain a copy of the License at
|
| http://www.apache.org/licenses/LICENSE-2.0
|
| Unless required by applicable law or agreed to in writing, software
| distributed under the License is distributed on an "AS IS" BASIS,
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
| See the License for the specific language governing permissions and
| limitations under the License.
|
| > !run file for JIGSAW
wimpslot -min 640K -max 640k
set Jigsaw$Dir <Obey$Dir>
rmload <Jigsaw$Dir>.colours
iconsprites <Jigsaw$Dir>.!sprites
run <Jigsaw$Dir>.Jigsaw
If this file is present, then this application has
been patched to work on RISC OS 3.
# Patch to allow Acorn DDT to run on RISC OS 3.50.
Application:!DDT &2000
Description:Acorn Desktop Debugging Tool
Patch:Allows Acorn DDT to run on RISC OS 3.50
File:!DDT.!Boot &FEB
Location:&20
ChangeWord:&332E3120 &362E3120
Location:&24
ChangeWord:&207C0A30 &207C0A32
Location:&4C
ChangeWord:&0A303939 &0A343939
File:!DDT.!Run &FEB
Location:&20
ChangeWord:&332E3120 &362E3120
Location:&24
ChangeWord:&207C0A30 &207C0A32
Location:&4C
ChangeWord:&0A303939 &0A343939
Location:&31C
ChangeWord:&0A30332E &0A32362E
File:!DDT.Templates &FEC
Location:&20
ChangeWord:&6566660D &00000B0D
Location:&24
ChangeWord:&7A697372 &00000B78
Location:&38
ChangeWord:&670D676F &000D676F
Location:&3C
ChangeWord:&A43D2573 &00000CDB
Location:&60
ChangeWord:&84000012 &84030012
Location:&214
ChangeWord:&2030352E &2032362E
Location:&218
ChangeWord:&2D363228 &2D303228
Location:&21C
ChangeWord:&2D727041 &2D6E614A
Location:&220
ChangeWord:&0D293139 &0D293439
# Patch to allow Acorn DTP to accept RISC OS 3 Draw files.
# The code modified is the default: statement which handles unknown
# draw file objects.
Application:!DTP &2000
Description:Acorn DeskTop Publisher
Patch:Allows Acorn DTP to read RISC OS 3 Draw files
File:!DTP.!RunImage &FF8
Transform:Squeeze
Location:&48364
ChangeWord:&E3A06004 &EAFFFFF4
# Patch to allow NFS to work in a task window
Application:!Internet &2000
Description:Acorn TCP/IP Protocol Suite
Patch:Allows NFS to work in task windows
File:!Internet.rm.Internet &FFA
Location:&1F518
VerifyWord:&E59EE03C
Location:&1F520
ChangeWord:&E92D4007 &E92D400F
ChangeWord:&E3A00007 &E24DD040
ChangeWord:&E3A01000 &E3A00007
ChangeWord:&E3A02000 &E24F1028
ChangeWord:&E3A03000 &E1A0200D
ChangeWord:&EF020040 &E1A0300D
ChangeWord:&E92D0006 &EF020040
ChangeWord:&E24F1038 &E92D000E
ChangeWord:&E1A02003 &E33FF000
ChangeWord:&E3A03000 &E3A00000
ChangeWord:&EF020040 &E3A01001
ChangeWord:&E31FF0FC &EF020006
ChangeWord:&F1A00000 &EF020016
ChangeWord:&E3A00000 &E3A00007
ChangeWord:&E3A01001 &E8BD000E
ChangeWord:&EF020006 &EF020040
ChangeWord:&EF020016 &E28DD040
ChangeWord:&F1A00000 &E8BD800F
# Note that this second patch uses space freed up by the application of
# the first patch (the new routine in the first patch is shorter). Hence
# the careful use of VerifyWord to make sure everything can only be
# applied/removed in the right order.
Patch:Allows Internet to work with ARM2as and ARM61
File:!Internet.rm.Internet &FFA
Location:&1F560
VerifyWord:&E28DD040
Location:&1F518
ChangeWord:&E59EE03C &EA000012
Location:&1F568
ChangeWord:&E3A00007 &E59EE03C
ChangeWord:&E8BD0006 &E1B0F00E
# Fixes a bug in the first patch, which didn't preserve the flags on return
# which caused a crash when RMKilling the module.
Patch:Fixes RMKill of Internet to not crash
File:!Internet.rm.Internet &FFA
Location:&1F564
ChangeWord:&E8BD800F &E8FD800F
# Patch to allow NFS to work in a task window and with ARM2as and ARM61.
Application:Internet &FFA
Description:Acorn Internet module version 1.03 (AtomWide and Nexus cards)
Patch:Allows NFS to work in task windows and with ARM2as and ARM61
File:Internet &FFA
# Change the version number and date string.
Location:&3E
ChangeString:1.03<32>(26<32>Sep<32>1991) 1.04<32>(25<32>Feb<32>1992)
# First part of the ARM2as patch - puts in a jump to the second half.
Location:&19F6C
ChangeWord:&E59EE03C &EA000012
# TaksWindow patch - fixes the setting of CallBacks.
Location:&19F74
ChangeWord:&E92D4007 &E92D400F
ChangeWord:&E3A00007 &E24DD040
ChangeWord:&E3A01000 &E3A00007
ChangeWord:&E3A02000 &E24F1028
ChangeWord:&E3A03000 &E1A0200D
ChangeWord:&EF020040 &E1A0300D
ChangeWord:&E92D0006 &EF020040
ChangeWord:&E24F1038 &E92D000E
ChangeWord:&E1A02003 &E33FF000
ChangeWord:&E3A03000 &E3A00000
ChangeWord:&EF020040 &E3A01001
ChangeWord:&E31FF0FC &EF020006
ChangeWord:&E1A00000 &EF020016
ChangeWord:&E3A00000 &E3A00007
ChangeWord:&E3A01001 &E8BD000E
ChangeWord:&EF020006 &EF020040
ChangeWord:&EF020016 &E28DD040
ChangeWord:&E1A00000 &E8BD800F
# Second half of the ARM2as patch uses space freed up by the TaskWindow
# patch. By this point the register banks have settled on ARM2as so the
# original code sequence is now OK.
ChangeWord:&E3A00007 &E59EE03C
ChangeWord:&E8BD0006 &E1B0F00E
# Fixes a bug in the first patch, which didn't preserve the flags on return
# which caused a crash when RMKilling the module.
Patch:Fixes RMKill of Internet to not crash
File:Internet &FFA
Location:&3E
ChangeString:1.04<32>(25<32>Feb<32>1992) 1.05<32>(02<32>Mar<32>1992)
Location:&19FB8
ChangeWord:&E8BD800F &E8FD800F
# Patch to prevent NFS overflowing enumerate directories buffers
Application:!NFSFiler &2000
Description:Acorn TCP/IP Protocol Suite
Patch:Prevent NFS overflowing enumerate directories buffers
File:!NFSFiler.rm.NFS &FFA
Location:&9A68
ChangeWord:&E2840003 &E2840003
ChangeWord:&E3500000 &E3C00003
ChangeWord:&D2800003 &E0404004
ChangeWord:&E1A00140 &E0466004
ChangeWord:&E1A04100 &E1A04000
# Change the version number and date string.
Location:&3C
ChangeString:1.01<32>(17<32>Aug<32>1990) 1.02<32>(05<32>Mar<32>1992)
# Patches for the Acorn PC Emulator version 1.60.
# As shipped, the PC Emulator will not use a hard disk file which has
# a file type of &FC8 and is therefore a DOSFS image, as the object
# type is 3 (Image) not 1 (File). This patch fixes this problem.
# In all three cases the code being changed is:
# 059D0008 : LDREQ R0,[R13,#8]
# 028DD010 : ADDEQ R13,R13,#&10 ; =16
# 13A00000 : MOVNE R0,#0
# 128DD010 : ADDNE R13,R13,#&10 ; =16
# to:
# 13500003 : CMPNE R0,#3
# 13A00000 : MOVNE R0,#0
# 059D0008 : LDREQ R0,[R13,#8]
# 095BA800 : LDMDB R11,{R11,R13,PC}^
Application:!PCEm &2000
Description:Acorn PC Emulator
Patch:Allows !PCEm 1.60 to access DOSDisc hard disk images
File:!PCEm.!RunImage &FF8
Transform:Squeeze
Location:&1B2D0
ChangeWord:&059D0008 &13500003
ChangeWord:&028DD010 &13A00000
ChangeWord:&13A00000 &059D0008
ChangeWord:&128DD010 &E95BA800
Application:!PCEmS &2000
Description:Acorn PC Emulator (small version)
Patch:Allows !PCEmS 1.60 to access DOSDisc hard disk images
File:!PCEmS.!RunImage &FF8
Transform:Squeeze
Location:&1D25C
ChangeWord:&059D0008 &13500003
ChangeWord:&028DD010 &13A00000
ChangeWord:&13A00000 &059D0008
ChangeWord:&128DD010 &E95BA800
File:!PCEmS.!configdb &FF8
Transform:Squeeze
Location:&2CA4
ChangeWord:&059D0008 &13500003
ChangeWord:&028DD010 &13A00000
ChangeWord:&13A00000 &059D0008
ChangeWord:&128DD010 &E95BA800
# Patch to allow RISC iX 1.1 to boot on RISC OS 3.
# The existing code in the boot modules does an OS_Byte 129 to read
# the operating system version number, and refuses to boot if it is not
# one of the versions it knows about. The code concerned is approximately:
# switch (os_version)
# {
# case &A0: /* Arthur 1.20 */
# case &A1: /* RISC OS 2.00 */
# break;
#
# default:
# panic("Unknown machine hardware");
# }
# Since RISC OS 3.00 returns &A3 for the os_version, RISC iX fails to
# boot. (&A2 is returned by RISC OS 2.01, which was only fitted to the
# A540/R260/R225 and anyway the R260 and R225 ship with RISC iX 1.2.)
# This patch modifies the default: statement to allow RISC iX 1.1 to boot
# with any RISC OS version number.
# The machine code changed is:
# ADRNE r0, "Unknown machine hardware"
# BLNE panic
# to:
# BNE continue_booting
# BLNE panic
Application:RISCiXFS &FFA
Description:!RISCiX boot application
Patch:Allows RISC iX 1.10 to boot on RISC OS 3
File:RISCiXFS &FFA
Location:&C398
ChangeWord:&128F0F09 &1A000010
VerifyWord:&1B0010C9
Application:SecureBoot &FFA
Description:RISC iX secure boot module
Patch:Allows RISC iX 1.10 to secure boot on RISC OS 3
File:SecureBoot &FFA
Location:&B644
ChangeWord:&128F0F09 &1A000010
VerifyWord:&1B0010C9
# There may be some other versions of these modules (eg. 1.13 and 1.15?).
# These versions (if they exist) may need different patches. The chances
# are that the code will be the same, but in a different location.
# Patch to allow RISC iX 1.2 to boot on RISC OS 3.
# The existing code in the boot modules does an OS_Byte 129 to read
# the operating system version number, and uses the result to determine
# whether it is on an A540/R260/R225, or a "standard" (A400/R140 etc.)
# machine. This is a totally bogus thing to do, as RISC OS 2.01 will run
# quite happily on a "standard" machine. The code concerned is
# approximately:
# switch (os_version)
# {
# case &A0: /* Arthur 1.20 */
# case &A1: /* RISC OS 2.00 */
# hardware = STANDARD;
# break;
#
# case &A2: /* RISC OS 2.01 */
# hardware = A540;
# break;
#
# default:
# panic("Unknown machine hardware");
# }
# Since RISC OS 3.00 returns &A3 for the os_version, RISC iX fails to
# boot. The actual machine type derived has very little effect anyway,
# even though it is passed to the RISC iX kernel and used. The only effect
# of any consequence is that if it thinks it is on an A540, RISC iX will
# not look for an on board ST506 controller, and device numbers of any
# ST506 podules will be lower as a result. (If there are no podules, then
# the ST506 driver code will be thrown away and the memory it was occupying
# scavenged for other things.) If you tell RISC iX it is on a "standard"
# machine when in fact it is on an A540, it will try to access the on board
# ST506 controller, fail (because there isn't one), report an error and
# continue, with the ST506 podule device numbers being greater than they
# would previously have been. (Even if there are no ST506 podules, the
# memory used by the code will not be scavenged as RISC iX thinks it has a
# controller even though it failed.) All in all, not much of a difference.
# The only other hardware differences between the A540 and "standard"
# machines are the selectable VIDC clocks on the A540 (24 MHz, 25.175 MHz
# and 36 MHz), the extra memory (8, 12 or 16 MB), the ARM3, and the ability
# to disable the reset key on the A540. The VIDC clocks are not a problem
# as RISC iX assumes it has got them, and switches to a 200 Hz frame rate
# special screen mode. It then switches to 36 MHz clock, and if the frame
# rate changes to 300 Hz then it has got switchable VIDC clocks. If the
# frame rate does not change, then it has not got switchable clocks.
# Similarly the memory size is not a problem as the boot module finds out
# directly from the hardware how many memory pages there are in the system,