home *** CD-ROM | disk | FTP | other *** search
/ CBM Funet Archive / cbm-funet-archive-2003.iso / cbm / maps / C128rom.doc < prev    next >
Text File  |  1995-03-08  |  29KB  |  1,270 lines

  1. ;cOMMODORE 128 rom mEMORY mAP
  2. ;WITH ram sUBROUTINES
  3. ;
  4. ;cONTAINS 1986 bASIC AND vdc PATCH INFORMATION.
  5. ;
  6. ;v1.41 mAR 1995
  7. ;
  8.  
  9. ; dATA TYPES IN HEADERS (FOR REASSEMBLER):
  10. ;
  11. ;datamISC DATA
  12. ;textsTRING TERMINATED WITH 00
  13. ;wordvECTORS IN lo/hi BYTE PAIRS
  14. ;chipi/o aREA
  15. ;emptyrom CONTAINING ff'S OR aa'S
  16. ;
  17.  
  18. ;
  19. ; c128 ram sUBROUTINES
  20. ;
  21.  
  22. 0002bANK nUMBER, jUMP TO sys ADDRESS
  23. 0056jUMP VECTOR FOR FUNCTIONS
  24.  
  25. 02A2bANK pEEK sUBROUTINE
  26. 02AFbANK pOKE sUBROUTINE
  27. 02BEbANK cOMPARE sUBROUTINE
  28. 02CDjsr TO ANOTHER BANK
  29. 02E3jmp TO ANOTHER BANK
  30. 0380chrget
  31. 0386chrgot ENTRY
  32. 0390?
  33. 039FfETCH fROM bANK 0
  34. 03ABfETCH fROM bANK 1
  35. 03B7fETCH fROM bANK 1
  36. 03C0fETCH fROM bANK 0
  37. 03C9fETCH fROM bANK 0
  38. 03F0dma lINK cODE
  39.  
  40. ;
  41. ; basic 7.0 INTERPRETER rom ($4000 - $afff)
  42. ;
  43. ;  basic rom lo
  44. ;
  45. 4000bASIC eNTRY jUMPS
  46. ;4000cOLD eNTRY
  47. ;4003wARM eNTRY
  48. ;4006irq eNTRY
  49.  
  50. 4009bASIC rESTART
  51. 4023bASIC cOLD sTART
  52. 4045sET-uP bASIC cONSTANTS
  53. 4112cHIME
  54. 417AsET pRECONFIG rEGISTERS
  55. 4189rEGISTERS fOR $d501data
  56. 418DiNIT sPRITE mOVEMENT tABS
  57. 419BpRINT sTARTUP mESSAGE
  58. 41BBsTARTUP mESSAGEdata
  59. 4251sET bASIC lINKS
  60. 4267bASIC lINKS FOR $0300word
  61. 4279cHRGET fOR $0380
  62. 42CEgET fROM ($50) bANK1
  63. 42D3gET fROM ($3F) bANK1
  64. 42D8gET fROM ($52) bANK1
  65. 42DDgET fROM ($5C) bANK0
  66. 42E2gET fROM ($5C) bANK1
  67. 42E7gET fROM ($66) bANK1
  68. 42ECgET fROM ($61) bANK0
  69. 42F1gET fROM ($70) bANK0
  70. 42F6gET fROM ($70) bANK1
  71. 42FBgET fROM ($50) bANK1
  72. 4300gET fROM ($61) bANK1
  73. 4305gET fROM ($24) bANK0
  74. 430AcRUNCH tOKENS
  75. 43CCmOVE dOWN iNPUT bUFFER
  76. 43E2cHECK kEYWORD mATCH
  77. 4417kEYWORDS - nON PREFIXEDdata
  78. 4609kEYWORDS - pREFIX fedata
  79. 46C9kEYWORDS - pREFIX cedata
  80. 46FCaCTION vECTORSword
  81. 47D8fUNCTION vECTORSword
  82. 4828dEFUNCT vECTORSdata
  83. ; eACH dEFUNCT vECTOR IS PRECEDED BY A PRIORITY CODE.
  84.  
  85. 4846uNIMPLEMENTED cOMMANDS
  86. 484BeRROR mESSAGESdata
  87. 4A82fIND mESSAGE
  88. 4A9FsTART nEW bASIC cODE
  89. 4B34uPDATE cONTINUE pOINTER
  90. 4B3FeXECUTE/tRACE sTATEMENT
  91. 4BB5?
  92. 4BCBpERFORM [STOP]
  93. 4BCDpERFORM [END]
  94. 4BF7sETUP fn rEFERENCE
  95. 4C86eVALUATE <OR>
  96. 4C89eVALUATE <AND>
  97. 4CB6eVALUATE <COMPARE>
  98. 4D2ApRINT 'READY'
  99. 4D2D'READY.'text
  100. 4D37eRROR OR rEADY
  101. 4D3ApRINT 'OUT OF MEMORY'
  102. 4D3CeRROR
  103. 4DAFbREAK eNTRY
  104. 4DC3rEADY fOR bASIC
  105. 4DE2hANDLE nEW lINE
  106. 4F4FrECHAIN lINES
  107. 4F82rESET eND-OF-bASIC
  108. 4F93rECEIVE iNPUT lINE
  109. 4FAAsEARCH b-sTACK fOR mATCH
  110. 4FFEmOVE b-sTACK dOWN
  111. 5017cHECK mEMORY sPACE
  112. 5047cOPY b-sTACK pOINTER
  113. 5050sET b-sTACK pOINTER
  114. 5059mOVE b-sTACK uP
  115. 5064fIND bASIC lINE
  116. 50A0gET fIXED pT nUMBER
  117. 50E2pERFORM [LIST]
  118. 5123lIST sUBROUTINE
  119. 51D6pERFORM [NEW]
  120. 51F3sET uP rUN
  121. 51F8pERFORM [CLR]
  122. 5238cLEAR sTACK & wORK aREA
  123. 5250pUDEF cHARACTERSdata
  124. 5254bACK uP tEXT pOINTER
  125. 5262pERFORM [RETURN]
  126. 528FpERFORM [DATA/BEND]
  127. 529DpERFORM [REM]
  128. 52A2sCAN tO nEXT sTATEMENT
  129. 52A5sCAN tO nEXT lINE
  130. 52C5pERFORM [IF]
  131. 5320sEARCH/sKIP bEGIN/bEND
  132. 537CsKIP sTRING cONSTANT
  133. 5391pERFORM [ELSE]
  134. 53A3pERFORM [ON]
  135. 53C6pERFORM [LET]
  136. 54F6cHECK sTRING lOCATION
  137. 553ApERFORM [PRINT#]
  138. 5540pERFORM [CMD]
  139. 555ApERFORM [PRINT]
  140. 5600pRINT fORMAT cHAR
  141. 5607-PRINT '<CURSOR RIGHT>'-
  142. 5604-PRINT SPACE-
  143. 560A-PRINT '?'-
  144. 5612pERFORM [GET]
  145. 5635gETKEY
  146. 5648pERFORM [INPUT#]
  147. 5662pERFORM [INPUT]
  148. 569CpROMPT & iNPUT
  149. 56A9pERFORM [READ]
  150. 57F4pERFORM [NEXT]
  151. 587BpERFORM [DIM]
  152. 5885pERFORM [SYS]
  153. 58B4pERFORM [TRON]
  154. 58B7pERFORM [TROFF]
  155. 58BDpERFORM [RREG]
  156. 5901aSSIGN <MID$>
  157. 5975pERFORM [AUTO]
  158. 5986pERFORM [HELP]
  159. 59ACiNSERT hELP mARKER
  160. 59CFpERFORM [GOSUB]
  161. 59DBpERFORM [GOTO]
  162. 5A15uNDEF'D sTATEMENT
  163. 5A1DpUT sUB tO b-sTACK
  164. 5A3DpERFORM [GO]
  165. 5A60pERFORM [CONT]
  166. 5A9BpERFORM [RUN]
  167. 5ACApERFORM [RESTORE]
  168. 5AF0kEYWORDS tO rENUMBERdata
  169. 5AF8pERFORM [RENUMBER]
  170. 5BAErENUMBER-cONTINUED
  171. 5BFBrENUMBER sCAN
  172. 5D19cONVERT lINE nUMBER
  173. 5D68gET rENUMBER sTART
  174. 5D75cOUNT oFF lINES
  175. 5D89aDD rENUMBER iNC
  176. 5D99sCAN aHEAD
  177. 5DA7sET uP bLOCK mOVE
  178. 5DC6bLOCK mOVE dOWN
  179. 5DDFbLOCK mOVE uP
  180. 5DEEcHECK bLOCK lIMIT
  181. 5DF9pERFORM [FOR]
  182. 5E87pERFORM [DELETE]
  183. 5EFBgET lINE nUMBER rANGE
  184. 5F34pERFORM [PUDEF]
  185. 5F4DpERFORM [TRAP]
  186. 5F62pERFORM [RESUME]
  187. 5FB7rEINSTATE tRAP pOINT
  188. 5FD8sYNTAX eXIT
  189. 5FDBpRINT 'CAN'T RESUME'
  190. 5FE0pERFORM [DO]
  191. 6039pERFORM [EXIT]
  192. 608ApERFORM [LOOP]
  193. 60B4pRINT 'LOOP NOT FOUND'
  194. 60B7pRINT 'LOOP WITHOUT DO'
  195. 60DBeVAL wHILE/uNTIL aRGUMENT
  196. 60E1dEFINE pROGRAMMED kEY
  197. 610ApERFORM [KEY]
  198. 619D'+CHR$('data
  199. 61A8pERFORM [PAINT]
  200. 627CcHECK pAINTING sPLIT
  201. 62B7pERFORM [BOX]
  202. 63EDdata
  203. 63F5aUTHORSdata
  204. 640B?
  205. 642BpERFORM [SSHAPE]
  206. 658DpERFORM [GSHAPE]
  207. 668EpERFORM [CIRCLE]
  208. 6750dRAW cIRCLE
  209. 6797pERFORM [DRAW]
  210. 67D7pERFORM [CHAR]
  211. 68DB?
  212. 6955pERFORM [LOCATE]
  213. 6960pERFORM [SCALE]
  214. 69D8sCALE fACTOR cONSTANTSdata
  215. ;69D8
  216. ;69DD
  217.  
  218. 69E2pERFORM [COLOR]
  219. 6A4CcOLOR cODESdata
  220. 6A5ClOG cURRENT cOLORS
  221. 6A79pERFORM [SCNCLR]
  222. 6B06fILL mEMORY pAGE
  223. 6B17sET sCREEN cOLOR
  224. 6B5ApERFORM [GRAPHIC]
  225. 6BC9pERFORM [BANK]
  226. 6BD7pERFORM [SLEEP]
  227. 6C09mULTIPLY sLEEP tIME
  228. 6C2DpERFORM [WAIT]
  229. 6C4FpERFORM [SPRITE]
  230. 6C9B?
  231. 6CB3bIT mASKSdata
  232. 6CBB?
  233. 6CC6pERFORM [MOVSPR]
  234. 6D9E?
  235. 6DC6?
  236. 6DD9sPRITE mOTION tABLE oFFSETSdata
  237. 6DE1pERFORM [PLAY]
  238. 6E02aNALYZE pLAY cHARACTER
  239. 6E66-fILTER
  240. 6E9D-vOICE
  241. 6EA8-oCTAVE
  242. 6EB2sET sid sOUND
  243. 6EDD-vOLUME
  244. 6EFDpLAY eRROR
  245. 6F03dOTTED nOTE
  246. 6F07nOTE lENGTH cHAR
  247. 6F1EnOTE a-g
  248. 6F52...VOTXUM...
  249. 6F69sHARP
  250. 6F6CfLAT
  251. 6F78rEST
  252. 6FD7pERFORM [TEMPO]
  253. 6FE4vOICE tIMES tWOdata
  254. 6FE7lENGTH cHARACTERSdata
  255. 6FECcOMMAND cHARACTERSdata
  256. 6FF2iNDEXES FOR nOTE sYMBOLSdata
  257. 6FF9pITCH lo -- ntscdata
  258. 7005pITCH hi -- ntscdata
  259. 7011eNVELOPE a/d pATTERNSdata
  260. 702FcHIME sEQdata
  261. 7039sid vOICE oFFSETSdata
  262. 703Csid vOLUME sCALEdata
  263. 7046pERFORM [FILTER]
  264. 70C1pERFORM [ENVELOPE]
  265. 7164pERFORM [COLLISION]
  266. 7190pERFORM [SPRCOLOR]
  267. 71B6pERFORM [WIDTH]
  268. 71C5pERFORM [VOL]
  269. 71ECpERFORM [SOUND]
  270. 72CCpERFORM [WINDOW]
  271. 7335pERFORM [BOOT]
  272. 7372pERFORM [SPRDEF]
  273. 7452-pERFORM [HOME]
  274. 7497-pERFORM [1234]
  275. 74F4-pERFORM []
  276. 74FE-pERFORM [SHIFT-RETURN]
  277. 7506-pERFORM [M]
  278. 751C-pERFORM [Y]
  279. 751F-pERFORM [X]
  280. 7530-pERFORM [CLR]
  281. 753F-pERFORM [RIGHT]
  282. 7542-pERFORM [LEFT]
  283. 7564-pERFORM [UP]
  284. 7567-pERFORM [DOWN]
  285. 7576-pERFORM [A]
  286. 7581-pERFORM [RETURN]
  287. 7588-pERFORM [C]
  288. 75D1-?
  289. 7610-?
  290. 763F-?
  291. 764A-?
  292. 7663?data
  293. 767Fsprdef cOMMANDSdata
  294. 7691sprdef cOMMAND vECTORS hi/lodata
  295. 76B5sprdef cOLOR cOMMANDSdata
  296. 76C5?
  297. 76D4?
  298. 76ECpERFORM [SPRSAV]
  299. 77B3pERFORM [FAST]
  300. 77C4pERFORM [SLOW]
  301. 77D7tYPE mATCH cHECK
  302. 77DAcONFIRM nUMERIC
  303. 77DDcONFIRM sTRING
  304. 77E7pRINT 'TYPE MISMATCH'
  305. 77EApRINT 'FORMULA TOO COMPLEX'
  306. 77EFeVALUATE eXPRESSION
  307. 78D7eVALUATE iTEM
  308. 78FEcONSTANT pidata
  309. 7903cONTINUE eXPRESSION
  310. 7930eVALUATE <EQUAL>
  311. 793CfIXED-fLOAT
  312. 7942?
  313. 7950eVAL wITHIN pARENS
  314. 7956-cHECK rIGHT pARENTHESIS
  315. 7959-cHECK lEFT pARENTHESIS
  316. 795C-cHECK cOMMA
  317. 796CsYNTAX eRROR
  318. 7978sEARCH fOR vARIABLE
  319. 7A85uNPACK ram1 TO fac#1
  320. 7AAFlOCATE vARIABLE
  321. 7B3CcHECK aLPHABETIC
  322. 7B46cREATE vARIABLE
  323. 7CABsET uP aRRAY
  324. 7D25pRINT 'BAD SUBSCRIPT'
  325. 7D28pRINT 'ILLEGAL QUANTITY'
  326. 7D2D?
  327. 7D46?
  328. 7E3EcOMPUTE aRRAY sIZE
  329. 7E71aRRAY pOINTER sUBROUTINE
  330.  
  331. 7E82rESERVED fOR fUTURE pATCHES
  332.  
  333. ; pATCHES ADDED IN THE 1986 RELEASE:
  334. ;
  335. 7E82sET bANK PATCH FOR [CHAR]
  336. 7E88sET bANK PATCH FOR sCREEN pRINT lINK
  337. 7E8EpATCH FOR rENUMBER sCAN
  338. 7E94pATCH FOR [DELETE]
  339. 7EA6pATCH FOR nOTE a-g
  340. 7EB9pITCH lo -- paldata
  341. 7EC5pITCH hi -- paldata
  342. 7ED1sTRING sTACK PATCH FOR eRROR
  343. 7ED9uNUSEDempty
  344. 7FC0cOPYRIGHT bANNERdata
  345. 7FFCcHECKSUM (?)data
  346.  
  347.  
  348. ;
  349. ; basic rom hi
  350. ;
  351. 8000eVALUATE <FRE>
  352. 8020dECRYPT mESSAGE
  353. 803A-fREE IN bANK 1
  354. 804AeVALUATE <VAL>
  355. 8052sTRING TO fLOAT
  356. 8076eVALUATE <DEC>
  357. 80C5eVALUATE <PEEK>
  358. 80E5pERFORM [POKE]
  359. 80F6eVALUATE <ERR$>
  360. 8139sWAP X wITH Y
  361. 8142eVALUATE <HEX$>
  362. 816BbYTE TO hEX
  363. 8182eVALUATE <RGR>
  364. 818CgET gRAPHICS mODE
  365. 819BeVALUATE <RCLR>
  366. 81F3crtc cOLOR cODESdata
  367. 8203eVALUATE <JOY>
  368. 8242jOYSTICK vALUESdata
  369. 824DeVALUATE <POT>
  370. 82AEeVALUATE <PEN>
  371. 82FAeVALUATE <POINTER>
  372. 831EeVALUATE <RSPRITE>
  373. 835Bvic sPRITE rEGISTER nUMBERSdata
  374. 8361eVALUATE <RSPCOLOR>
  375. 837CeVALUATE <BUMP>
  376. 8397eVALUATE <RSPOS>
  377. 83E1eVALUATE <XOR>
  378. 8407eVALUATE <RWINDOW>
  379. 8434eVALUATE <RND>
  380. 8490rND mULTIPLIERdata
  381. 849AvALUE 32768data
  382. 849FfLOAT-fIXED uNSIGNED
  383. 84A7eVALUATE fIXED nUMBER
  384. 84ADfLOAT-fIXED sIGNED
  385. 84C9fLOAT (.Y, .A)
  386. 84D0eVALUATE <POS>
  387. 84D4bYTE tO fLOAT
  388. 84D9cHECK dIRECT
  389. 84DDpRINT 'ILLEGAL DIRECT'
  390. 84E0pRINT 'UNDEF'D FUNCTION'
  391. 84E5sET uP 16 bIT fIX-fLOAT
  392. 84F0cHECK dIRECT
  393. 84F5pRINT 'DIRECT MODE ONLY'
  394. 84FApERFORM [DEF]
  395. 8528cHECK fn sYNTAX
  396. 853BpERFORM [FN]
  397. 85AEeVALUATE <STR$>
  398. 85BFeVALUATE <CHR$>
  399. 85D6eVALUATE <LEFT$>
  400. 860AeVALUATE <RIGHT$>
  401. 861CeVALUATE <MID$>
  402. 864DpULL sTRING pARAMETERS
  403. 8668eVALUATE <LEN>
  404. 866EeXIT sTRING mODE
  405. 8677eVALUATE <ASC>
  406. 8688cALC sTRING vECTOR
  407. 869AsET uP sTRING
  408. 874EbUILD sTRING TO mEMORY
  409. 877BeVALUATE sTRING
  410. 87E0cLEAN dESCRIPTOR sTACK
  411. 87F1iNPUT bYTE pARAMETER
  412. 87F4-eVAL bYTE pARAMETER
  413. 8803pARAMS fOR pOKE/wAIT
  414. 880FiNPUT nEXT fLOAT/fIXED vALUE
  415. 8812-iNPUT fLOAT/fIXED vALUE
  416. 8815fLOAT/fIXED
  417. 882EsUBTRACT fROM mEMORY
  418. 8831eVALUATE <SUBTRACT>
  419. 8845aDD mEMORY
  420. 8848eVALUATE <ADD>
  421. 88D6zERO bOTH aCCUYMULATORS
  422. 8917tRIM fac#1 lEFT
  423. 8926nEGATE fac#1
  424. 894ErOUND uP fac#1
  425. 895DpRINT 'OVERFLOW'
  426. 8962?
  427. 899ClOG sERIESdata
  428.  
  429. ;899C1.00
  430. ;89A1#03(COUNTER)
  431. ;89A20.434255942
  432. ;89A70.57658454
  433. ;89AC0.961800759
  434. ;89B12.885390073
  435. ;89B60.707106781sqr(0.5)
  436. ;89BB1.41421356srq(2)
  437. ;89C0-0.5
  438. ;89C50.693147181log(2)
  439. ;
  440.  
  441. 89CAeVALUATE <LOG>
  442. 8A0EaDD 0.5
  443. 8A12aDD mEMORY aT a/y
  444. 8A18sUBTRACT mEMORY aT a/y
  445. 8A1EdIVIDE bY mEMORY
  446. 8A24mULTIPLY bY mEMORY
  447. 8A27eVALUATE <MULTIPLY>
  448. 8A89uNPACK rom TO fac#2
  449. 8AB4uNPACK ram1 TO fac#2
  450. 8AECtEST bOTH aCCUMULATORS
  451. 8B09oVERFLOW/uNDERFLOW
  452. 8B17mULTIPLY bY 10
  453. 8B2E+10data
  454.  
  455. 8B33pRINT 'DIVISION BY ZERO'
  456. 8B38dIVIDE bY 10
  457. 8B49dIVIDE iNTO mEMORY
  458. 8B4CeVALUATE <DIVIDE>
  459. 8BD4uNPACK rom TO fac#1
  460. 8BF9pACK fac#1 TO $5E
  461. 8BFCpACK fac#1 TO $59
  462. 8C00pACK fac#1 TO ram1
  463. 8C28fac#2 TO fac#1
  464. 8C38fac#1 TO fac#2
  465. 8C47rOUND fac#1
  466. 8C57gET sIGN
  467. 8C65eVALUATE <SGN>
  468. 8C68bYTE fIXED-fLOAT
  469. 8C75fIXED-fLOAT
  470. 8C84eVALUATE <ABS>
  471. 8C87cOMPARE fac#1 TO mEMORY
  472. 8CC7fLOAT-fIXED
  473. 8CFBeVALUATE <INT>
  474. 8D22sTRING TO fac#1
  475. 8DB0gET aSCII dIGIT
  476. 8E17sTRING cONVERSION cONSTANTSdata
  477.  
  478. ;8E17  99999999.9
  479. ;8E1C 999999999
  480. ;8E211000000000
  481. ;
  482.  
  483. 8E26pRINT 'IN...'
  484. 8E32pRINT iNTEGER
  485. 8E42fLOAT TO aSCII
  486. 8F76+0.5data
  487. 8F7BdECIMAL cONSTANTSdata
  488. ; tHIS TABLE CONTAINS 4-BYTE POWERS OF 10
  489. ; USED AT 8ED2 IN CONVERTING NUMERIC VALUES TO ASCII.
  490. ;
  491.  
  492. 8F9Fti cONSTANTSdata
  493. 8FB7eVALUATE <SQR>
  494. 8FBErAISE TO mEMORY pOWER
  495. 8FC1eVALUATE <POWER>
  496. 8FFAeVALUATE <NEGATE>
  497. 9005eXP sERIESdata
  498.  
  499. ;90051.44269504(1/log TO BASE 2 E)
  500. ;900A#07(COUNTER)
  501. ;900B2.149875 e-5
  502. ;90101.435231 e-4
  503. ;90151.342263 e-3
  504. ;901A9.6414017 e-3
  505. ;901F5.550513 e-2
  506. ;90242.402263 e-4
  507. ;90296.931471 e-1
  508. ;902E1.00
  509. ;
  510.  
  511. 9033eVALUATE <EXP>
  512. 90D0i/o eRROR mESSAGE
  513. 90D8bASIC 'OPEN'
  514. 90DFbASIC 'CHROUT'
  515. 90E5bASIC 'INPUT'
  516. 90EBrEDIRECT oUTPUT
  517. 90FDrEDIRECT iNPUT
  518. 9112pERFORM [SAVE]
  519. 9129pERFORM [VERIFY]
  520. 912CpERFORM [LOAD]
  521. 918DpERFORM [OPEN]
  522. 919ApERFORM [CLOSE]
  523. 91AEgET lOAD/sAVE pARAMETERS
  524. 91DDgET nEXT bYTE vALUE
  525. 91E3gET cHARACTER OR aBORT
  526. 91EBmOVE TO nEXT pARAMETER
  527. 91F6gET oPEN/cLOSE pARAMETERS
  528. 9243rELEASE i/o sTRING
  529. 9251cALL 'STATUS'
  530. 9257cALL 'SETLFS'
  531. 925DcALL 'SETNAM'
  532. 9263cALL 'GETIN'
  533. 9269cALL 'CHROUT'
  534. 926FcALL 'CLRCHN'
  535. 9275cALL 'CLOSE'
  536. 927BcALL 'CLALL'
  537. 9281pRINT fOLLOWING tEXT
  538. 9287sET lOAD/sAVE bANK
  539. 928DcALL 'PLOT'
  540. 9293cALL 'TEST STOP'
  541. 9299mAKE rOOM fOR sTRING
  542. 92EAgARBAGE cOLLECTION
  543. 9409eVALUATE <COS>
  544. 9410eVALUATE <SIN>
  545. 9459eVALUATE <TAN>
  546. 9485tRIG sERIESdata
  547.  
  548. ;94851.570796327PI/2
  549. ;948A6.28318531PI*2
  550.  
  551. 948F0.25data
  552.  
  553. ;
  554. ;9494#05(COUNTER)
  555. ;9495-14.3813907
  556. ;949A 42.0077971
  557. ;949F-76.7041703
  558. ;94A4 81.6052237
  559. ;94A9-41.3417021
  560. ;94AE 6.28318531
  561. ;
  562.  
  563. 94B3eVALUATE <ATN>
  564. 94E3atn sERIESdata
  565.  
  566. ;94E3#0B(COUNTER)
  567. ;94E4-0.000684793912
  568. ;94E9 0.00485094216
  569. ;94EE-0.161117018
  570. ;94F3 0.034209638
  571. ;94F8-0.0542791328
  572. ;94FD 0.0724571965
  573. ;9502-0.0898023954
  574. ;9507 0.110932413
  575. ;950C-0.142839808
  576. ;9511 0.19999912
  577. ;9516-0.333333316
  578. ;951B 1.00
  579. ;
  580.  
  581. 9520pRINT uSING
  582. 96EE?
  583. 97B9?
  584. 97FB?
  585. 981C?
  586. 98EB?
  587. 98F2?
  588. 99C1eVALUATE <INSTR>
  589. 9A74?
  590. 9ACE?
  591. 9AF3?
  592. 9B0CeVALUATE <RDOT>
  593. 9B30dRAW lINE
  594. 9BFBpLOT pIXEL
  595. 9C49eXAMINE pIXEL
  596. 9C70sET hI-rES cOLOR cELL
  597. 9CCAvIDEO mATRIX lINES hIdata
  598. 9CE3pOSITION pIXEL
  599. 9D1CbIT mASKSdata
  600. 9D24cALC hI-rES rOW/cOLUMN
  601. 9D4A?
  602. 9D67cALCULATE gRAPHICS cOORDINATES
  603. 9D6DaDD gRAPHICS cOORDINATE
  604. 9D7CsUBTRACT gRAPHICS cOORDINATE
  605. 9D8FrEAD cURRENT x pOSITION TO a/y
  606. 9D99?
  607. 9DAE?
  608. 9DF2rESTORE pIXEL cURSOR
  609. 9E06cHECK oPTIONAL fLOAT/fIXED pARAMETER
  610. 9E1CiNPUT oPTIONAL bYTE pARAMETER
  611. 9E1C-cHECK bYTE pARAMETER IN lIST
  612. 9E2FpARSE gRAPHICS cOMMAND
  613. 9E32gET cOLOR sOURCE pARAM
  614. 9F25mULTICOLOR pIXEL mASKSdata
  615. 9F29cONV wORDS hIdata
  616. 9F3DcONV wORDS lOdata
  617. 9F4FaLLOCATE 9k gRAPHICS aREA FOR GRAPHIC/SPRDEF
  618. A022mOVE bASIC TO $1C01
  619. A07EpERFORM [CATALOG/DIRECTORY]
  620. A11DpERFORM [DOPEN]
  621. A134pERFORM [APPEND]
  622. A157fIND sPARE sa
  623. A16FpERFORM [DCLOSE]
  624. A18CpERFORM [DSAVE]
  625. A1A4pERFORM [DVERIFY]
  626. A1A7pERFORM [DLOAD]
  627. A1C8pERFORM [BSAVE]
  628. A218pERFORM [BLOAD]
  629. A267pERFORM [HEADER]
  630. A2A1pERFORM [SCRATCH]
  631. A2D7pERFORM [RECORD]
  632. A322pERFORM [DCLEAR]
  633. A32FpERFORM [COLLECT]
  634. A346pERFORM [COPY]
  635. A362pERFORM [CONCAT]
  636. A36EpERFORM [RENAME]
  637. A37CpERFORM [BACKUP]
  638. A3B8dEFAULT dos dISK uNIT (u8 d0)data
  639.  
  640. ;A3BCdos lOGICAL aDDRESS
  641. ;A3BDdos pHYSICAL aDDRESS
  642. ;A3BEdos sECONDARY aDDRESS
  643. ;
  644.  
  645. A3BFpARSE dos cOMMANDS
  646. A4B4?
  647. A5E7pRINT 'MISSING FILE NAME'
  648. A5EApRINT 'ILLEGAL DEVICE NUMBER'
  649. A5EDpRINT 'STRING TOO LONG'
  650. A627dos cOMMAND mASKSdata
  651. A667sET dos pARAMETERS
  652. A6D6?
  653. A778?
  654. A7E1pRINT 'ARE YOU SURE'
  655. A7E8'ARE YOU SURE?'text
  656. A80DrELEASE sTRING
  657. A82A'KEY 0,'data
  658. A830?
  659. A83B?
  660. A845sET bANK 15
  661. A84Dirq wORK
  662. AA1FpERFORM [STASH]
  663. AA24pERFORM [FETCH]
  664. AA29pERFORM [SWAP]
  665.  
  666. AA6ErESERVED fOR fUTURE pATCHES
  667.  
  668. ; pATCH ADDED IN THE 1986 RELEASE:
  669. AA6EpATCH FOR pRINT uSING
  670.  
  671. ;
  672.  
  673. AA81uNUSEDempty
  674. AE64eNCRYPTED mESSAGEdata
  675.  
  676. AF00bASIC vECTORS
  677.  
  678. ;AF00jmp $84b4; cONVERT f.p. TO iNTEGER
  679. ;AF03jmp $793c; cONVERT iNTEGER TO f.p.
  680. ;AF06jmp $8e42; fLOAT TO aSCII
  681. ;AF09jmp $8052; sTRING TO fLOAT
  682. ;AF0Cjmp $8815; fLOAT/fIXED
  683. ;AF0Fjmp $8c75; fIXED-fLOAT
  684.  
  685. ;AF12jmp $882e; sUBTRACT fROM mEMORY
  686. ;AF15jmp $8831; eVALUATE <SUBTRACT>
  687. ;AF18jmp $8845; aDD mEMORY
  688. ;AF1Bjmp $8848; eVALUATE <ADD>
  689. ;AF1Ejmp $8a24; mULTIPLY bY mEMORY
  690. ;AF21jmp $8a27; eVALUATE <MULTIPLY>
  691. ;AF24jmp $8b49; dIVIDE iNTO mEMORY
  692. ;AF27jmp $8b4c; eVALUATE <DIVIDE>
  693. ;AF2Ajmp $89ca; eVALUATE <LOG>
  694. ;AF2Djmp $8cfb; eVALUATE <INT>
  695. ;AF30jmp $8fb7; eVALUATE <SQR>
  696. ;AF33jmp $8ffa; eVALUATE <NEGATE>
  697. ;AF36jmp $8fbe; rAISE TO mEMORY pOWER
  698. ;AF39jmp $8fc1; eVALUATE <POWER>
  699. ;AF3Cjmp $9033; eVALUATE <EXP>
  700. ;AF3Fjmp $9409; eVALUATE <COS>
  701. ;AF42jmp $9410; eVALUATE <SIN>
  702. ;AF45jmp $9459; eVALUATE <TAN>
  703. ;AF48jmp $94b3; eVALUATE <ATN>
  704. ;AF4Bjmp $8c47; rOUND fac#1
  705. ;AF4Ejmp $8c84; eVALUATE <ABS>
  706. ;AF51jmp $8c57; gET sIGN
  707. ;AF54jmp $8c87; cOMPARE fac#1 TO mEMORY
  708. ;AF57jmp $8437; gENERATE rANDOM f.p. nUMBER
  709.  
  710. ;AF5Ajmp $8ab4; uNPACK ram1 TO fac#2
  711. ;AF5Djmp $8a89; uNPACK rom TO fac#2
  712. ;AF60jmp $7a85; uNPACK ram1 TO fac#1
  713. ;AF63jmp $8bd4; uNPACK rom TO fac#1
  714. ;AF66jmp $8c00; pACK fac#1 TO ram1
  715. ;AF69jmp $8c28; fac#2 TO fac#1
  716. ;AF6Cjmp $8c38; fac#1 TO fac#2
  717.  
  718. ;AF6Fjmp $4828; dEFUNCT vECTORS
  719. ;AF72jmp $9b30; dRAW lINE
  720. ;AF75jmp $9bfb; pLOT pIXEL
  721. ;AF78jmp $6750; dRAW cIRCLE
  722. ;AF7Bjmp $5a9b; pERFORM [RUN]
  723. ;AF7Ejmp $51f3; sET uP rUN
  724. ;AF81jmp $51f8; pERFORM [CLR]
  725. ;AF84jmp $51d6; pERFORM [NEW]
  726. ;AF87jmp $4f4f; rECHAIN lINES
  727. ;AF8Ajmp $430a; cRUNCH tOKENS
  728. ;AF8Djmp $5064; fIND bASIC lINE
  729. ;AF90jmp $4af6
  730. ;AF93jmp $78d7; eVALUATE iTEM
  731. ;AF96jmp $77ef; eVALUATE eXPRESSION
  732. ;AF99jmp $5aa6
  733. ;AF9Cjmp $5a81
  734. ;AF9Fjmp $50a0; gET fIXED pT nUMBER
  735. ;AFA2jmp $92ea; gARBAGE cOLLECTION
  736. ;AFA5jmp $4dcd
  737. ;
  738.  
  739. AFA8uNUSEDempty
  740.  
  741. ;
  742. ; c128 mACHINE lANGUAGE mONITOR
  743. ; b000 - bfff
  744. ;
  745. B000pERFORM [MONITOR]
  746. B009bREAK eNTRY
  747. B009pRINT 'BREAK'
  748. B00C'BREAK'text
  749. B021pRINT 'CALL' ENTRY
  750. B03ApRINT 'MONITOR'
  751. B03D'MONITOR'text
  752. B050pERFORM [R]
  753. B050pRINT '   PC SR AC XR YR SP'
  754. B053'   PC SR AC XR YR SP'text
  755. B08BgET cOMMAND
  756. B0BCeRROR
  757. B0BF'?'text
  758. B0E3pERFORM [X]
  759. B0E6cOMMANDSdata
  760. B0FCvECTORSword
  761. B11ArEAD bANKED mEMORY
  762. B12AwRITE bANKED mEMORY
  763. B13DcOMPARE bANKED mEMORY
  764. B152pERFORM [M]
  765. B194pERFORM [:]
  766. B1ABpERFORM [>]
  767. B1C9pRINT 'ESC-O-UP'
  768. B1CC'ESC-O-UP'text
  769. B1D6pERFORM [G]
  770. B1DFpERFORM [J]
  771. B1E8dISPLAY mEMORY
  772. B20BpRINT ':<RVS-ON>'
  773. B20E':<RVS-ON>'text
  774. B231pERFORM [C]
  775. B234pERFORM [T]
  776. B2C3aDD 1 TO oP 3
  777. B2C6dO nEXT aDDRESS
  778. B2CEpERFORM [H]
  779. B337pERFORM [LSV]
  780. B3C4pRINT 'ERROR'
  781. B3DBpERFORM [F]
  782. B406pERFORM [A]
  783. B533pRINT 'SPACE<ESC-Q>'
  784. B57CcHECK 2 a-mATCHES
  785. B57FcHECK a-mATCH
  786. B58BtRY nEXT oP cODE
  787. B599pERFORM [D]
  788. B5AEpRINT '<CR><ESC-Q>'
  789. B5B1'<CR><ESC-Q>'text
  790. B5D4dISPLAY iNSTRUCTION
  791. B5F2pRINT '<3 SPACES>'
  792. B5F5'<3 SPACES>'text
  793. B64D?
  794. B659cLASSIFY oP cODE
  795. B6A1gET mNEMONIC cHAR
  796. B6C3mODE tABLESdata
  797. B715mODE cHARACTERSdata
  798. B721cOMPACTED mNEMONICSdata
  799. B7A5iNPUT pARAMETER
  800. B7CErEAD vALUE
  801. B88AnUMBER bASESdata
  802. B88EbASE bITSdata
  803. B892dISPLAY 5-dIGIT aDDRESS
  804. B8A5dISPLAY 2-DIGIT bYTE
  805. B8A8pRINT sPACE
  806. B8ADpRINT cURSOR-uP
  807. B8B4nEW lINE
  808. B8B9bLANK nEW lINE
  809. B8C2oUTPUT 2-dIGIT bYTE
  810. B8D2bYTE TO 2 aSCII
  811. B8E7gET iNPUT cHAR
  812. B8E9gET cHARACTER
  813. B901cOPY aDD0 TO aDD2
  814. B90EcALCULATE aDD2 - aDD0
  815. B922sUBTRACT aDD0
  816. B93CsUBTRACT aDD1
  817. B950iNCREMENT pOINTER
  818. B960dECREMENT pOINTER
  819. B974cOPY TO rEGISTER aREA
  820. B983cALCULATE sTEP/aREA
  821. B9B1pERFORM [$+&%]
  822. BA07cONVERT TO dECIMAL
  823. BA47tRANSFER aDDRESS
  824. BA5DoUTPUT aDDRESS
  825. BA90pERFORM [@]
  826.  
  827. BB72rESERVED fOR fUTURE pATCHES
  828.  
  829. ; pATCHES ADDED IN THE 1986 RELEASE:
  830. BB72uNUSEDempty
  831. BFC0cOPYRIGHT bANNERdata
  832. BFFCcHECKSUM (?)data
  833. ;
  834.  
  835.  
  836. ;
  837. ; c128 kernel rEV 1  rom ($c000 - $ffff)
  838. ;
  839. ;  eDITOR
  840. ;
  841.  
  842. ;  eDITOR jUMP tABLE
  843. ;
  844. C000-CINT-iNITIALIZE eDITOR & sCREEN
  845. C003dISPLAY cHARACTER IN .a, cOLOR
  846. C006gET FROM kEYBOARD
  847. C009sCREEN iNPUT lINK
  848. C00CsCREEN pRINT lINK
  849. C00F-SCREEN-gET # OF sCRN rOWS, cOLS iNTO x & y
  850. C012-SCNKEY-sCAN kEYBOARD sUBROUTINE
  851. C015hANDLE rEPEAT kEY & sTORE dECODED kEY
  852. C018-PLOT-rEAD oR sET crsr pOSITION iN x, y
  853. C01BmOVE 8563 cURSOR sUBROUTINE
  854. C01EeXECUTE esc fUNCTION USING CHR IN .a
  855. C021dEFINE fn kEY
  856. C024irq lINK
  857. C027uPLOAD 80 cOL [CE0C]
  858. C02AsWAP 40/80 cOL [CD2E]
  859. C02DsET wINDOW
  860.  
  861. C033sCREEN aDDRESS lOWdata
  862. C04CsCREEN aDDRESS hIGHdata
  863. C065i/o lINK vECTORSword
  864. C06FkEYBOARD sHIFT vECTORSword
  865. C07BiNITIALIZE sCREEN
  866. C142rESET wINDOW
  867. C150hOME cURSOR
  868. C156gOTO lEFT bORDER
  869. C15CsET uP nEW lINE
  870. C17CdO sCREEN cOLOR
  871. C194(irq) sPLIT sCREEN
  872. C234gET A kEY
  873. C258sCREEN lINE eDITOR
  874. C29BiNPUT fROM sCREEN
  875. C2BCrEAD sCREEN cHAR
  876. C2FFcHECK fOR qUOTES
  877. C30CwRAP uP sCREEN pRINT
  878. C320aSCII TO sCREEN cODE
  879. C33EcHECK cURSOR rANGE
  880. C363dO nEW lINE
  881. C37CiNSERT A lINE
  882. C3A6sCROLL sCREEN
  883. C3DCdELETE A lINE
  884. C40DmOVE sCREEN lINE
  885. C4A5cLEAR A lINE
  886. C53CsET 80-cOLUMN cOUNTER TO 1
  887. C53EsET 80-cOLUMN cOUNTER
  888. C55DkEYBOARD sCAN sUBROUTINE
  889. C651kEY pICKUP & rEPEAT
  890. C6DDkEYCODES FOR pROGRAMMED kEYSdata
  891. C6E7fLASH 40 cOLUMN cURSOR
  892. C72DpRINT TO sCREEN
  893. C77DeSC-O (ESCAPE)
  894. C78CcONTROL cHARACTERSdata
  895. C79AcONTROL cHARACTER vECTORSword
  896. C7B6pRINT cONTROL cHAR
  897. C802pRINT hI-bIT cHAR
  898. C854cHR$(29)  cURSOR rIGHT
  899. C85AcHR$(17)  cURSOR dOWN
  900. C875cHR$(157) cURSOR lEFT
  901. C880cHR$(14)  tEXT mODE
  902. C8A6cHR$(11)  lOCK
  903. C8ACcHR$(12)  uNLOCK
  904. C8B3cHR$(19)  hOME
  905. C8BFcHR$(146) cLEAR rVS mODE
  906. C8C2cHR$(18)  rEVERSE
  907. C8C7cHR$(2)   uNDERLINE oN
  908. C8CEcHR$(130) uNDERLINE oFF
  909. C8D5cHR$(15)  fLASH oN
  910. C8DCcHR$(143) fLASH oFF
  911. C8E3oPEN sCREEN sPACE
  912. C91BcHR$(20)  dELETE
  913. C932rESTORE cURSOR
  914. C94FcHR$(9)  tAB
  915. C961cHR$(24) tAB tOGGLE
  916. C96CfIND tAB cOLUMN
  917. C980eSC-Z cLEAR aLL tABS
  918. C983eSC-Y sET dEFAULT tABS
  919. C98EcHR$(7) bELL
  920. C9B1cHR$(10) lINEFEED
  921. C9BEaNALYZE eSC sEQUENCE
  922. C9DEeSC sEQUENCE vECTORSword
  923. CA14eSC-TtOP
  924. CA16eSC-BbOTTOM
  925. CA1BsET wINDOW pART
  926. CA24eXIT wINDOW
  927. CA3DeSC-IiNSERT lINE
  928. CA52eSC-DdELETE lINE
  929. CA76eSC-QeRASE eND
  930. CA8BeSC-PeRASE bEGIN
  931. CA9FeSC-@cLEAR rEMAINDER OF sCREEN
  932. CABCeSC-VsCROLL uP
  933. CACAeSC-WsCROLL dOWN
  934. CAE2eSC-LsCROLL oN
  935. CAE5eSC-MsCROLL oFF
  936. CAEAeSC-CcANCEL aUTO iNSERT
  937. CAEDeSC-AaUTO iNSERT
  938. CAF2eSC-SbLOCK cURSOR
  939. CAFEeSC-UuNDERLINE cURSOR
  940. CB0BeSC-EcURSOR nON fLASH
  941. CB21eSC-FcURSOR fLASH
  942. CB37eSC-GbELL eNABLE
  943. CB3AeSC-HbELL dISABLE
  944. CB3FeSC-RsCREEN rEVERSE
  945. CB48eSC-NsCREEN nORMAL
  946. CB52eSC-KeND-OF-lINE
  947. CB58gET sCREEN cHAR/cOLOR
  948. CB74cHECK sCREEN lINE OF lOCATION
  949. CB81eXTEND/tRIM sCREEN lINE
  950. CB9FsET uP lINE mASKS
  951. CBB1eSC-JsTART-OF-lINE
  952. CBC3fIND eND-OF-lINE
  953. CBEDmOVE cURSOR rIGHT
  954. CC00mOVE cURSOR lEFT
  955. CC1EsAVE cURSOR
  956. CC27pRINT sPACE
  957. CC2FpRINT cHARACTER
  958. CC32pRINT fILL cOLOR
  959. CC34pUT cHAR TO sCREEN
  960. CC5BgET rOWS/cOLUMNS
  961. CC6ArEAD/sET cURSOR
  962. CCA2dEFINE fUNCTION kEY
  963. CD2CeSC-XsWITCH 40/80 cOL
  964. CD57pOSITION 80-COL cURSOR
  965. CD6FsET sCREEN cOLOR
  966. CD9FtURN cURSOR oN
  967. CDCAsET crtc rEGISTER 31
  968. CDCCsET crtc rEGISTER
  969. CDD8rEAD crtc rEGISTER 31
  970. CDDArEAD crtc rEGISTER
  971. CDE6sET crtc TO sCREEN aDDRESS
  972. CDF9sET crtc TO cOLOR aDDRESS
  973. CE0CsET uP 80 cOLUMN cHAR sET
  974. CE4CaSCII cOLOR cODESdata
  975. CE5CsYSTEM cOLOR cODESdata
  976. CE6CbIT mASKSdata
  977. CE7440-COL iNIT vALUES ($E0)data
  978. CE8E80-COL iNIT vALUES ($0A40)data
  979. CEA8pROG kEY lENGTHSdata
  980. CEB2pROG kEY dEFINITIONSdata
  981. CEF5uNUSEDempty
  982. ;
  983. D000i/o OR cHARGENdata
  984.  
  985. ;
  986. ; c128 kERNEL REVISION 1
  987. ; e000 - ffff
  988. ;
  989. E000rESET cODE
  990. E04Bmmu sET uP bYTESdata
  991. E056-RESTOR-
  992. E05B-VECTOR-
  993. E073vECTORS TO $0314word
  994. E093-RAMTAS-
  995. E0CDmOVE cODE fOR hIGH ram bANKS
  996. E105ram bANK mASKSdata
  997. E109-INIT-
  998. E1DCsET uP crtc rEGISTERS
  999. E1F0cHECK sPECIAL rESET
  1000. E242rESET TO 64/128
  1001. E24BsWITCH TO 64 mODE
  1002. E263cODE TO $02
  1003. E26BsCAN aLL romS
  1004. E2BCrom aDDRESSES hIGHdata
  1005. E2C0rom bANKSdata
  1006. E2C4pRINT 'CBM' mASKdata
  1007. E2C7vic 8564 sET uPdata
  1008. E2F8crtc 8563 sET uP pAIRSdata
  1009. E33B-TALK-
  1010. E33E-LISTEN-
  1011. E38CsEND dATA oN sERIAL bUS
  1012. E43E-ACPTR-
  1013. E4D2-SECOND-
  1014. E4E0-TKSA-
  1015. E503-CIOUT-  pRINT sERIAL
  1016. E515-UNTLK-
  1017. E526-UNLSN-
  1018. E535rESET atn
  1019. E545sET cLOCK hIGH
  1020. E54EsET cLOCK lOW
  1021. E557sET dATA hIGH
  1022. E560sET dATA lOW
  1023. E569rEAD sERIAL lINES
  1024. E573sTABILIZE tIMING
  1025. E59FrESTORE tIMING
  1026. E5BCpREPARE fOR rESPONSE
  1027. E5C3fAST dISK oFF
  1028. E5D6fAST dISK oN
  1029. E5FBfAST dISK oN/oFF
  1030. E5FF(nmi) tRANSMIT rs-232
  1031. E64Ars-232 hANDSHAKE
  1032. E68EsET rs-232 bIT cOUNT
  1033. E69D(nmi) rs-232 rECEIVE
  1034. E75FsEND tO rs-232
  1035. E795cONNECT rs-232 iNPUT
  1036. E7CEgET fROM rs-232
  1037. E7ECiNTERLOCK rs-232/sERIAL
  1038. E805(nmi) rs-232 cONTROL i/o
  1039. E850rs-232 tIMING tABLE -- ntscdata
  1040. E864rs-232 tIMING tABLE -- paldata
  1041. E878(nmi) rs-232 rECEIVE tIMING
  1042. E8A9(nmi) rs-232 tRANSMIT tIMING
  1043. E8D0fIND aNY tAPE hEADER
  1044. E919wRITE tAPE hEADER
  1045. E980gET bUFFER aDDRESS
  1046. E987gET tAPE bUFFER sTART & eND aDDRS
  1047. E99AfIND sPECIFIC hEADER
  1048. E9BEbUMP tAPE pOINTER
  1049. E9C8pRINT 'PRESS PLAY ON TAPE'
  1050. E9DFcHECK tAPE sTATUS
  1051. E9E9pRINT 'PRESS RECORD ...'
  1052. E9F2iNITIATE tAPE rEAD
  1053. EA15iNITIATE tAPE wRITE
  1054. EA26cOMMON tAPE cODE
  1055. EA7DwAIT fOR tAPE
  1056. EA8FcHECK tAPE sTOP
  1057. EAA1sET rEAD tIMING
  1058. EAEB(irq) rEAD tAPE bITS
  1059. EC1FsTORE tAPE cHARS
  1060. ED51rESET pOINTER
  1061. ED5AnEW cHAR sET uP
  1062. ED69wRITE tRANSITION TO tAPE
  1063. ED8BwRITE dATA TO tAPE
  1064. ED90(irq) tAPE wRITE
  1065. EE2E(irq) tAPE lEADER
  1066. EE57wIND uP tAPE i/o
  1067. EE9BsWITCH irq vECTOR
  1068. EEA8irq vECTORSword
  1069. EEB0kILL tAPE mOTOR
  1070. EEB7cHECK eND aDDRESS
  1071. EEC1bUMP aDDRESS
  1072. EEC8(irq) cLEAR bREAK
  1073. EED0cONTROL tAPE mOTOR
  1074. EEEB-GETIN-
  1075. EF06-CHRIN-
  1076. EF48gET cHAR fROM tAPE
  1077. EF79-CHROUT-
  1078. EFBD-OPEN-
  1079. F0B0sET cia TO rs-232
  1080. F0CBcHECK sERIAL oPEN
  1081. F106-CHKIN-
  1082. F14C-CHKOUT-
  1083. F188-CLOSE-
  1084. F1E4dELETE fILE
  1085. F202sEARCH fOR fILE
  1086. F212sET fILE pARAMETERS
  1087. F222-CLALL-
  1088. F226-CLRCHN-
  1089. F23DcLEAR i/o pATH
  1090. F265-LOAD-
  1091. F27BsERIAL lOAD
  1092. F32AtAPE lOAD
  1093. F3A1dISK lOAD
  1094. F3EAbURST lOAD
  1095. F48CcLOSE oFF sERIAL
  1096. F4BAgET sERIAL bYTE
  1097. F4C5rECEIVE sERIAL bYTE
  1098. F503tOGGLE cLOCK lINE
  1099. F50CpRINT 'U0' dISK rESETdata
  1100. F50FpRINT 'SEARCHING'
  1101. F521sEND fILE nAME
  1102. F533pRINT 'LOADING'
  1103. F53E-SAVE-
  1104. F5B5tERMINATE sERIAL iNPUT
  1105. F5BCpRINT 'SAVING'
  1106. F5C8sAVE TO tAPE
  1107. F5F8-UDTIM-
  1108. F63DwATCH fOR run OR sHIFT
  1109. F65E-RDTIM-
  1110. F665-SETTIM-
  1111. F66E-STOP-
  1112. F67CpRINT 'TOO MANY FILES'
  1113. F67FpRINT 'FILE OPEN'
  1114. F682pRINT 'FILE NOT OPEN'
  1115. F685pRINT 'FILE NOT FOUND'
  1116. F688pRINT 'DEVICE NOT PRESENT'
  1117. F68BpRINT 'NOT INPUT FILE'
  1118. F68EpRINT 'NOT OUTPUT FILE'
  1119. F691pRINT 'MISSING FILE NAME'
  1120. F694pRINT 'ILLEGAL DEVICE NO'
  1121. F697eRROR #0
  1122. F6B0mESSAGESdata
  1123. F71EpRINT iF dIRECT
  1124. F722pRINT i/o mESSAGE
  1125. F731-SETNAM-
  1126. F738-SETLFS-
  1127. F73FsET lOAD/sAVE bANK
  1128. F744-RDST-
  1129. F757sET sTATUS bIT
  1130. F75C-SETMSG-
  1131. F75FsET sERIAL tIMEOUT
  1132. F763-MEMTOP-
  1133. F772-MEMBOT-
  1134. F781-IOBASE-
  1135. F786sEARCH fOR sa
  1136. F79DsEARCH & sET uP fILE
  1137. F7A5tRIGGER dma
  1138. F7AEgET cHAR fROM mEMORY
  1139. F7BCsTORE lOADED bYTE
  1140. F7C9rEAD bYTE TO BE sAVED
  1141. F7D0gET cHAR fROM mEMORY bANK
  1142. F7DAsTORE cHAR TO mEMORY bANK
  1143. F7E3cOMPARE cHAR wITH mEMORY bANK
  1144. F7EClOAD mEMORY cONTROL mASK
  1145. F7F0mmu bANK cONFIGURATION vALUESdata
  1146. F800sUBROUTINES TO $02A2-$02FB
  1147. F85Adma cODE TO $03F0
  1148. F867cHECK aUTO sTART rom
  1149. F890cHECK fOR bOOT dISK
  1150. F908pRINT 'BOOTING'
  1151. F92CpRINT '...'
  1152. F98BwIND uP dISK bOOT
  1153. F9B3rEAD nEXT bOOT bLOCK
  1154. F9FBtO 2-dIGIT dECIMAL
  1155. FA08bLOCK rEAD cOMMAND sTRINGdata
  1156. FA17pRINT A mESSAGE
  1157. FA40nmi sEQUENCE
  1158. FA65(irq) nORMAL eNTRY
  1159. FA80kEYBOARD mATRIX uN-sHIFTEDdata
  1160. FAD9kEYBOARD mATRIX sHIFTEDdata
  1161. FB32kEYBOARD mATRIX c-kEYdata
  1162. FB8BkEYBOARD mATRIX cONTROLdata
  1163. FBE4kEYBOARD mATRIX cAPS-lOCKdata
  1164. FC40?
  1165. FC45?
  1166. FC50?
  1167.  
  1168. ; pATCH FOR THE c128 d
  1169. FC62pATCH FOR sET uP crtc rEGISTERS
  1170.  
  1171. ;
  1172. FC6FuNUSEDempty
  1173. FC80?
  1174. FC87iNIT kbd tRANSLATION tABLES
  1175. ; tHIS IS PATCH FOR sCAN kEYBOARD sUBROUTINE
  1176. ; TO HANDLE din kEYBOARD.
  1177.  
  1178. FCC6din kEYBOARD PATCH FOR kEY pICKUP
  1179.  
  1180. FD29din kEYBOARD mATRIX uN-sHIFTEDdata
  1181. FD82din kEYBOARD mATRIX sHIFTEDdata
  1182. FDDBdin kEYBOARD mATRIX c-kEYdata
  1183. FE34din kEYBOARD sHIFT vECTORSdata
  1184. FE81?
  1185. FE8CuNUSEDempty
  1186. FEFFpATCH BYTEdata
  1187.  
  1188. FF00mmu cONFIGURATION rEGISTERchip
  1189. FF01mmu lcr: bANK 0chip
  1190. FF02mmu lcr: bANK 1chip
  1191. FF03mmu lcr: bANK 14chip
  1192. FF04mmu lcr: bANK 14 oVER ram 1chip
  1193.  
  1194. FF05nmi tRANSFER eNTRY
  1195. FF17irq tRANSFER eNTRY
  1196. FF33rETURN fROM iNTERRUPT
  1197. FF3DrESET tRANSFER eNTRY
  1198. FF47jUMBO jUMP tABLE
  1199. ;
  1200. ; c128 kERNAL jUMP tABLE
  1201. ;
  1202. FF47JMP $E5FBSPINSPOUT(FAST SERIAL)
  1203. FF4AJMP $F23DCLOSE ALL
  1204. FF4DJMP $E24B64MODE
  1205. FF50JMP $F7A5DMA CALL
  1206. FF53JMP $F890BOOT CALL
  1207. FF56JMP $F867FOENIX
  1208. FF59JMP $F79DLKUPLA(LOGICAL ADDR)
  1209. FF5CJMP $F786LKUPSA(SECOND ADDR)
  1210. FF5FJMP $C02ASWAPPER40/80 SWAP
  1211. FF62JMP $C027DLCHRiNIT 80COL CHARAM
  1212. FF65JMP $C021PFKEYpROG fUNCTION kEY
  1213. FF68JMP $F73FSETBNK
  1214. FF6BJMP $F7ECSETCFG
  1215. FF6EJMP $02CDJSRFAR
  1216. FF71JMP $02E3JMPFAR
  1217. FF74JMP $F7D0INDFETbANK lda (FETCHVEC),Y
  1218. FF77JMP $F7DAINDSTAbANK sta (STAVEC),Y
  1219. FF7AJMP $F7E3INDCMPbANK cmp (CMPVEC),Y
  1220. FF7DJMP $FA17PRIMMpRINT iMMEDIATE
  1221. FF80[01]kERNAL vERSION nUMBERdata
  1222. FF81JMP $C000CINTiNIT eDITOR & vIDEO cHIPS
  1223. FF84JMP $E109IOINITiNIT i/o dEVICES, pORTS & tIMERS
  1224. FF87JMP $E093RAMTASiNIT rAM & bUFFERS
  1225. FF8AJMP $E056RESTORrESTORE vECTORS
  1226. FF8DJMP $E05BVECTORcHANGE vECTORS fOR uSER
  1227. FF90JMP $F75CSETMSGcONTROL os mESSAGES
  1228. FF93JMP $E4D2SECNDsEND sa aFTER lISTEN
  1229. FF96JMP $E4E0TKSAsEND sa aFTER tALK
  1230. FF99JMP $F763MEMTOPsET/rEAD sYSTEM ram tOP
  1231. FF9CJMP $F772MEMBOTsET/rEAD sYSTEM ram bOTTOM
  1232. FF9FJMP $C012KEYsCAN kEYBOARD
  1233. FFA2JMP $F75FSETTMOsET tIMEOUT iN ieee
  1234. FFA5JMP $E43EACPTRhANDSHAKE sERIAL bYTE iN
  1235. FFA8JMP $E503CIOUThANDSHAKE sERIAL bYTE oUT
  1236. FFABJMP $E515UNTLKcOMMAND sERIAL bUS untalk
  1237. FFAEJMP $E526UNLSNcOMMAND sERIAL bUS unlisten
  1238. FFB1JMP $E33ELISTNcOMMAND sERIAL bUS listen
  1239. FFB4JMP $E33BTALKcOMMAND sERIAL bUS talk
  1240. FFB7JMP $F744READSSrEAD i/o sTATUS wORD
  1241. FFBAJMP $F738SETLFSsET lOGICAL fILE pARAMETERS
  1242. FFBDJMP $F731SETNAMsET fILENAME
  1243. FFC0JMP ($031A)(IOPEN)oPEN vECTOR [EFBD]
  1244. FFC3JMP ($031C)(ICLOSE)cLOSE vECTOR [F188]
  1245. FFC6JMP ($031E)(ICHKIN)sET iNPUT [F106]
  1246. FFC9JMP ($0320)(ICHKOUT)sET oUTPUT [F14C]
  1247. FFCCJMP ($0322)(ICLRCH)rESTORE i/o vECTOR [F226]
  1248. FFCFJMP ($0324)(IBASIN)iNPUT vECTOR, CHRIN [EF06]
  1249. FFD2JMP ($0326)(IBSOUT)oUTPUT vECTOR, CHROUT [EF79]
  1250. FFD5JMP $F265LOADSPlOAD ram fROM dEVICE
  1251. FFD8JMP $F53ESAVESPsAVE ram tO dEVICE
  1252. FFDBJMP $F665SETTIMsET rEAL-tIME cLOCK
  1253. FFDEJMP $F65ERDTIMrEAD rEAL-tIME cLOCK
  1254. FFE1JMP ($0328)(ISTOP)tEST-sTOP vECTOR [F66E]
  1255. FFE4JMP ($032A)(IGETIN)gET vECTOR [EEEB]
  1256. FFE7JMP ($032C)(ICLALL)cLOSE aLL cHANNELS aND fILES [F222]
  1257. FFEAJMP $F5F8UDTIMiNCREMENT rEAL-tIME cLOCK
  1258. FFEDJMP $C00FSCRORGrETURN sCREEN oRGANIZATION
  1259. FFF0JMP $C018PLOTrEAD / sET cURSOR x/y pOSITION
  1260. FFF3JMP $F781IOBASErETURN i/o bASE aDDRESS
  1261.  
  1262. FFF6sYSTEM vECTORS
  1263. FFF6[FFFF]word
  1264. FFF8system [E224]word
  1265.  
  1266. FFFAtRANSFER vECTORS
  1267. FFFAnmi   [FF05]word
  1268. FFFCreset [FF3D]word
  1269. FFFEirq   [FF17]word
  1270.