Subversion Repositories pentevo

Rev

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

  1.  
  2. ; LAST UPDATE: 01.11.2023 savelij
  3.  
  4. ;===============ЧТЕНИЕ С SD NEOGS=========================
  5. ;ЧТЕНИЕ "A" СЕКТОРОВ
  6. READ_NEOGS      EX AF,AF'
  7.                 LD A,_DEV_READ
  8.                 CALL COMM2SD
  9.                 EX AF,AF'
  10.                 PUSH DE
  11.                 PUSH BC
  12.                 LD BC,GSDAT
  13. SDRDSN1         EX AF,AF'
  14.                 OUT (GSCOM),A
  15.                 CALL WC_
  16.                 LD DE,0x0200
  17. SDRDSN2         CALL WN_
  18.                 INI
  19.                 DEC DE
  20.                 LD A,D
  21.                 OR E
  22.                 JR NZ,SDRDSN2
  23.                 EX AF,AF'
  24.                 DEC A
  25.                 JR NZ,SDRDSN1
  26.                 CALL WN_
  27. SDRDSN3         IN A,(C)
  28.                 CP 0x77
  29.                 JR NZ,SDRDSN3
  30.                 POP BC
  31.                 POP DE
  32.                 XOR A
  33.                 RET
  34.  
  35. ;ПЕРЕДАТЧИК КОМАНД/ПАРАМЕТРОВ В ДРАЙВЕР НА NeoGS
  36. COMM2SD         OUT (GSDAT),A                   ;УШЛА КОМАНДА ДРАЙВЕРУ
  37.                 LD A,0x1E
  38.                 OUT (GSCOM),A                   ;УШЛА КОМАНДА ПРОШИВКЕ
  39.                 CALL WC_
  40.                 LD A,B
  41.                 OUT (GSDAT),A                   ;УШЛИ БИТЫ 31-24 ПАРАМЕТРОВ
  42.                 CALL WD_
  43.                 LD A,C
  44.                 OUT (GSDAT),A                   ;УШЛИ БИТЫ 23-16 ПАРАМЕТРОВ
  45.                 CALL WD_
  46.                 LD A,D
  47.                 OUT (GSDAT),A                   ;УШЛИ БИТЫ 15-8 ПАРАМЕТРОВ
  48.                 CALL WD_
  49.                 LD A,E
  50.                 OUT (GSDAT),A                   ;УШЛИ БИТЫ 7-0 ПАРАМЕТРОВ
  51.                 CALL WD_
  52.                 EX AF,AF'
  53.                 OUT (GSDAT),A                   ;УШЛО КОЛ-ВО СЕКТОРОВ
  54.                 EX AF,AF'
  55.                 DUPL 9,0
  56.                 RET
  57.  
  58. ;ОЖИДАНИЕ КОГДА NeoGS БАЙТ ЗАБЕРЕТ
  59. WD_             IN A,(GSCOM)
  60.                 RLA
  61.                 JR C,WD_
  62.                 RET
  63.  
  64. ;ОЖИДАНИЕ КОГДА NeoGS ДАСТ БАЙТ
  65. WN_             IN A,(GSCOM)
  66.                 RLA
  67.                 JR NC,WN_
  68.                 RET
  69.  
  70. ;ОЖИДАНИЕ КОГДА NeoGS КОМАНДУ ЗАБЕРЕТ
  71. WC_             IN A,(GSCOM)
  72.                 RRA
  73.                 JR C,WC_
  74.                 RET
  75. ;===============ЧТЕНИЕ С SD NEOGS=========================
  76.