home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
mbug
/
mbug012.arc
/
BASMODS.LBR
/
BASMODS.DOC
next >
Wrap
Text File
|
1979-12-31
|
8KB
|
194 lines
Software modifications
for
Ver 6.22e Disk colour BASIC by Peter Burbidge (833).
DetaileΣá belo≈á arσ somσ change≤ ╔ havσ madσ t∩ MicroworlΣá Disδ ì
Basiπ running on the CIAB using dynamic RAM memory.
Tw∩ othe≥ file≤ accompan∙ thi≤ articlσ DUMPER.BE┼ anΣ DUMPER.MAC« ì
Thesσá file≤á contaiεá thσ screeε dum≡ routinσ fo≥á merginτá witΦ ì
Basic.
Thesσá change≤á arσá easil∙á madσ usinτ eithe≥ SI─á (o≥á DDT⌐á o≥ ì
SUPERZAP«á ╔ havσ includeΣ instruction≤ fo≥ botΦ s∩ thσ choicσ i≤ ì
yours«á I⌠ i≤ probabl∙ bes⌠ iµ eacΦ stagσ oµ thσ change≤ i≤ full∙ ì
testeΣ prio≥ t∩ thσ implementatioε oµ thσ nex⌠ stage¼á bu⌠ iµ yo⌡ ì
arσ reasonabl∙ carefu∞ al∞ change≤ caε bσ madσ a⌠ iε onσ stagσ a≤ ì
onl∙á ╢á byte≤á arσá t∩ bσ modifieΣ iµ thσá Screeεá dum≡á i≤á no⌠ ì
implemented«á Pleasσ notσ tha⌠ thσ Screeε dum≡ i≤ bes⌠á installeΣ ì
under SID or DDT.
Iµ usinτ SUPERZA╨ bσ warneΣ tha⌠ al∞ change≤ wil∞ bσ madσ oεá thσ ì
BASIC.CO═ filσ yo⌡ select« Thereforσ thi≤ filσ shoulΣ bσ
1« ┴ workinτ COP┘ oµ Basic« NO╘ you≥ maste≥ copy«
Usσ CP.CO═ to create a renamed copy of BASIC.COM
called NEWBASIC.COM.
e.g. A> CP -V BASIC.COM NEWBASIC.COM
2. Not a R/O file
There are 4 areas that have been changed :-
a) CURSOR CONTROL (editing only). Change 3 bytes
ááááááááááThσá ne≈á PC8╡ machine≤ havσ thσ EDI╘ key≤á changeΣá t∩ ì
áááááááááámatcΦ thosσ useΣ b∙ Wordbee¼á Wordsta≥ etc« Thσ change≤ ì
áááááááááádetaileΣ wil∞ givσ thi≤ samσ compatibility« e.g.
^S = Backwards from right to left. Replaces ^A.
^D = Forwards from left to right. Replaces ^S.
^F = Forward one word. Replaces ^W.
b) DEFAULT PRINTER on cold boot. Change 1 byte
ááááááááááThσá defaul⌠ printe≥ oε ColΣ boo⌠ ha≤ no≈ beeεá se⌠á t∩ ì
ááááááááááPARALLEL insteaΣ oµ SERIAL.á Oncσ agaiε a≤ pe≥ thσ PC8╡ ì
áááááááááámachines.
c) NET command enabled. Change 2 bytes
ááááááááááIssuσá thσ NE╘ commanΣ anΣ yo⌡ wil∞ instantl∙ bσ iε thσ ì
ááááááááááDisδ MONITOR«á Thi≤ wil∞ allo≈ basiπ prograφ 'bugsº etπ ì
áááááááááát∩ bσ fixeΣ prio≥ t∩ returninτ t∩ basic« Somethinτ tha⌠ ì
áááááááááácannot easily be done with a RESET & M.
d) GRAPHICS Screen Dump
ááááááááááThi≤ i≤ ß fairl∙ largσ modificatioε tha⌠ wil∞ allo≈ thσ ì
áááááááááá^P key to initiatσ ß Graphic≤ screeε dump« Thi≤ routinσ ì
áááááááááá╔ havσ includeΣ ß filσ nameΣ DUMPER.BEE«
èADDRESSES CHANGED
Address A318. For backwards right to left. Change from 01 to 13
" A320. " forwards left to right. " " 13 to 04
" A32C. " forwards one word. " " 17 to 06
" BA83. Jump vector LSB for NET. " " 01 to 03
" BA84. " " MSB " " " " A2 to E0
" 8549. List device number. " " 20 to 02
" A47E. Patch for screen dump enable. " " 04 to 3D
" A47F. " " " " " " " A5 to C6
" C63D to C6FD. Screen dump routine. See DUMPER.BEE
Changes under SID or DDT
áááááááááááááááEnter SID or DDT from CP/M by typing at the prompt
A> SID BASIC.COM <CR>
áááááááááááááááUsσá thσá 'Sº commanΣ t∩ changσ thσá datßá a⌠á thσ ì
áááááááááááááááfollowing locations :-
2518 was '01'. Change to '13' \
2520 was '13'. Change to '04' |- EDIT keys
252C was '17'. Change to '06' /
074╣áwa≤á'20'«áChangσ t∩á'02ºá- // PRINTER
3C83 was '01'. Change to '03' \
3C84 was 'A2'. Change to 'E0' |- NET command
áááááááááááááááááááá267E was '04'. Change to '3D' \
áááááááááááááááááááá267F was 'A5'. Change to 'C6' |- DUMP enable
e.g. Type 'S2518<CR>º to change EDIT keys
Theε ente≥ thσ requireΣ DATA. e.g '13<CR>'
áááááááááááááááUsσá thσ <RETURN╛ ke∙ t∩ ste≡ througΦ t∩ thσá nex⌠ ì
ááááááááááááááálocatioε, enter new DATA etc«
áááááááááááááááExi⌠á thσá 'Sº commanΣ b∙ typinτ ßá '.<CR>'«á Thi≤ ì
áááááááááááááááwil∞ pu⌠ yo⌡ bacδ a⌠ thσ commanΣ level.
Typσá 'S0749<CR>º t∩ changσ Defaul⌠ printe≥á DATA« ì
Theε exi⌠ t∩ commanΣ leve∞ afte≥ change≤ havσ beeε ì
made.
áááááááááááááááTypσ 'S3C83<CR>º t∩ changσ thσ Jum≡ vecto≥ fo≥ thσ ì
áááááááááááááááNE╘ command« Ente≥ thσ requireΣ DAT┴ anΣ theε exi⌠ ì
ááááááááááááááábacδ t∩ commanΣ level.
áááááááááááááááTypσá 'S267E<CR>ºá t∩á PatcΦ iεá thσá screeεá dum≡ ì
ááááááááááááááároutine«á Ente≥á thσá requireΣ DAT┴ anΣ theεá exi⌠ ì
áááááááááááááááback to command level.
áááááááááááááááMergσá iεá thσ screeε dum≡ routinσá DUMPER.BE┼á b∙ ì
ááááááááááááááátyping in the following at the command level :-
ááááááááááááááá'IDUMPER.BEE<CR>'
ááááááááááááááá'R473D<CR>' .
.paèáááááááááááááááIµá testinτá b∙ stage≤ exi⌠ SI─á witΦá 'G0ºá afte≥ ì
áááááááááááááááenterinτá thσ DAT┴ change≤ fo≥ eacΦ stagσ anΣ theε ì
áááááááááááááááfroφ CP/═ A╛ SAV┼ 73 NEWBASIC.COM
Tes⌠á tha⌠á eacΦá changσ work≤á a≤á requireΣá wheε ì
running under NEWBASIC
Changes under SUPERZAP
ááááááááááA≤ SUPERZA╨ make≤ change≤ oε ß secto≥ b∙ secto≥á basis¼ ì
áááááááááá│ sector≤ oµ thσ BASIC.CO═ filσ wil∞ neeΣ t∩ bσ edited.
ááá** NOTE The screen dump routine MUST be entered by SID or DDT
The sectors to be changed are :-
Sector 48 for EDIT keys
" 0C for Default LIST device
" 77 for Jump vector for NET command
ááááááááááIµá testinτá b∙á stage≤ exi⌠á Superza≡á b∙á typinτá 'Xº ì
áááááááááábetweeεá eacΦ stage«á Al∞ change≤ madσ t∩ an∙ sector(s⌐ ì
ááááááááááwil∞á theεá bσ saveΣ t∩ disπ anΣ tha⌠ fuctioεá caεá bσ ì
áááááááááátheε bσ checkeΣ unde≥ Basic.
ááááááááááSelec⌠ thσ filσ yo⌡ wil∞ wisΦ t∩ edi⌠ i.σ NEWBASIC.COM
ááááááááááT∩á d∩á thi≤á positioε thσ curso≥ a⌠á NEWBASIC.CO═á anΣ ì
áááááááááápres≤ 'S'.
ááááááááááThen press 'S' to SELECT SECTOR.
ááááááááááEnter then Sector No. e.g '48<CR>'
ááááááááááTheεá pres≤ 'Cº t∩ CHANG┼ SECTOR«á Positioεá curso≥á a≤ ì
áááááááááárequired and change the DATA.
áááááááááá In SECTOR 48 Change DATA at 2418 from '01' to '13'
" " " 2420 " '13' to '04'
" " " 242C " '17' to '06'
Save changes by typing '^Z'
In SECTOR 0C change DATA at 0649 from '20' to '02'
Save changes by typing '^Z'
In SECTOR 77 Change DATA at 3B83 from '01' to '03'
" " " 3B84 " 'A2' to 'E0'
Save changes by typing '^Z'
Iµ al∞ change≤ arσ finisheΣ exi⌠ Superza≡ b∙ typinτ 'Xº ì
and all sector changes will be saved to disk.
èTESTING
áááááTestinτá i≤ quitσ easil∙ achieveΣ b∙ runninτ thi≤á NEWBASI├ ì
áááááand trying it out.
áááááThσá defaul⌠ printe≥ shoulΣ bσ checkeΣ b∙ issuinτ ßá LPRIN╘ ì
ááááácommanΣ o≥ LLISTinτ ß fe≈ prograφ lines«á (Makσ surσ printe≥ ì
áááááin plugged in and on-line)
Thσá NE╘á commanΣ wheε issueΣ shoulΣ pu⌠ yo⌡á straigh⌠á int∩ ì
áááááMONITOR«á Yo⌡á shoulΣ bσ ablσ t∩ ge⌠ bacδ t∩ Basiπ witΦá thσ ì
ááááácommand ╟ 8021<CR>
áááááThσá EDI╘á key≤ shoulΣ worδ a≤ thσ EDI╘ functioε diΣá beforσ ì
áááááexcept the ^S moves cursor right to left
^D moves " left to right
^F moves " one word to right
áááááThσ Screeε dum≡ shoulΣ worδ wheneve≥ thσ ^╨ ke∙ i≤á pressed« ì
áááááMakσá surσá thσá printe≥ i≤ onlinσá firs⌠á though«á Tr∙á thσ ì
áááááfollowinτ commands:- LOAD¼á LIST¼ DIR¼ HIRES¼ PCG¼ DISKRESE╘ ì
áááááwitΦá ßá ^╨á afte≥ eacΦ t∩ ensurσ al∞ i≤ OK«á Wheεá dum≡á i≤ ì
áááááfinisheΣ ensurσ tha⌠ keyboarΣ entr∙ i≤ OK.
áááááIµá yo⌡á wisΦ t∩ usσ somσ othe≥ screeε dum≡á program¼á avoiΣ ì
áááááusinτá location≤ C70░ t∩ C78░ a≤ thesσ appea≥ t∩ bσ useΣá b∙ ì
áááááthσ HIRE╙ commanΣ fo≥ countinτ PC╟ characters(?).
Iµ al∞ work≤ finσ yo⌡ caε ERAsσ thσ olΣ BASIC.CO═ anΣ RENamσ ì
the NEWBASIC.COM as BASIC.COM.
Good luck. Peter Burbidge (833)