Subversion Repositories pentevo

Rev

Rev 588 | Rev 605 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1.  
  2. ;LAST UPDATE: 06.01.2013 savelij
  3.  
  4.                 PHASE CPU0
  5.                 JP $
  6.  
  7.                 DUPL 0X0008-$,0XFF
  8.                 JP $
  9.  
  10.                 DUPL 0X0010-$,0XFF
  11.                 JP $
  12.  
  13.                 DUPL ADR_SEL_ROM-$,0XFF
  14.                 OUT (C),A                       ;0014
  15.                 NOP
  16.                 RET
  17.  
  18.                 DUPL 0X0018-$,0XFF
  19.                 JP $
  20.  
  21.                 DUPL 0X0020-$,0XFF
  22.                 JP $
  23.  
  24.                 DUPL 0X0028-$,0XFF
  25.                 JP $
  26.  
  27.                 DUPL 0X0030-$,0XFF
  28.                 JP CALL2PAGE
  29.  
  30.                 DUPL 0X0038-$,0XFF              ;0038
  31. ;               PUSH HL
  32. ;               LD HL,(ADR_INT)
  33. ;               EX (SP),HL
  34. ;               RET
  35.  
  36.                 EI
  37.                 RET
  38.  
  39.                 DUPL 0X0080-$,0XFF
  40.                 binclude ../../dec40.bin
  41.  
  42.                 DUPL 0X00FF-$,0XFF
  43.                 DW 0X0038
  44.  
  45. UNPACK_STS      LD BC,WIN_P1
  46.                 LD A,PAGE_STS
  47.                 OUT (C),A
  48.                 IF BUILD_DEBUG=1
  49.                 LD HL,PACK_STS
  50.                 LD DE,CPU1
  51.                 JP UNPACK
  52.  
  53. PACK_STS        binclude ../../sts/sts6_pack.rom
  54.                 ELSE
  55.                 RET
  56.                 ENDIF
  57.  
  58. RD_SET_PAL      LD HL,(ADR_INT)
  59.                 PUSH HL
  60.                 LD HL,EI_RET
  61.                 LD (ADR_INT),HL
  62.                 LD DE,0XAF0F                    ;ДАЛЬШЕ СОХРАНЯЕМ ТЕКУЩУЮ ПАЛИТРУ
  63.                 LD BC,0XBD77
  64.                 OUT (C),D                       ;ВКЛЮЧЕНИЕ ТЕКСТМОДА
  65.                 LD HL,(ADR_PALITRA)
  66.                 LD BC,RD_PALITRA
  67.                 EI
  68.                 HALT
  69.                 DI
  70. NMISERV003      LD A,E
  71.                 BIT 3,E
  72.                 OUT (0XFE),A
  73.                 JR Z,NMISERV004
  74.                 OUT (0XF6),A
  75. NMISERV004      IN A,(C)
  76.                 LD (HL),A
  77.                 INC HL
  78.                 DEC E
  79.                 JP P,NMISERV003                 ;ПАЛИТРУ СОХРАНИЛИ
  80.                 LD HL,MAGIC_PAL
  81.                 LD E,0X0F
  82. SETPAL1         LD A,E
  83.                 BIT 3,E
  84.                 OUT (0XFE),A
  85.                 JR Z,$+4
  86.                 OUT (0XF6),A
  87.                 LD A,(HL)
  88.                 INC HL
  89.                 OR %00001100
  90.                 OUT (0XFF),A
  91.                 DEC E
  92.                 JP P,SETPAL1
  93.                 LD BC,0XFF77
  94.                 OUT (C),D
  95.                 POP HL
  96.                 LD (ADR_INT),HL
  97.                 RET
  98.  
  99. MAGIC_PAL       DB 0X0C,0X2D,0X4E,0X6F,0X9C,0XBD,0XDE,0XFF
  100.                 DB 0XEC,0XED,0XEE,0XEF,0XFC,0XFD,0XFE,0XFF
  101.  
  102. ;ПАЛИТРА ДЛЯ SPECTRUM РЕЖИМА
  103. TRSTPAL         DB 0X00,0X21,0X42,0X63,0X90,0XB1,0XD2,0XF3
  104.                 DB 0XE0,0XE1,0XE2,0XE3,0XF0,0XF1,0XF2,0XF3
  105.  
  106. SETUP_PAL1      LD HL,(RREG_L)
  107.                 LD DE,EXTERN_PAL-CPU2
  108.                 LD BC,0X10
  109.                 PCALL LDIR_BYTES,P_RST8
  110.                 LD HL,EXTERN_PAL
  111.                 JR RESTOREPAL1
  112.  
  113. SETUP_PAL       LD A,(RREG_A)
  114.                 AND A
  115.                 JR NZ,SETUP_PAL1
  116.                 LD HL,TRSTPAL
  117. RESTOREPAL1     LD (ADR_PALITRA),HL
  118. RESTORE_PAL     LD HL,(ADR_INT)
  119.                 PUSH HL
  120.                 LD HL,EI_RET
  121.                 LD (ADR_INT),HL
  122.                 LD HL,(ADR_PALITRA)
  123.                 LD DE,0XAF0F
  124.                 LD BC,0XBD77                    ;ДОСТУП К ПАЛИТРЕ
  125.                 OUT (C),D                       ;вкл.PAL
  126.                 EI
  127.                 HALT
  128.                 DI
  129. SETPAL0         LD A,E
  130.                 BIT 3,E
  131.                 OUT (0XFE),A
  132.                 JR Z,$+4
  133.                 OUT (0XF6),A
  134.                 LD A,(HL)
  135.                 INC HL
  136.                 OR %00001100
  137.                 OUT (0XFF),A
  138.                 DEC E
  139.                 JP P,SETPAL0
  140.                 LD BC,0XFF77
  141.                 OUT (C),D
  142.                 POP HL
  143.                 LD (ADR_INT),HL
  144.                 RET
  145.  
  146.                 DUPL 0X3BFF-$,0XFF
  147.                 DW 0X0038
  148.  
  149.                 DUPL 0X3FF8-$,0XFF
  150.                 DB "ADDON2"
  151.                 DW DATA_VERS
  152.