home *** CD-ROM | disk | FTP | other *** search
/ CBM Funet Archive / cbm-funet-archive-2003.iso / cbm / c64 / programming / documents / c64-kernal.txt < prev    next >
Encoding:
Text File  |  1996-11-04  |  6.5 KB  |  59 lines

  1. lABEL   jUMP vECTOR rEAL  fUNCTION                           fUNCTION iNPUT/oUTPUT                    rEGISTER uSAGE
  2.  
  3.         ADDR  ADDR  CODE  dESCRIPTION                        pARAMETERS                             ENTRY  RETURN  USED
  4.  
  5. -----------------------------------------------------------------------------------------------------------------------
  6.  
  7. cint    ff81  ----  ff5b  INIT vic & SCREEN EDITOR                                                  - - -  - - -  a x y
  8.  
  9. ioinit  ff84  ----  fda3  INITIALIZE cia & irq                                                      - - -  - - -  a x y
  10.  
  11. ramtas  ff87  ----  fd50  ram TEST & SEARCH ram END                                                 - - -  - - -  a x y
  12.  
  13. restor  ff8a  ----  fd15  RESTORE DEFAULT i/o VECTORS                                               - - -  - - -  a - y
  14.  
  15. vector  ff8d  ----  fd1a  READ/SET i/o VECTORS               IN: c=0 MOVES FROM y/x TO VECTORS      - x y  - x -  a - y
  16.  
  17.                                                                  c=1 MOVES VECTORS TO y/x           - x y  - x -  a - y
  18.  
  19. setmsg  ff90  ----  fe18  ENABLE/DISABLE kernal MESSAGES     IN: a BIT7=1 ERROR MSGS ON             a - -  - - -  a - -
  20.  
  21.                                                                    BIT6=1 CONTROL MSGS ON
  22.  
  23. second  ff93  ----  edb9  SEND SECONDARY ADDR AFTER LISTEN   IN: a=SECONDARY ADDRESS                a - -  - - -  a - -
  24.  
  25. tksa    ff96  ----  edc7  SEND SECONDARY ADDR AFTER TALK     IN: a=SECONDARY ADDRESS                a - -  - - -  a - -
  26.  
  27. memtop  ff99  ----  fe25  READ/SET TOP OF MEMORY             IN: c=0; y/x ADDRESS                   - x y  - x y  - - -
  28.  
  29.                                                              OUT:c=1; y/x ADDRESS                   - - -  - x y  - x y
  30.  
  31. membot  ff9c  ----  fe34  READ/SET BOTTOM OF MEMORY          IN: c=0; y/x ADDRESS                   - x y  - x y  - - -
  32.  
  33.                                                              OUT:c=1; y/x ADDRESS                   - - -  - x y  - x y
  34.  
  35. scnkey  ff9f  ----  ea87  SCAN KEYBOARD                                                             - - -  - - -  a x y
  36.  
  37. settmo  ffa2  ----  fe21  SET ieee TIMEOUT                   IN: a BIT7=1 DISABLE, BIT7=0 ENABLE    a - -  a - -  - - -
  38.  
  39. acptr   ffa5  ----  ee13  INPUT BYTE FROM serial             OUT:a=BYTE, c=1 AND st=2 IF TIMEOUT    - - -  a - -  a - -
  40.  
  41. ciout   ffa8  ----  eddd  OUTPUT BYTE TO serial              IN: a=BYTE, c=1 AND st=3 IF TIMEOUT    a - -  a - -  - - -
  42.  
  43. untlk   ffab  ----  edef  UNTALK ALL serial DEVICES                                                 - - -  - - -  a - -
  44.  
  45. unlsn   ffae  ----  edfe  UNLISTEN ALL serial DEVICES                                               - - -  - - -  a - -
  46.  
  47. listen  ffb1  ----  ed0c  MAKE serial DEVICE LISTEN          IN: a=DEVICE NUMBER                    a - -  - - -  a - -
  48.  
  49. talk    ffb4  ----  ed09  MAKE serial DEVICE TALK            IN: a=DEVICE NUMBER                    a - -  - - -  a - -
  50.  
  51. readst  ffb7  ----  fe07  READ i/o STATUS BYTE               OUT:a=STATUS BYTE                      - - -  a - -  a - -
  52.  
  53. setlfs  ffba  ----  fe00  SET FILE PARAMETERS                IN: a=LOGICAL FILE NUMBER              a x y  a x y  - - -
  54.  
  55.                                                                  x=DEVICE NUMBER
  56.  
  57.                                                                  y=SECONDARY ADDR
  58.  
  59. setnam  ffbd  ----  fdf9  SET FILE NAME                      IN: a=LENGTH OF FILENAME               a x y  a x y  - - -
  60.  
  61.                                                                  y/x=POINTER TO NAME ADDR
  62.  
  63. open    ffc0  031a  f34a  OPEN LOG.FILE AFTER setlfs,setnam  OUT:a=ERROR# IF c=1                    - - -  - - -  a x y
  64.  
  65. close   ffc3  031c  f291  CLOSE A LOGICAL FILE               IN: a=LOGICAL FILE NUMBER              a - -  - - -  a x y
  66.  
  67. chkin   ffc6  031e  f20e  OPEN CHANNEL FOR INPUT             IN: x=LOGICAL FILE NUMBER              - x -  - - -  a x -
  68.  
  69. chkout  ffc9  0320  f250  OPEN CHANNEL FOR OUTPUT            IN: x=LOGICAL FILE NUMBER              - x -  - - -  a x -
  70.  
  71. clrchn  ffcc  0322  f333  RESTORE DEFAULT DEVICES                                                   - - -  - - -  a x -
  72.  
  73. chrin   ffcf  0324  f157  INPUT CHARACTER                    OUT:a=CHARACTER, c=1 AND st=ERROR      - - -  a - -  a - -
  74.  
  75. chrout  ffd2  0326  f1ca  OUTPUT CHARACTER                   IN: a=CHARACTER, c=1 AND st=ERROR      a - -  a - -  - - -
  76.  
  77. load    ffd5  0330  f49e  LOAD AFTER CALL setlfs,setnam      IN: a=0 LOAD, A=1 VERIFY               a x y  a x y  a x y
  78.  
  79.                                                                  y/x = DEST.ADDR IF SEC.ADDR=0
  80.  
  81. save    ffd8  0332  f5dd  SAVE AFTER CALL setlfs,setnam      IN: a=ZERO PAGE POINTER TO START.ADDR  a x y  - - -  a x y
  82.  
  83.                                                                  y/x=ENDING ADDRESS
  84.  
  85. settim  ffdb  ----  f6e4  SET JIFFY CLOCK                    IN: a=msb, x=MIDDLE, y=lsb             a x y  - - -  - - -
  86.  
  87. rdtim   ffde  ----  f6dd  READ JIFFY CLOCK                   OUT:a=msb, x=MIDDLE, y=lsb             - - -  a x y  a x y
  88.  
  89. stop    ffe1  0328  f6ed  CHECK STOP KEY                     OUT:z=0 IF stop NOT USED; x UNCHANGED  - - -  a - -  a - -
  90.  
  91.                                                                  z=1 IF stop USED; x CHANGED        - - -  a - -  a x -
  92.  
  93.                                                                  a=LAST LINE OF KEYBOARD MATRIX
  94.  
  95. getin   ffe4  032a  f13e  GET A BYTE FROM CHANNEL            OUT:KEYBOARD:a=0 IF PUFFER EMPTY       - - -  a - -  a x y
  96.  
  97.                                                                  rs232:STATUS BYTE                  - - -  a - -  a - -
  98.  
  99.                                                                  SERIAL:STATUS BYTE                 - - -  a - -  a - -
  100.  
  101.                                                                  TAPE:STATUS BYTE                   - - -  a - -  a - y
  102.  
  103. clall   ffe7  032c  f32f  CLOSE OR ABORT ALL FILES                                                  - - -  - - -  a x -
  104.  
  105. udtim   ffea  ----  f69b  UPDATE JIFFY CLOCK                                                        - - -  - - -  a x -
  106.  
  107. screen  ffed  ----  e505  RETURN SCREEN SIZE                 OUT:x=COLUMNS, y=ROWS                  - - -  - x y  - x y
  108.  
  109. plot    fff0  ----  e50a  READ/SET CURSOR POSITION           IN: c=0, x=ROW, y=COLUMN               - x y  - x y  - - -
  110.  
  111.                                                              OUT:c=1, x=ROW, y=COLUMN               - - -  - x y  - x y
  112.  
  113. iobase  fff3  ----  e500  RETURNS THE ADDR OF i/o DEVICES    OUT:y/x=ADDR($dc00)                    - - -  - x y  - x y
  114.  
  115.  
  116.  
  117.