10.07.2015 Views

Uncompressed - The Tech Heap

Uncompressed - The Tech Heap

Uncompressed - The Tech Heap

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

EXTENDED BASIC UNRAVELLED IIAPPENDIX GEXTENDED BASIC 1.0 DIFFERENCESORIGIN:SPECTRAL ASSOCREVISED:12/26/1999 WALTER K ZYDHEK<strong>The</strong> differences between Extended Basic 1.0 and 1.1 are not earthshaking.<strong>The</strong> primary difference involves the bug in the PCLEAR commandwhich caused BASIC programs to generate a syntax or illegal functioncall error at certain times when a PCLEAR command was executed ina BASIC program. This error was caused by the fact that the BASIC inputpointer was not adjusted when the program was moved as a result of aPCLEAR command. Accordingly, when control was returned to the BASICprogram after a PCLEAR command the BASIC input pointer would invariablyend up pointing to the middle of the program which would causethe error.ADDRESS80D0-80DDDIFFERENCES BETWEEN EXTENDED BASIC 1.0 AND 1.1Patch to move the BASIC input pointer during PCLEAR(see Figure G1). <strong>The</strong> originial code in the 1.0 versionwas designed to allow the SAM chip to be programmedfor 64K RAMs on power up but the code was never accessedby any routines in any of the 3 Basic ROMs.* THIS CODE IS NOT USED BY ANY OF THE BASICS80D0 B6 FF22 LDA PIA1+2 READ PIA PORT B80D3 85 02 BITA #2 CHECK MEM SIZE JUMPER80D5 26 03 BNE L80DA BRANCH IF HIGH80D7 B7 FFDD STA SAM+29 SET SAM CNTL REG MEM SIZE TO 64K80DA 6E 84 L80DA JMP ,X JUMP TO ADDRESS IN X REG80DC 00 00 FCB $00,$00 DEAD SPACEFigure G1 - Version 1.0 Code80FF Change version number 1.0/1.18112 Change Copyright Year (units digit)8C1B-8C22Patch to fix the DLOAD bug (see Figure G2). <strong>The</strong> codein 1.0 version did not allow for the fact that thecurrent BASIC input character was not in ACCA followingthe CLOSEing of cassette files (JSR LA429).8C1B 6F E2 CLR ,-S SAVE DEFAULT TOKEN (NON DLOADM) ON STACK8C1D 81 4D CMPA #'M' IS IT DLOADM?8C1F 26 04 BNE L8C25 NO8C21 A7 E4 STA ,S SAVE THE M ON THE STACKFigure G2 - Version 1.0 code8C51Change instruction op code from BNE(1.0) to BEQ(1.1).This change was necessitated by the previous fix toDLOAD.9179 Change op code address field from #12(1.0) to #10(1.1).This change and the one following fix a minor bug inG1

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!