?login_element?

Subversion Repositories NedoOS

Rev

Blame | Last modification | View Log | Download

  1. mac1    MACRO
  2. .mac1_start:
  3.             ld      b,b
  4.             DUP 3
  5. 2:
  6.                 ld      b,(hl)
  7.                 IF alternate
  8.                     IF !alternate
  9.                         fialovy fail
  10.                         LUA PASS3
  11.                             nonsense anyway --never assembled
  12.                         ENDLUA
  13.                         IF 0 : fail : ELSE : fail : ENDIF
  14.                     ELSE
  15.                         ld      b,a
  16.                         IF 0 : fail : ELSE : inc sp : ENDIF
  17.                     ENDIF
  18.                 ENDIF
  19. alternate = !alternate
  20.             EDUP
  21.             ld      b,c
  22. .mac1_end:
  23.         ENDM
  24.  
  25. mac2    MACRO
  26. .mac2_start:
  27.             ld      c,b
  28.             LUA ALLPASS
  29.                 luaLabelId = 0
  30.             ENDLUA
  31.             DUP 3
  32.                 MMU 4, $$+4
  33. 1:
  34.                 mac1
  35.                 jr      nz,2B
  36.                 jr      z,1B
  37.                 LUA ALLPASS
  38.                     _pc("ld c,a")
  39.                     _pl(".luaLab"..luaLabelId.." ld c,(hl)")
  40.                     luaLabelId = luaLabelId + 1
  41.                     if 3 == luaLabelId then
  42.                         _pc("mac1")
  43.                     ; end
  44.                 ENDLUA
  45.             EDUP
  46.             ld      c,c
  47. .mac2_end:
  48.         ENDM
  49.  
  50. mac3    MACRO
  51. .mac3_start:
  52.         .2  ld      d,b         ; emit 2x
  53. .mac2_emit:
  54.             mac2
  55.             ld      d,c
  56. .mac3_end:
  57.         ENDM
  58.  
  59.     DEVICE ZXSPECTRUMNEXT
  60.         MMU 0 7, 10                         ; map pages 10..17 to each slot
  61.         ORG $8000
  62. main:
  63. .start:
  64.             ld      e,b
  65. alternate = 1
  66. .mac3_emit1:
  67.             mac3
  68.             ld      e,c
  69. .mac3_emit2:
  70.             mac3
  71.             ld      e,d
  72. .end:
  73.  
  74.         DUP 3
  75. 1:          ld      h,b
  76.             ld      h,d
  77.         EDUP
  78.         ld      h,a
  79.  
  80.     CSPECTMAP "sld_complex.sym"
  81.     DEVICE NONE    ; does damage CSPECTMAP export!! the source must end with NEXT device
  82.     DEVICE ZXSPECTRUMNEXT   ; fix CSPECTMAP to follow Next memory paging
  83.