80-Bus News

  

September-October 1984, Volume 3, Issue 5











Page 37 of 47











37

SYSTEM ROUTINES IN POLYDOS AND POLYDOS DISK BASIC By Geoff Higgs

The values of $TAE, #00UT, $U0UT, IN, UTN and €NMI are variously initialized by Nes-Sus 3, FROM BASTC, FolyuBbos arn Folybos Disc Basic. A table of these values might save some head scratching when incerporating user routines or petches.

Fetnon Whepe. Add. Nas-Sys 3 FROM BASTC FolyDos Dise Basic TAF OC71 (3185) 0700 €1792) 6700 (1792) CO7E c€-16258) CO7E (-16258)

$0UT OC73 (3187) G779 (1913) O779 (1913) O779 (1913) B1i38 c-20168) $U0OUT 0078 €3192) OO2ZF c 47) OO02F € 47) C240 (-15808) BISA (-20164)

$IN 0C75 (3189) O770 (19146) O77C (19146) D416 (-11242) D416 (-11242) $UIN OQC7E (3195) G02F c 473 GO2F €c 47) OO2F € 47) OO2F c 47)

$NMT OC7E (3198) G475 (1141) FEDE (-290) unaltered (see note *)

* The byte at OC7D is set to £C3 Cjumpd) by Nas-Sys initislizetion. OC7E/F is set to 0475 by Nas-Syus PARSE calling INLS at @27E8 each time, Therefore if am power up meither Nas-Sys or ROM EASTC is implemented then stete of OC7E/F is indeterminate, If Nas-Sys STMON is called Cas by FolyDoas) but Nas-Sys command input is mat used then the byte £03 is set but mot the subsequent address.

Note that FolyvDos copies out the routine table STABA to its workspace, The base is CO7E and the table actually begins at C100. Within this teble the addresses of MRET, CRT, NNIM;, and ELINK are altered. RKED;, SF2 and SCALIT are altered as these routines are written into FPolyDos so as to make it compatible with Nas-Sys 1.

Note further that Folubos Disc Basic extension to ROM basic once again alters the address of MRET and also alters the address of INLIN.

These changes are tabulated below. (decimal values in brackets)

Routine PI tec tee ae mene ae ea Pol yDaog (rr er ee address address table pos’n Basic add. NRET OSFE c€ 1022) DOD €-12140) C134 (c-16076) BEO79 (-20359) CRT 0190 c 400) D3C7 (€-11321) C148 c€-16056) NNIM 0742 c 1858) D410 (c-11248) CIie6E (-16016) BLINK 0078 c 41203 D419 €-11299) C174 c€-16012) REED 0082 € 142) D461 (€-11135) C178 (-16008) SF2 0362 c 844) D504 (€-11004) C1i7A (-16004) SCALT OSES c€ 1461) DSO9 (€-10999) Give c-16004) INLIN O2F0 c 7&2) not aitered C144 (--16060) EDEC c€-146916)

Since FolyDos keeps STABA in RAM then a routine to trap carriage returns before the CRT rowtine, such as shown above; can be “patched in" tather than written as an user routine. It is only mecessary to alter the address at C148 (-16056), normally D3C7 (€-11321) to the "patch" address and end the "patch" routine with @ jump to CRT c €3 C7 O39 >.


This is an OCR’d version of the scanned page and likely contains recognition errors.











Page 37 of 47