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

  1.  
  2. ;cOMMODORE 64 i/o mAP
  3. ;v1.11 jUN 1994
  4.  
  5.  
  6. commodore 64 input/output assignments
  7.  
  8.  
  9. hexdecimalbitsdescription
  10.  
  11. 000007-0mos 6510 dATA dIRECTION
  12. rEGISTER (XX101111)
  13. bIT= 1: oUTPUT, bIT=0:
  14. iNPUT, X=dON'T cARE
  15.  
  16. 00011mos 6510 mICRO-pROCESSOR
  17. oN-cHIP i/o pORT
  18. 0/loram sIGNAL (0=sWITCHbasic rom oUT)
  19. 1/hiram sIGNAL (0=sWITCH kERNAL rom oUT)
  20. 2/charen sIGNAL (o=sWITH cHAR. rom iN)
  21. 3cASSETTE dATA oUTPUT lINE
  22. 4cASSETTE sWITCH sENSE: 1 = sWITCH cLOSED
  23. 5cASSETTE mOTOR cONTROL
  24. o = on, 1 = off
  25. 6-7uNDEFINED
  26.  
  27.  
  28. d000-d02e53248-54271mos 6566 video interface controller (vic)
  29.  
  30. d00053248sPRITE o x pOS
  31. d00153249sPRITE o y pOS
  32. d00253250sPRITE 1 x pOS
  33. d00353251sPRITE 1 y pOS
  34. d00453252sPRITE 2 x pOS
  35. d00553253sPRITE 2 y pOS
  36. d00653254sPRITE 3 x pOS
  37. d00753255sPRITE 3 y pOS
  38. d00853256sPRITE 4 x pOS
  39. d00953257sPRITE 4 y pOS
  40. d00a53258sPRITE 5 x pOS
  41. d00b53259sPRITE 5 y pOS
  42. d00c53260sPRITE 6 x pOS
  43. d00d53261sPRITE 6 y pOS
  44. d00e53262sPRITE 7 x pOS
  45. d00f53263sPRITE 7 y pOS
  46. d01053264sPRITES 0-7 x pOS (MSB OF x COORD.)
  47.  
  48. d01153265vic cONTROL rEGISTER
  49. 7rASTER cOMPARE: (bIT 8)sEE 53266
  50. 6eXTENDED cOLOR tEXT mODE 1 = eNABLE
  51. 5bIT mAP mODE. 1 = eNABLE
  52. 4bLANK sCREEN TO bORDER cOLOR: o = bLANK
  53. 3sELECT 24/25 rOW tEXT dISPLAY: 1 = 25 rOWS
  54. 2-0sMOOTH sCROLL TO y dOT-pOSITION (0-7)
  55.  
  56. d01253266rEAD rASTER / wRITE rASTER vALUE FOR cOMPARE irq
  57. d01353267lIGHT-pEN lATCH x pOS
  58. d01453268lIGHT-pEN lATCH y pOS
  59. d01553269sPRITE DISPLAY eNABLE: 1 = eNABLE
  60.  
  61. d01653270vic cONTROL rEGISTER
  62. 7-6uNUSED
  63. 5always set this bit to 0 !
  64. 4mULTI-cOLOR mODE: 1 = eNABLE (tEXT OR bIT-mAP)
  65. 3sELECT 38/40 cOLUMN tEXT dISPLAY: 1 = 40 cOLS
  66. 2-0sMOOTH sCROLL TO x pOS
  67.  
  68. d01753271sPRITES o-7 eXPAND 2X vERTICAL (y)
  69.  
  70. d01853272vic mEMORY cONTROL rEGISTER
  71. 7-4vIDEO mATRIX bASE aDDRESS (INSIDE vic)
  72. 3-1cHARACTER dOT-dATA bASEaDDRESS (INSIDE vic)
  73. 0sELECT UPPER/LOWER cHARACTER sET
  74.  
  75. d01953273vic iNTERRUPT fLAG rEGISTER (bIT = 1: irq oCCURRED)
  76. 7sET ON aNY eNABLED vic irq cONDITION
  77. 3lIGHT-pEN tRIGGERED irq fLAG
  78. 2sPRITE TO sPRITE cOLLISION irq fLAG
  79. 1sPRITE TO bACKGROUND cOLLISION irq fLAG
  80. 0rASTER cOMPARE irq fLAG
  81.  
  82. d01a53274irq mASK rEGISTER: 1 = iNTERRUPT eNABLED
  83. d01b53275sPRITE TO bACKGROUND dISPLAY pRIORITY: 1 = sPRITE
  84. d01c53276sPRITES o-7 mULTI-cOLOR mODE sELECT: 1 = m.c.m.
  85. d01d53277sPRITES 0-7 eXPAND 2X hORIZONTAL (x)
  86.  
  87. d01e53278sPRITE TO sPRITE cOLLISION dETECT
  88. d01f53279sPRITE TO bACKGROUND cOLLISION dETECT
  89. d02053280bORDER cOLOR
  90. d02153281bACKGROUND cOLOR o
  91. d02253282bACKGROUND cOLOR 1
  92. d02353283bACKGROUND cOLOR 2
  93. d02453284bACKGROUND cOLOR 3
  94. d02553285sPRITE mULTI-cOLOR rEGISTER 0
  95. d02653286sPRITE mULTI-cOLOR rEGISTER 1
  96.  
  97. d02753287sPRITE o cOLOR
  98. d02853288sPRITE 1 cOLOR
  99. d02953289sPRITE 2 cOLOR
  100. d02a53290sPRITE 3 cOLOR
  101. d02b53291sPRITE 4 cOLOR
  102. d02c53292sPRITE 5 cOLOR
  103. d02d53293sPRITE 6 cOLOR
  104. d02e53294sPRITE 7 cOLOR
  105.  
  106. d400-d7ff54272-55295mos 6581 sound interface device (sid)
  107.  
  108. d40054272vOICE 1: fREQUENCY cONTROL - lOW-bYTE
  109. d40154273vOICE 1: fREQUENCY cONTROL - hIGH-bYTE
  110. d40254274vOICE 1: pULSE wAVEFORMwIDTH - lOW-bYTE
  111. d403542757-4uNUSED
  112. 3-0vOICE 1: pULSE wAVEFORM wIDTH - hIGH-nYBBLE
  113. d40454276vOICE 1: cONTROL rEGISTER
  114. 7sELECT rANDOM nOISE wAVEFORM, 1 = oN
  115. 6sELECT pULSE wAVEFORM, 1 = oN
  116. 5sELECT sAWTOOTH wAVEFORM, 1 = oN
  117. 4sELECT tRIANGLE wAVEFORM, 1 = oN
  118. 3tEST bIT: 1 = dISABLE oSCILLATOR 1
  119. 2rING mODULATE oSC. 1 WITH oSC. 3 oUTPUT, 1 = oN
  120. 1sYNCHRONIZE oSC. 1 WITH oSC. 3 fREQUENCY, 1 = oN
  121. 0gATE bIT: 1 = sTART aTT/dEC/sUS, 0 = sTART rELEASE
  122.  
  123. d40554277eNVELOPE gENERATOR 1: aTTACK / dECAY cYCLE cONTROL
  124. 7-4sELECT aTTACK cYCLE dURATION: o-15
  125. 3-0sELECT dECAY cYCLE dURATION: 0-15
  126.  
  127. d40654278eNVELOPE gENERATOR 1: sUSTAIN / rELEASE cYCLE cONTROL
  128. 7-4sELECT sUSTAIN cYCLE dURATION: o-15
  129. 3-0sELECT rELEASE cYCLE dURATION: o-15
  130.  
  131. d40754279vOICE 2: fREQUENCY cONTROL - lOW-bYTE
  132. d40854280vOICE 2: fREQUENCY cONTROL - hIGH-bYTE
  133. d40954281vOICE 2: pULSE wAVEFORM wIDTH - lOW-bYTE
  134.  
  135. d40a542827-4uNUSED
  136. 3-0vOICE 2: pULSE wAVEFORM wIDTH - hIGH-nYBBLE
  137.  
  138. d40b54283vOICE 2: cONTROL rEGISTER
  139. 7sELECT rANDOM nOISE wAVEFORM, 1 = oN
  140. 6sELECT pULSE wAVEFORM, 1 = oN
  141. 5sELECT sAWTOOTH wAVEFORM, 1 = oN
  142. 4sELECT tRIANGLE wAVEFORM, 1 = oN
  143. 3tEST bIT: 1 = dISABLE oSCILLATOR 1
  144. 2rING mODULATE oSC. 2 WITH oSC. 1 oUTPUT, 1 = oN
  145. 1sYNCHRONIZE oSC. 2 WITH oSC. 1 fREQUENCY, 1 = oN
  146. 0gATE bIT: 1 = sTART aTT/dEC/sUS, 0 = sTART rELEASE
  147.  
  148. d40c54284eNVELOPE gENERATOR 2: aTTACK / dECAY cYCLE cONTROL
  149. 7-4sELECT aTTACK cYCLE dURATION: o-15
  150. 3-0sELECT dECAY cYCLE dURATION: 0-15
  151.  
  152. d40d54285eNVELOPE gENERATOR 2: sUSTAIN / rELEASE cYCLE cONTROL
  153. 7-4sELECT sUSTAIN cYCLE dURATION: o-15
  154. 3-0sELECT rELEASE cYCLE dURATION: o-15
  155.  
  156. d40e54286vOICE 3: fREQUENCY cONTROL - lOW-bYTE
  157. d40f54287vOICE 3: fREQUENCY cONTROL - hIGH-bYTE
  158. d41054288vOICE 3: pULSE wAVEFORM wIDTH - lOW-bYTE
  159. d411542897-4uNUSED
  160. 3-0vOICE 3: pULSE wAVEFORM wIDTH - hIGH-nYBBLE
  161. d41254290vOICE 3: cONTROL rEGISTER
  162. 7sELECT rANDOM nOISE wAVEFORM, 1 = oN
  163. 6sELECT pULSE wAVEFORM, 1 = oN
  164. 5sELECT sAWTOOTH wAVEFORM, 1 = oN
  165. 4sELECT tRIANGLE wAVEFORM, 1 = oN
  166. 3tEST bIT: 1 = dISABLE oSCILLATOR 1
  167. 2rING mODULATE oSC. 3 WITH oSC. 2 oUTPUT, 1 = oN
  168. 1sYNCHRONIZE oSC. 3 WITH oSC. 2 fREQUENCY, 1 = oN
  169. 0gATE bIT: 1 = sTART aTT/dEC/sUS, 0 = sTART rELEASE
  170.  
  171. d41354291eNVELOPE gENERATOR 3: aTTAC/dECAY cYCLE cONTROL 
  172. 7-4sELECT aTTACK cYCLE dURATION: o-15
  173. 3-0sELECT dECAY cYCLE dURATION: 0-15
  174.  
  175. d41454285eNVELOPE gENERATOR 3: sUSTAIN / rELEASE cYCLE cONTROL
  176. 7-4sELECT sUSTAIN cYCLE dURATION: o-15
  177. 3-0sELECT rELEASE cYCLE dURATION: o-15
  178.  
  179.  
  180. d41554293fILTER cUTOFF fREQUENCY: lOW-nYBBLE (bITS 2-o)
  181. d41654294fILTER cUTOFF fREQUENCY: hIGH-bYTE
  182. d41754295fILTER rESONANCE cONTROL / vOICE iNPUT cONTROL
  183. 7-4sELECT fILTER rESONANCE: 0-15
  184. 3fILTER eXTERNAL iNPUT: 1 = yES, 0 = nO
  185. 2fILTER vOICE 3 oUTPUT: 1 = yES, 0 = nO
  186. fILTER vOICE 2 oUTPUT: 1 = yES, 0 = nO
  187. 0fILTER vOICE 1 oUTPUT: 1 = yES, 0 = nO
  188.  
  189. d41854296sELECT fILTER mODE AND vOLUME
  190. 7cUT-oFF vOICE 3 oUTPUT: 1 = oFF, o = oN
  191.  
  192. 6sELECT fILTER hIGH-pASS mODE: 1 = oN
  193. 5sELECT fILTER bAND-pASS mODE: 1 = oN
  194. 4sELECT fILTER lOW-pASS mODE: 1 = oN
  195. 3-0sELECT oUTPUT vOLUME: 0-15
  196.  
  197. d41954297aNALOG/dIGITAL cONVERTER: gAME pADDLE 1 (o-255)
  198. d41a54298aNALOG/dIGITAL cONVERTER gAME pADDLE 2 (o-255)
  199. d41b54299oSCILLATOR 3 rANDOM nUMBER gENERATOR
  200. d41c54230eNVELOPE gENERATOR 3 oUTPUT
  201.  
  202. d500-d7ff54528-55295sid images
  203. d800-dbff55296-56319cOLOR ram (nYBBLES)
  204.  
  205. dc00-dcff56320-56575mos 6526 cOMPLEX iNTERFACE aDAPTER (cia) #1
  206.  
  207. dc0056320dATA pORT a (kEYBOARD, jOYSTICK, pADDLES, lIGHT-pEN)
  208.  
  209. 7-0wRITE kEYBOARD cOLUMN vALUES FOR kEYBOARD sCAN
  210. 7-6rEAD pADDLES ON pORT a / b (01 = pORT a, 10 = pORT b)
  211. 4jOYSTICK a fIRE bUTTON: 1 = fIRE
  212. 3-2pADDLE fIRE bUTTONS
  213. 3-0jOYSTICK a dIRECTION (0-15)
  214.  
  215. dc0156321dATA pORT b (kEYBOARD, jOYSTICK, pADDLES): gAME pORT 1
  216. 7-0rEAD kEYBOARD rOW vALUES FOR kEYBOARD sCAN
  217.  
  218. 7tIMER b tOGGLE/pULSE oUTPUT
  219. 6tIMER a: tOGGLE/pULSE oUTPUT
  220.  
  221. 4jOYSTICK 1 fIRE bUTTON: 1 = fIRE
  222. 3-2pADDLE fIRE bUTTONS
  223. 3-0jOYSTICK 1 dIRECTION
  224.  
  225. dc0256322dATA dIRECTION rEGISTER - pORT a (56320)
  226. dc0356323dATA dIRECTION rEGISTER - pORT b (56321)
  227. dc0456324tIMER a: lOW-bYTE
  228. dc0556325tIMER a: hIGH-bYTE
  229. dc0656326tIMER b: lOW-bYTE
  230. dc0756327tIMER b: hIGH-bYTE
  231.  
  232. dc0856328tIME-OF-dAY cLOCK: 1/10 sECONDS
  233. dc0956329tIME-OF-dAY cLOCK: sECONDS
  234. dc0a56330tIME-OF-dAY cLOCK: mINUTES
  235. dc0b56331tIME-OF-dAY cLOCK: hOURS + am/pm fLAG (bIT 7)
  236.  
  237. dc0c56332sYNCHRONOUS sERIAL i/o dATA bUFFER
  238. dc0d56333cia iNTERRUPT cONTROL rEGISTER (rEAD irqS/wRITE mASK)
  239.  
  240. 7irq fLAG (1 = irq oCCURRED) / sET-cLEAR fLAG
  241. 4flag1 irq (cASSETTE rEAD / sERIAL bUS srq iNPUT)
  242. 3sERIAL pORT iNTERRUPT
  243. 2tIME-OF-dAY cLOCK aLARM iNTERRUPT
  244. 1tIMER b iNTERRUPT
  245. 0tIMER a iNTERRUPT
  246.  
  247. dc0e56334cia cONTROL rEGISTER a
  248. 7tIME-OF-dAY cLOCK fREQUENCY: 1 = 50 hZ, 0 = 60 hZ
  249. 6sERIAL pORT i/o mODE oUTPUT, 0 = iNPUT
  250. 5tIMER a cOUNTS: 1 = cnt sIGNALS, 0 = sYSTEM 02 cLOCK
  251.  
  252. 4fORCE lOAD tIMER a: 1 = yES
  253. 3tIMER a rUN mODE: 1 = oNE-sHOT, 0 = cONTINUOUS
  254. 2tIMER a oUTPUT mODE TO pb6: 1 = tOGGLE, 0 = pULSE
  255. 1tIMER a oUTPUT ON pb6: 1 = yES, 0 = nO
  256. 0sTART/sTOP tIMER a: 1 = sTART, 0 = sTOP
  257.  
  258. dc0f56335cia cONTROL rEGISTER b
  259. 7sET aLARM/tod-cLOCK: 1 = aLARM, 0 = cLOCK
  260. 6-5tIMER b mODE sELECT:
  261. 00 = cOUNT sYSTEM 02 cLOCK pULSES
  262. 01 = cOUNT pOSITIVE cnt tRANSITIONS
  263. 10 = cOUNT tIMER a uNDERFLOW pULSES
  264. 11 = cOUNT tIMER a uNDERFLOWS wHILE cnt pOSITIVE
  265. 4-0sAME AS cia cONTROL rEG. a - FOR tIMER b
  266.  
  267. dd00-ddff56576-56831mos 6526 cOMPLEX iNTERFACE aDAPTER (cia) #2
  268.  
  269. dd0056576dATA pORT a (sERIAL bUS, rs-232, vic mEMORY cONTROL)
  270. 7sERIAL bUS dATA iNPUT
  271. 6sERIAL bUS cLOCK pULSE iNPUT
  272. 5sERIAL bUS dATA oUTPUT
  273. 4sERIAL bUS cLOCK pULSE oUTPUT
  274. 3sERIAL bUS atn sIGNAL oUTPUT
  275. 2rs-232 dATA oUTPUT (uSER pORT)
  276. 1-ovic cHIP sYSTEM mEMORY bANK sELECT (dEFAULT = 11)
  277.  
  278. dd0156577dATA pORT b (uSER pORT, rs-232)
  279. 7uSER / rs-232 dATA sET rEADY
  280. 6uSER / rs-232 cLEAR TO sEND
  281. 5uSER
  282. 4uSER / rs-232 cARRIER dETECT
  283. 3uSER / rs-232 rING iNDICATOR
  284. 2uSER / rs-232 dATA tERMINAL rEADY
  285. 1uSER / rs-232 rEQUEST TO sEND
  286. 0uSER / rs-232 rECEIVED dATA
  287.  
  288. dd0256578dATA dIRECTION rEGISTER - pORT a
  289. dd0356579dATA dIRECTION rEGISTER - pORT b
  290. dd0456580tIMER a: lOW-bYTE
  291. dd0556581tIMER a: hIGH-bYTE
  292. dd0656582tIMER b: lOW-bYTE
  293. dd0756583tIMER b: hIGH-bYTE
  294.  
  295. dd0856584tIME-OF-dAY cLOCK: 1/10 sECONDS
  296. dd0956585tIME-OF-dAY cLOCK: sECONDS
  297. dd0a56586tIME-OF-dAY cLOCK: mINUTES
  298. dd0b56587tIME-OF-dAY cLOCK: hOURS + am/pm fLAG (bIT 7)
  299. dd0c56588sYNCHRONOUS sERIAL i/o dATA bUFFER
  300. dd0d56589cia iNTERRUPT cONTROL rEGISTER (rEAD nmLS/wRITE mASK)
  301. 7nmi fLAG (1 = nmi oCCURRED) / sET-cLEAR fLAG
  302. 4flag1 nmi (uSER/rs-232 rECEIVED dATA iNPUT)
  303. 3sERIAL pORT iNTERRUPT
  304.  
  305. 1tIMER b iNTERRUPT
  306. 0tIMER a iNTERRUPT
  307.  
  308. dd0e56590cia cONTROL rEGISTER a
  309.  
  310. 7tIME-OF-dAY cLOCK fREQUENCY: 1 = 50 hZ, 0 = 60 hZ
  311. 6sERIAL pORT i/o mODE oUTPUT, 0 = iNPUT
  312. 5tIMER a cOUNTS: 1 = cnt sIGNALS, 0 = sYSTEM 02 cLOCK
  313. 4fORCE lOAD tIMER a: 1 = yES
  314. 3tIMER a rUN mODE: 1 = oNE-sHOT, 0 = cONTINUOUS
  315. 2tIMER a oUTPUT mODE TO pb6: 1 = tOGGLE, 0 = pULSE
  316. 1tIMER a oUTPUT ON pb6: 1 = yES, 0 = nO
  317. 0sTART/sTOP tIMER a: 1 = sTART, 0 = sTOP
  318.  
  319. dd0f56591cia cONTROL rEGISTER b
  320. 7sET aLARM/tod-cLOCK: 1 = aLARM, 0 = cLOCK
  321. 6-5tIMER b mODE sELECT:
  322. 00 = cOUNT sYSTEM 02 cLOCK pULSES
  323. 01 = cOUNT pOSITIVE cnt tRANSITIONS
  324. 10 = cOUNT tIMER a uNDERFLOW pULSES
  325. 11 = cOUNT tIMER a uNDERFLOWS wHILE cnt pOSITIVE
  326. 4-0sAME AS cia cONTROL rEG. a - FOR tIMER b
  327.  
  328.  
  329. deoo-deff56832-57087rESERVED FOR fUTURE i/o eXPANSION
  330. dfoo-dfff57088-57343rESERVED FOR fUTURE i/o eXPANSION
  331.  
  332.