D6G
Sprow
999
Aform ID
Last time,Gary Scott was faced with a
"Bad machine type" error when running
the Aform program from the Master
Welcome disk on a BBC upgraded with
1770 controller and ADFS.
The reason why you receive the "Bad
machine type" error is because there is
a check routine in the program that
issues OSbyte 0 (read OS major
version),which on a BBC returns 1,but
on a Master returns 3.This value is
hard coded into the MOS ROM,so cannot
be altered.
To get around it you'll need to alter
the Aform program for the BBC,or to
intercept the OSbyte vector and fiddle
the answer returned in X.
To do this type at he BASIC prompt
*LOAD Aform 2FB3
?&3EFC=1
*SAVE BBCVER FF2FB3 +1630 FF2FB3
This will result in the file BBCVER
which will work with the major issue
1.xx MOS.
Note it will only work if the copy of
Aform is V1.30/C - the same as I have,
and if the hardware is mapped into the
same place as on a Master.I cannot
guarantee this,as I don't have a model
B with me,here at university.
The "OSType" program on this issue
disk solves the Aform problem by a
more generic approach _ altering the
osbyte call to the OS and fiddling
the result.
It is configured to return OS3.xx
and INKEY(-256)=253 and resides in
the page &C00.This will allow BBC B
users to simulate a Master 128.If these
values or this location is not
suitable,send your address;£2.50;and a
piece of paper with your requirements
on and I'll return a disk with a custom
version on disk for you.
You can download the most recent
version of the software from my web
page along with some other programs
I have submitted to past issues,which
have since been improved/rewritten.
Web page
www.york.ac.uk/~rps102/bbc/bbc.htm
Or 8BSmail me on D6G
Email rps102@york.ac.uk
Write to 6 Bollinbrook road,
MACCLEFIELD,
Cheshire.
SK10 3DJ.
Robert Sprowson ("Sprow")
D6G
Sprow
999
Patches and RPS files
To add to the series of patches that
I have sent (all fitting into less than
a page,&C00) I have written yet
another.
This month's corrects a bug in BASIC II
that means indenting of FOR...NEXT and
REPEAT...UNTIL loops doesn't work
properly if the LISTO bits are set,
To try,type in (noting the spaces)
10FORx=1TO99
20PRINT"HELLO"
30PRINT"TO"
40PRINT"YOU"
50REPEAT
60PRINT"DUMMY LOOP"
70UNTIL0
80PRINT"AND ONE MORE"
90NEXT
Listing this normally will appear as
above,but try LISTO7 (indent loops
and lines option).The closing NEXT
and UNTIL0 will be left indented,not
pulled back in,as it should be.
This bug has been fixed on BASIC IV
for the Master,but can be fixed for
earlier versions by *RUNning LISTFIX.
Use LISTO7 again,and breath a sigh of
relief - it's proper!
Note that due to tight space,the
interception of OSWCVector is not
as complete as the QUIDFIX program the
other month.Hence,don't send obscure
control sequences if possible - it
will have undefined effects.
For those of you with internet access,
be it at work or home,you can download
the most recent version of my software
from my webpage.
All the titles are ones submitted to
past issues,which have since been
improved/rewritten.
The files are RPS encoded (hmm,RPS are
my initials - a coincidence??) so that
even if you donwload some machine code
for the BBC on a PC,the load and exec
addresses can be restored.
The idea is explained more on my web
page,along with the required decoders.
Web page
www.york.ac.uk/~rps102/bbc/bbc.htm
Or 8BSmail me on D6G.
Email rps102@york.ac.uk
Write to 6 Bollinbrook road,
MACCLEFIELD,
Cheshire.
SK10 3DJ.
Robert Sprowson ("Sprow")