Subversion Repositories pentevo

Rev

Rev 261 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?

  1. ;
  2. ;
  3. ;
  4. ;
  5. ;
  6. ;     ┌────────────────────────────────────┐
  7. ;     │      Клавиатура ZX        Джойстик │
  8. ;     │ ┌─────────────────────┐            │
  9. ;     │ │ 1 2 3 4 5 6 7 8 9 0 │  ┌───────┐ │
  10. ;     │ │ Q W E R T Y U I O P │  │      │ │
  11. ;     │ │ A S D F G H J K L e │  │ < F > │ │
  12. ;     │ │ c Z X C V B N M s s │  │      │ │
  13. ;     │ └─────────────────────┘  └───────┘ │
  14. ;     │    ┌───────────┐   ┌──────────┐    │
  15. ;     │    │ SoftReset │   │ TurboKey │    │
  16. ;     │    └───────────┘   └──────────┘    │
  17. ;     └────────────────────────────────────┘
  18. ;
  19. ;
  20. ;
  21. ;    03 11 19 27 35 36 28 20 12 04
  22. ;    02 10 18 26 34 37 29 21 13 05      43
  23. ;    01 09 17 25 33 38 30 22 14 06   41 44 40
  24. ;    00 08 16 24 32 39 31 23 15 07      42
  25. ;
  26. ;               46               45
  27. ;
  28. ;--------------------------------------
  29. ;
  30. TESTZXKEYB:
  31.  
  32.         LDIZ    WIND_T_ZXKBD_1*2
  33.         RCALL   WINDOW
  34.         LDIZ    WIND_T_ZXKBD_2*2
  35.         RCALL   WINDOW
  36.         LDIZ    WIND_T_ZXKBD_3*2
  37.         RCALL   WINDOW
  38.         LDIZ    WIND_T_ZXKBD_4*2
  39.         RCALL   WINDOW
  40.         LDIZ    WIND_T_ZXKBD_5*2
  41.         RCALL   WINDOW
  42.  
  43.         LDIZ    MLMSG_TZXK_1*2
  44.         RCALL   SCR_PRINTMLSTR
  45.         LDIZ    MSG_TZXK_2*2
  46.         RCALL   SCR_PRINTSTRZ
  47.  
  48.         LDIZ    MEGABUFFER+48
  49. T_ZXK03:ST      -Z,NULL
  50.         TST     ZL
  51.         BRNE    T_ZXK03
  52.  
  53.         OUT     DDRA,NULL
  54.         OUT     PORTA,FF
  55.         OUT     DDRC,NULL
  56.         OUT     PORTC,NULL
  57. ;
  58. T_ZXK10:LDIZ    MEGABUFFER
  59.         SBI     DDRC,0
  60.         RCALL   T_ZXK80
  61.         CBI     DDRC,0
  62.         SBI     DDRC,1
  63.         RCALL   T_ZXK80
  64.         CBI     DDRC,1
  65.         SBI     DDRC,2
  66.         RCALL   T_ZXK80
  67.         CBI     DDRC,2
  68.         SBI     DDRC,3
  69.         RCALL   T_ZXK80
  70.         CBI     DDRC,3
  71.         SBI     DDRC,4
  72.         RCALL   T_ZXK80
  73.         CBI     DDRC,4
  74.  
  75.         INPORT  DATA,PING
  76.         LDI     COUNT,5
  77.         RCALL   T_ZXK82
  78.  
  79.         IN      DATA,PINC
  80.         ROL     DATA
  81.         ROL     DATA
  82.         ROL     DATA
  83.         LDI     COUNT,2
  84.         RCALL   T_ZXK82
  85. ;
  86.         LDIZ    MEGABUFFER
  87.         LDI     XL,11
  88.         LDI     XH,9
  89.         RCALL   SCR_SET_CURSOR
  90.         LDD     DATA,Z+3
  91.         RCALL   T_ZXK70
  92.         LDD     DATA,Z+11
  93.         RCALL   T_ZXK70
  94.         LDD     DATA,Z+19
  95.         RCALL   T_ZXK70
  96.         LDD     DATA,Z+27
  97.         RCALL   T_ZXK70
  98.         LDD     DATA,Z+35
  99.         RCALL   T_ZXK70
  100.         LDD     DATA,Z+36
  101.         RCALL   T_ZXK70
  102.         LDD     DATA,Z+28
  103.         RCALL   T_ZXK70
  104.         LDD     DATA,Z+20
  105.         RCALL   T_ZXK70
  106.         LDD     DATA,Z+12
  107.         RCALL   T_ZXK70
  108.         LDD     DATA,Z+4
  109.         RCALL   T_ZXK70
  110.  
  111.         LDI     XL,11
  112.         LDI     XH,10
  113.         RCALL   SCR_SET_CURSOR
  114.         LDD     DATA,Z+2
  115.         RCALL   T_ZXK70
  116.         LDD     DATA,Z+10
  117.         RCALL   T_ZXK70
  118.         LDD     DATA,Z+18
  119.         RCALL   T_ZXK70
  120.         LDD     DATA,Z+26
  121.         RCALL   T_ZXK70
  122.         LDD     DATA,Z+34
  123.         RCALL   T_ZXK70
  124.         LDD     DATA,Z+37
  125.         RCALL   T_ZXK70
  126.         LDD     DATA,Z+29
  127.         RCALL   T_ZXK70
  128.         LDD     DATA,Z+21
  129.         RCALL   T_ZXK70
  130.         LDD     DATA,Z+13
  131.         RCALL   T_ZXK70
  132.         LDD     DATA,Z+5
  133.         RCALL   T_ZXK70
  134.  
  135.         LDI     XL,11
  136.         LDI     XH,11
  137.         RCALL   SCR_SET_CURSOR
  138.         LDD     DATA,Z+1
  139.         RCALL   T_ZXK70
  140.         LDD     DATA,Z+9
  141.         RCALL   T_ZXK70
  142.         LDD     DATA,Z+17
  143.         RCALL   T_ZXK70
  144.         LDD     DATA,Z+25
  145.         RCALL   T_ZXK70
  146.         LDD     DATA,Z+33
  147.         RCALL   T_ZXK70
  148.         LDD     DATA,Z+38
  149.         RCALL   T_ZXK70
  150.         LDD     DATA,Z+30
  151.         RCALL   T_ZXK70
  152.         LDD     DATA,Z+22
  153.         RCALL   T_ZXK70
  154.         LDD     DATA,Z+14
  155.         RCALL   T_ZXK70
  156.         LDD     DATA,Z+6
  157.         RCALL   T_ZXK70
  158.  
  159.         LDI     XL,11
  160.         LDI     XH,12
  161.         RCALL   SCR_SET_CURSOR
  162.         LDD     DATA,Z+0
  163.         RCALL   T_ZXK70
  164.         LDD     DATA,Z+8
  165.         RCALL   T_ZXK70
  166.         LDD     DATA,Z+16
  167.         RCALL   T_ZXK70
  168.         LDD     DATA,Z+24
  169.         RCALL   T_ZXK70
  170.         LDD     DATA,Z+32
  171.         RCALL   T_ZXK70
  172.         LDD     DATA,Z+39
  173.         RCALL   T_ZXK70
  174.         LDD     DATA,Z+31
  175.         RCALL   T_ZXK70
  176.         LDD     DATA,Z+23
  177.         RCALL   T_ZXK70
  178.         LDD     DATA,Z+15
  179.         RCALL   T_ZXK70
  180.         LDD     DATA,Z+7
  181.         RCALL   T_ZXK70
  182.  
  183.         LDI     XL,38
  184.         LDI     XH,10
  185.         RCALL   SCR_SET_CURSOR
  186.         LDD     DATA,Z+43
  187.         RCALL   T_ZXK70
  188.         LDI     XL,36
  189.         LDI     XH,11
  190.         RCALL   SCR_SET_CURSOR
  191.         LDD     DATA,Z+41
  192.         RCALL   T_ZXK70
  193.         LDD     DATA,Z+44
  194.         RCALL   T_ZXK70
  195.         LDD     DATA,Z+40
  196.         RCALL   T_ZXK70
  197.         LDI     XL,38
  198.         LDI     XH,12
  199.         RCALL   SCR_SET_CURSOR
  200.         LDD     DATA,Z+42
  201.         RCALL   T_ZXK70
  202.  
  203.         LDI     XL,14
  204.         LDI     XH,15
  205.         RCALL   SCR_SET_CURSOR
  206.         LDD     DATA,Z+46
  207.         LDI     COUNT,9
  208.         RCALL   T_ZXK72
  209.  
  210.         LDI     XL,30
  211.         LDI     XH,15
  212.         RCALL   SCR_SET_CURSOR
  213.         LDD     DATA,Z+45
  214.         LDI     COUNT,8
  215.         RCALL   T_ZXK72
  216.  
  217.         CALL    INKEY
  218.         BREQ    T_ZXK11
  219.         CPI     DATA,KEY_ESC
  220.         BREQ    T_ZXK99
  221. T_ZXK11:RJMP    T_ZXK10
  222.  
  223. T_ZXK99:OUT     DDRC,NULL
  224.         OUT     PORTC,NULL
  225.         RET
  226. ;
  227. ;
  228. T_ZXK70:LDI     COUNT,1
  229. T_ZXK72:LDI     TEMP,$DF
  230.         ANDI    DATA,$03
  231.         BREQ    T_ZXK71
  232.         LDI     TEMP,$AE
  233.         CPI     DATA,$03
  234.         BREQ    T_ZXK71
  235.         LDI     TEMP,$D1
  236. T_ZXK71:RCALL   SCR_FILL_ATTR
  237.         LDI     TEMP,$DF
  238.         LDI     COUNT,1
  239.         RJMP    SCR_FILL_ATTR
  240. ;
  241. ;
  242. T_ZXK80:CLR     DATA
  243. T_ZXK83:DEC     DATA
  244.         BRNE    T_ZXK83
  245.         IN      DATA,PINA
  246.         LDI     COUNT,8
  247. T_ZXK82:LD      TEMP,Z
  248.         ANDI    TEMP,$FE
  249.         ROR     DATA
  250.         BRCS    T_ZXK81
  251.         ORI     TEMP,$03
  252. T_ZXK81:ST      Z+,TEMP
  253.         DEC     COUNT
  254.         BRNE    T_ZXK82
  255.         CLZ
  256. T_ZXK89:RET
  257. ;
  258. ;--------------------------------------
  259. ;
  260. WIND_T_ZXKBD_1:
  261.         .DB      7, 6,38,12,$DF,1
  262. WIND_T_ZXKBD_2:
  263.         .DB      9, 8,23, 6,$DF,0
  264. WIND_T_ZXKBD_3:
  265.         .DB     34, 9, 9, 5,$DF,0
  266. WIND_T_ZXKBD_4:
  267.         .DB     12,14,13, 3,$DF,0
  268. WIND_T_ZXKBD_5:
  269.         .DB     28,14,12, 3,$DF,0
  270. ;
  271. ;--------------------------------------
  272. ;
  273.