?login_element?

Subversion Repositories NedoOS

Rev

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

  1.         DEVICE ZXSPECTRUM128
  2.         include "settings.asm"
  3.  
  4. music=0
  5.  
  6. NTEXPGS=0
  7. ;curpg=0x5b5c
  8.  
  9. pgtmp=#04
  10.  
  11. ;tcos=#5B00
  12. imer=#7F7F
  13. INTSTACK=imer
  14. imstackbegin=imer&0xff00
  15. distbuf=#7C00 ;#300 ;ID,texx,dist
  16.  
  17.         page 0
  18.         ORG #6000;,0
  19. begin
  20.         jp init
  21.        IF doublescr
  22. SETPG
  23.         LD (curpg),A
  24. curscr=$+1
  25.         OR 0
  26.         LD BC,#7FFD
  27.         OUT (C),A
  28.         RET
  29.        ENDIF
  30.  
  31.         INCLUDE "WCTRL.ASM"
  32.  
  33.         include "beeper.asm"
  34.         include "beeper_sfxdata.asm"
  35.         include "anims.asm"
  36.         include "savestate.asm"
  37.  
  38. ;переменные рендера (обновляются в начале рендера)
  39. curXx
  40. curx    DB #80
  41. curX    DB #0
  42. curYy
  43. cury    DB #80
  44. curY    DB #0
  45. curxy   DW 0
  46. curyx   DW 0
  47. curYX   DW 0
  48. curangle
  49.         DW tsin
  50. demobegin
  51.        IF demoplay
  52.         INCBIN "demorec*"
  53.        ELSE
  54.         DB %00111111 ;all keys released
  55.        ENDIF
  56.  
  57.         align 256
  58. tlogd2sca
  59.        IF scale64
  60.        IF scale64 == 3
  61.         INCBIN "logd2sc3"
  62.        ELSE
  63.         INCBIN "logd2sc2"
  64.        ENDIF
  65.        ELSE
  66.         INCBIN "logd2sc_"
  67.        ENDIF
  68. tsqr2
  69.         INCBIN "sqr2int"
  70. tlogd
  71.         INCBIN "logd"
  72. tcorrlogd
  73.         INCBIN "corlogd_"
  74.         ORG $-256
  75.        DUP 256
  76.         DB {$+(scrtopx*8)}&0xff
  77.        EDUP
  78.        IF lores
  79.         ORG $-256
  80. _=$
  81.        DUP 128
  82.         DB {_}&0xff
  83. _=_+2
  84.        EDUP
  85.         DS 128
  86.        ENDIF
  87. tcos
  88.         DS 256
  89. tlogcos
  90.         INCBIN "pluslcos"
  91. tda
  92.         INCBIN "da"
  93.         ORG $-256
  94.        DUP 256
  95.         DB 0xff&({$}+128)
  96.        EDUP
  97.         ORG $-256
  98.        DUP 256
  99.         DB 0xff&({$+(scrtopx*8)})
  100.        EDUP
  101.        IF lores
  102.         ORG $-256
  103. _=$
  104.        DUP 128
  105.         DB {_}&0xff
  106. _=_+2
  107.        EDUP
  108.         DS 128
  109.        ENDIF
  110. tctg
  111.         INCBIN "plusctg"
  112. tsin
  113.         INCBIN "sin"
  114. cursprites
  115.         DS 256
  116.  
  117.         DISPLAY "tables end=",$
  118. tscalesw3
  119.         incbin "scalesw3"
  120.  
  121.  
  122.         ;DS #8000-$
  123.  
  124.         ds imstackbegin-$
  125.         ds imer-$
  126.         include "int.asm"
  127.  
  128.         ;DS ((IMER/256+1)<<8)-$
  129.         ;ds (IMER&0xff00)-$
  130.  
  131.         ds 0x8000-$ ;ORG #8000
  132. imvec
  133.         DS 257,imer&0xff
  134.  
  135.         INCLUDE "zxloop.asm"
  136.         INCLUDE "WSCAN10.asm"
  137.         INCLUDE "WREND.asm"
  138.  
  139. badmonstexture
  140.         db 0xc0,0xff
  141.  
  142.         align 256
  143. t1x
  144.         db 255
  145.         dup 255
  146.         db (255*2/($&0xff)+1)/2
  147.         edup
  148.  
  149.         DISPLAY "48K PROG END=",$
  150.  
  151.         ORG distbuf
  152.         include "recmap.asm"
  153.  
  154.         DS distbuf+#300-$
  155.  
  156. ;;;;;
  157.         ORG scrbuf
  158. GO
  159.         ;xor a
  160.         ;out (0xfe),a
  161.         DI
  162.         LD HL,WAStcos
  163.         LD DE,tcos
  164.        PUSH DE
  165.         LD BC,256
  166.         LDIR
  167.        POP HL
  168. REtcos0
  169.        DUP 2;4
  170.         SRA (HL)
  171.        EDUP
  172.         INC L
  173.         jr nz,REtcos0
  174.  
  175.        ;IF music
  176.        ; CALL #8000 ;init mus
  177.        ;ENDIF
  178.         LD HL,imvec
  179.         LD DE,imvec+1
  180.         LD (HL),imer/256
  181.         LD B,E,C,L
  182.         LD A,H
  183.         LDIR
  184.         LD I,A
  185.         IM 2
  186.         EI
  187.        HALT
  188.         LD HL,-2
  189.         ADD HL,SP
  190.         LD (clscrbufsp),HL
  191.         LD (eorfillsp),HL
  192.         ld hl,ZXLOOP
  193.         push hl
  194.         LD BC,#FBDF
  195.         IN A,(C)
  196.         LD (mouseoldx),A       
  197.         JP RECMAP ;->ZXLOOP
  198.        
  199.         display "ZXLOOP=",ZXLOOP
  200.  
  201. WASMAP
  202.        IF invmap;atm
  203.         INCBIN "mapatm.E"
  204.        ELSE
  205.         INCBIN "map48.E"
  206.        ENDIF
  207. szMAP=$-WASMAP
  208.  
  209. WAStcos
  210.         INCBIN "cos"
  211. init
  212.         if mouse
  213.         call initmouse
  214.         endif
  215. ;prepare 48K block
  216.         DI ;IY
  217.         LD HL,#5800
  218.         LD DE,#5801
  219.         LD BC,767
  220.         LD (HL),L
  221.         LDIR
  222.         call gettexpg
  223.        if doublescr        
  224.        LD A,0x10+pgtmp
  225.        call SETPG
  226.         call gettexpg
  227.        LD A,0x10
  228.        call SETPG
  229.        endif
  230.         LD IY,23610
  231.         EI
  232.        JP GO
  233.        
  234. gettexpg
  235.         LD HL,waswalls;#C000
  236.         call copyscrcolumns
  237.         ;LD DE,#4000
  238.         ;LD BC,#1800
  239.         ;LDIR
  240.         LD DE,#C000+0x80;maxscale+1
  241.        LD HY,d;0xc0;#FE
  242. ;4 upper textures = #09A6
  243. ;4 lower textures = #0AAC
  244.         LD HL,#4000
  245.         CALL GETTEX
  246.         CALL GETTEX
  247.         CALL GETTEX
  248.         CALL GETTEX
  249.         push de
  250.         LD HL,waswalls+0x800;#C000
  251.         call copyscrcolumns
  252.         pop de
  253.         LD HL,0x4000;#4800
  254.         CALL GETTEX
  255.         CALL GETTEX
  256.         CALL GETTEX
  257.         CALL GETTEX
  258.         push de
  259.         LD HL,waswalls+0x1000;#C000
  260.         call copyscrcolumns
  261.         pop de
  262.         LD HL,0x4000;#5000
  263.         CALL GETTEX
  264.         CALL GETTEX
  265.          CALL GETTEX
  266.          CALL GETTEX
  267.         ;PUSH DE
  268.        ;LD BC,#7FFD
  269.        ;LD A,pgtmp|#10
  270.        ;OUT (C),A
  271.        ;jr $ ;walls: de=d7e6 (e862 12 шт)
  272.         ;LD HL,wasgoods;#DB00
  273.         ;call copyscrcolumns
  274.         ;LD DE,#4000
  275.         ;LD BC,#1800
  276.         ;LDIR
  277.        ;LD BC,#7FFD
  278.        ;LD A,#10
  279.        ;OUT (C),A
  280.         ;POP DE
  281.        LD HL,#4808
  282.        CALL GETSPR
  283.        LD HL,#4818
  284.        CALL GETSPR
  285.        LD HL,#5008
  286.        CALL GETSPR
  287.        LD HL,#5018
  288.        CALL GETSPR
  289.         ;jr $ ;walls: с оптимизацией de=e152 (e2b4 12 шт) (f158 12 шт+2 спрайта без оптимизации)
  290.         ;jr $ ;пак 7: с оптимизацией de=ec70[ebdf] (f4c8 12 шт)
  291.         ;jr $ ;пак 3: с оптимизацией de=e1e4[de70]
  292.         ;jr $ ;пак 2: с оптимизацией de=f070[f6cd]
  293.         ;jr $ ;пак 1: с оптимизацией de=efdf[ef76, без оптимизации f256]
  294.        
  295.         if 1
  296. ;исправляем переполнения адресов текстур (адреса в ПЗУ заменяем на 0xc080, а для спрайтов на badmonstexture)
  297.         ld h,0xc0
  298. fixtexoverflow0
  299.         ld l,0x40
  300. fixtexoverflow1
  301.         ld e,(hl)
  302.         inc h
  303.         ld d,(hl)
  304.         bit 7,d
  305.         jr nz,$+5 ;не в ПЗУ
  306. badaddrpatch=$+1
  307.          ld de,0xc080
  308.         ld (hl),d
  309.         dec h
  310.         ld (hl),e
  311.         inc l
  312.         jp p,fixtexoverflow1
  313.         inc h
  314.         inc h
  315.         ld de,badmonstexture
  316.         ld a,h
  317.         cp 0xc0+(2*12)
  318.         jr c,$+6
  319.          ld (badaddrpatch),de
  320.         cp 0xc0+(2*16)
  321.         jr nz,fixtexoverflow0
  322.         endif
  323.  
  324. ;составляем таблицу масштабирования    
  325.         ld hl,tscalesw3
  326.         ld c,0
  327.         ld b,64
  328. initscales0
  329.         ld e,(hl)
  330.         inc hl
  331.         ld d,(hl)
  332.         inc hl
  333.         push hl
  334.         ld l,c
  335.         push bc
  336.         ld b,d
  337.         ld c,e ;adder 8.8
  338. ;надо из 0040...0400 сделать 78..00 до начала(0x80 -08..-80) = 0x80 - adder*32
  339. ;надо из 0040...0400 сделать 78..04 в начале (0x80 -08..-7c) = 0x80 - adder*31
  340. ;...
  341. ;надо из 0040...0400 сделать 87..f4          (0x80 +07..+74)
  342. ;надо из 0040...0400 сделать 88..f8 в конце  (0x80 +08..+78)
  343.         dup 5
  344.         sla e
  345.         rl d
  346.         edup
  347.         xor a
  348.         sub e
  349.         ld e,a
  350.         ld a,0x80
  351.         sbc a,d
  352.         ld d,a ;0x80 - adder*32
  353.         ld h,0xc0
  354.         ld (hl),0 ;зачем? при d виснет из-за спрайтов
  355.         inc h
  356. initscales1
  357.         ex de,hl
  358.         add hl,bc
  359.         ex de,hl
  360.         ld (hl),d ;Ys=(Y/32-1)*sc
  361.         inc h
  362.         jr nz,initscales1
  363.         pop bc
  364.         inc c
  365.         pop hl
  366.         djnz initscales0
  367.         LD H,#C1
  368. INIRETAB0 ;
  369.         LD L,0
  370.         LD B,maxscale+1
  371. INIRETAB1 ;
  372.         LD A,(HL)
  373.         CP 128-(scrhgtpix/2)
  374.         jr nc,$+4
  375.         LD A,128-(scrhgtpix/2)
  376.         CP 128+(scrhgtpix/2);-1
  377.         jr c,$+4
  378.        ;LD A,128+(scrhgtpix/2)-1 ;видно линию внизу от переполн-й
  379.        LD A,0xff&(dropline-(scrbuf+(scrhgtpix/2)-128))
  380.         ADD A,+(0xff&scrbuf)+(scrhgtpix/2)-128
  381.         LD (HL),A
  382.         INC L
  383.         DJNZ INIRETAB1
  384.         INC H
  385.         LD A,H
  386.         INC A ;#C0XX,#FFXX не трогаем
  387.         jr nz,INIRETAB0
  388.        LD HL,#FF00
  389.        LD DE,#FF01
  390.        LD BC,maxscale
  391.        LD (HL),1
  392.        LDIR
  393.         ret
  394.  
  395.         if mouse
  396. initmouse
  397.         ei
  398.         halt
  399.       ;задержка, чтобы мышка успевала опознаваться - min 2500 тактов для Evo (компа с 280к тактов быстродействия)
  400.       LD B,75
  401. prosirtime
  402.       LD DE,(0)        ;20 тактов
  403.       DJNZ prosirtime  ;13 тактов
  404.   ld a, 0x90
  405.   out (0x7F), a
  406.   out (0x5F), a
  407.   ld bc, 0x0FFDF
  408.   in h, (c)
  409.   ld b, 0x0FB
  410.   in l, (c)
  411.   dec b
  412.   in a, (c)
  413.   cp l
  414.   ret nz ;jr nz, @detected
  415.   cp h
  416.   ret nz ;jr z, @comeon
  417.         LD A,0xaf ;xor a
  418.         LD (mouseon),A
  419.         ;ld hl,0x18+(256*readmousejr) ;"jr"
  420.         ;ld (readmouse_patch),hl
  421.         ret
  422.         endif
  423.  
  424. copyscrcolumns
  425.         ld c,0x40
  426.         call copyscrcolumns_third
  427.         ld c,0x48
  428.         call copyscrcolumns_third
  429.         ld c,0x50
  430.         ;call copyscrcolumns_third
  431. copyscrcolumns_third
  432.         xor a  
  433. copyscrcolumns0
  434.         ld e,a
  435.         ld d,c;0x40
  436.         ld b,0x40
  437. copyscrcolumn1
  438.         ld a,(hl)
  439.         inc hl
  440.         ld (de),a
  441.         inc d
  442.         ld a,d
  443.         and 7
  444.         jr nz,copyscrcolumn1_continue
  445.         ld a,e
  446.         sub -32
  447.         ld e,a
  448.         sbc a,a
  449.         and -8
  450.         add a,d
  451.         ld d,a
  452. copyscrcolumn1_continue
  453.         djnz copyscrcolumn1
  454.         inc e
  455.         ld a,e
  456.         and 0x1f
  457.         jr nz,copyscrcolumns0
  458.         ret
  459.  
  460. GETTEX
  461.        IF scale64
  462.         LD LY,#40
  463.        ELSE
  464.         LD LY,#80
  465.        ENDIF
  466.         LD BC,#0880 ;B=width/8, C=#80(mask)
  467. GETTEX00 ;
  468.        PUSH BC
  469. GETTEX0 CALL GETTEXLINE
  470.         INC LY
  471.        IF scale64 == 0
  472.        INC LY
  473.        ENDIF
  474.         RRC C
  475.         jr nc,GETTEX0
  476.         INC L
  477.        POP BC
  478.         DJNZ GETTEX00
  479.        inc hy,hy;DEC HY,HY
  480.         RET
  481.  
  482. GETSPR
  483.        IF scale64
  484.         LD LY,#40
  485.        ELSE
  486.         LD LY,#80
  487.        ENDIF
  488.         LD BC,#0880 ;B=width/8, C=#80(mask)
  489. GETSPR00 ;
  490.        PUSH BC
  491. GETSPR0 CALL GETSPRLINE
  492.         INC LY
  493.        IF scale64 == 0
  494.        INC LY
  495.        ENDIF
  496.         RRC C
  497.         jr nc,GETSPR0
  498.         INC L
  499.        POP BC
  500.         DJNZ GETSPR00
  501.        inc hy,hy;DEC HY,HY
  502.         RET
  503.  
  504. GETTEXLINE
  505.        PUSH HL
  506.        
  507.        if 0
  508.        push hl
  509.         ld a,h
  510.         or 6
  511.         ld h,a
  512.         ld a,l
  513.         add a,0xe0
  514.         ld l,a
  515.         ld (hl),0xff ;патчим предпоследнюю линию текстуры цветом пола
  516.        pop hl
  517.        endif
  518.        
  519. GETTEXRETRY ;
  520.        LD (gettexDE),DE ;linelength addr
  521.        POP HL
  522.        PUSH HL
  523.         LD (IY),E
  524.        IF scale64 == 0
  525.        LD (IY+1),E
  526.        ENDIF
  527.         INC HY
  528.         LD (IY),D
  529.        IF scale64 == 0
  530.        LD (IY+1),D
  531.        ENDIF
  532.         DEC HY
  533.         INC E
  534.         jr nz,GETTEXniD
  535. GETTEXiD INC D
  536.        LD E,0x80;maxscale+1
  537.        ld a,d
  538.        cp 0xc0+(2*16)
  539.        jr c,GETTEXRETRY
  540.        ld e,0x40 ;дальше нет таблиц адресов
  541.        JR GETTEXRETRY
  542. GETTEXniD ;
  543.         LD LX,0;C ;bit
  544.         LD HX,17 ;17-pixels
  545.         LD B,62 ;62..1 -> 1..62
  546. GETTEX1 ;
  547.         CALL DHL
  548.         LD A,(HL)
  549.         AND C
  550.         CP LX
  551.         LD LX,A
  552.         jr z,GETTEXN
  553.        LD A,HX
  554.        OR A
  555.        jr z,GETTEXN ;can't add more pixels
  556.         LD A,tscale/256+63
  557.         SUB B
  558.         LD (DE),A
  559.         DEC HX ;17-pixels
  560.         INC E ;todo check before write
  561.         jr z,GETTEXiD
  562. GETTEXN ;
  563.         DJNZ GETTEX1   
  564.         LD A,HX ;17-pixels
  565.         ADD A,A
  566.         ADD A,A
  567.         ADD A,A
  568.         SUB HX  ;(17-pixels)*7
  569.        ADD A,DWJP&0xff
  570. gettexDE=$+1
  571.         LD (0),A
  572.           if 1
  573. ;сравнение с предыдущими столбцами
  574.          push de
  575.          push iy
  576.         ld hl,(gettexDE)
  577. GETTEX_cmpnext
  578.         ld a,ly
  579.         cp 0x40 ;ниже этого tscales
  580.         jr nz,GETTEX_cmpgo
  581.         ld a,hy
  582.         cp 0xc0
  583.         jr z,GETTEX_endcmp
  584.         ld ly,0x7f
  585.         dec hy,hy
  586. GETTEX_cmpgo
  587.         dec ly
  588.         ld e,(iy)
  589.         inc hy
  590.         ld d,(iy)
  591.         dec hy
  592.         ld a,17+1
  593.         sub hx ;17+1-(17-pixels)
  594.         ld b,a ;=1+pixels (min=2 из-за линии пола)
  595. GETTEX_cmp1
  596.         ld a,(de)
  597.         cp (hl)
  598.         jr nz,GETTEX_cmpnext
  599.         inc hl
  600.         inc de
  601.         djnz GETTEX_cmp1
  602. ;поставить ссылку на прошлую копию
  603.         ld e,(iy)
  604.         inc hy
  605.         ld d,(iy)
  606.          pop iy
  607.          pop af;de
  608.         LD (IY),e
  609.         INC HY
  610.         LD (IY),d
  611.         DEC HY
  612.         ld de,(gettexDE) ;откатить DE
  613.         jr GETTEX_endcmpq
  614. GETTEX_endcmp
  615.          pop iy
  616.          pop de
  617. GETTEX_endcmpq
  618.           endif
  619.        POP HL
  620.         RET
  621.  
  622. GETSPRLINE
  623.        PUSH HL
  624. GETSPRRETRY ;
  625.        POP HL
  626.        PUSH HL
  627.         LD (IY),E
  628.        IF scale64 == 0
  629.        LD (IY+1),E
  630.        ENDIF
  631.         INC HY
  632.         LD (IY),D
  633.        IF scale64 == 0
  634.        LD (IY+1),D
  635.        ENDIF
  636.         DEC HY
  637.        LD A,H
  638.        OR 6
  639.        LD H,A
  640.        LD A,L
  641.        ADD A,#E0
  642.        LD L,A ;line 62
  643.         LD HX,1
  644. GETSPR1 ;
  645.         CALL FIND10
  646.         jr nc,GETSPRQ ;end of column
  647.         LD A,HX
  648.         CPL
  649.         LD (DE),A ;Y
  650.         INC E
  651.         jr z,GETSPRiD
  652.         CALL FIND1HEIGHT
  653.         LD A,HX
  654.         CPL
  655.         LD (DE),A ;Y2
  656.         INC E
  657.         jr z,GETSPRiD
  658.         CALL FIND0HEIGHT
  659.         LD A,HX
  660.         CPL
  661.         LD (DE),A ;Y3
  662.         INC E
  663.         jr z,GETSPRiD
  664.         JR GETSPR1
  665. GETSPRQ
  666.         LD A,#C0
  667.         LD (DE),A
  668.         INC E
  669.         jr nz,GETSPRniD
  670. GETSPRiD INC D
  671.        LD E,0x80;maxscale+1
  672.        ld a,d
  673.        cp 0xc0+(2*16)
  674.        jr c,GETSPRRETRY
  675.        ld e,0x40 ;дальше нет таблиц адресов
  676.        JR GETSPRRETRY
  677. GETSPRniD ;
  678.         LD A,#FF
  679.         LD (DE),A
  680.         INC E
  681.         jr nz,$+5
  682.          INC D
  683.          LD E,maxscale+1
  684.        POP HL
  685.         RET
  686.  
  687. maxVhgt=10;16?
  688.  
  689. ;HX=V
  690. ;HL=mask
  691. FIND10
  692.         LD A,HX
  693.         CP 63
  694.         RET Z ;CY=0: end of column
  695.         CALL GETPIXEL
  696.         RET C ;CY=1: pixel
  697.         CALL UHL
  698.         INC HX ;V
  699.         JR FIND10
  700. FIND1HEIGHT
  701.        ;LD LX,HX ;oldV
  702.         LD B,0
  703. F1H0    CALL GETPIXEL
  704.         RET NC ;transparent
  705.         RET Z ;0
  706.         CALL UHL
  707.         INC HX ;V
  708.         INC B
  709.         LD A,B
  710.         CP maxVhgt
  711.         jr c,F1H0
  712.         RET
  713. FIND0HEIGHT
  714.        ;LD LX,HX ;oldV
  715.         LD B,0
  716. F0H0    CALL GETPIXEL
  717.         RET NC ;transparent
  718.         RET NZ ;1
  719.         CALL UHL
  720.         INC HX ;V
  721.         INC B
  722.         LD A,B
  723.         CP maxVhgt
  724.         jr c,F0H0
  725.         RET
  726.  
  727. GETPIXEL
  728.         LD A,HX
  729.         CP 63
  730.         RET Z ;CY=0: transparent
  731.         LD A,(HL)
  732.         AND C
  733.         RET NZ ;CY=0: transparent
  734.         RES 3,L
  735.         LD A,(HL)
  736.         AND C
  737.         SET 3,L
  738.         SCF ;CY=1: pixel (Z)
  739.         RET
  740.  
  741. UHL
  742.         LD A,H
  743.         DEC H
  744.         AND 7
  745.         RET NZ
  746.         LD A,L
  747.         SUB #20
  748.         LD L,A
  749.         RET C
  750.         LD A,H
  751.         ADD A,8
  752.         LD H,A
  753.         RET
  754. ;endall
  755.  
  756.         DS #C000-$
  757.  
  758.         if 0
  759.         ;ORG #C000
  760.        IF scale64
  761.        IF scale64 == 3
  762.         INCBIN "tscale3"
  763.        ELSE
  764.         INCBIN "tscale2"
  765.        ENDIF
  766.        ELSE
  767.         INCBIN "tscale"
  768.        ENDIF
  769.         endif
  770.  
  771. ;hicode_begin
  772.         ;ds 0x10000-0x1800-0x0800-$ ;0xс040..7f содержит таблицы адресов текстуры (16 текстур?)
  773.         ds 0x10000-0x1800-0x1000-$ ;0xс040..7f содержит таблицы адресов текстуры (16 текстур?)
  774. waswalls
  775.         incbin "walls.bin";INCBIN "walls_bw",0x1800
  776. wasgoods
  777.         incbin "goods.bin";INCBIN "goods_bw",0x1800
  778. ;hicode_end
  779. end
  780.  
  781.         page pgtmp
  782.         org 0xc000
  783. hicode_begin
  784.         ds 0x10000-0x1800-0x1000-$
  785. ;waswalls
  786.         incbin "walls2.bin";INCBIN "walls_bw",0x1800
  787. ;wasgoods
  788.         incbin "goods2.bin";INCBIN "goods_bw",0x1800
  789. hicode_end
  790.  
  791.         page 0
  792.         savebin "code.c",begin,end-begin
  793.         page pgtmp
  794.         savebin "hicode.c",hicode_begin,hicode_end-hicode_begin
  795.  
  796.         LABELSLIST "../../../us/user.l",1
  797.