SHARE
TWEET

Untitled

a guest Jun 1st, 2011 53 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. .nolist  
  3. ; Copyright by Thomas Dickerson under the terms of the GNU GPLv3
  4. #include "dcs6.inc"
  5. _clrlcdfull = $4540
  6. _strcpy      =$44E3  
  7. _MultAbyE   =$8042
  8. savesscreen = $86ec
  9. _FlashToRam = $5017
  10. MouseMaskLoc = $987e + 16
  11. _memclear    =$4c30    
  12.  
  13.  
  14.  
  15. MouseY   .equ   $989E    
  16. MouseX   .equ   $989F
  17.  
  18.  
  19.  
  20. sk2nd = $36
  21. skAlpha = $30
  22. skMode = $37
  23. skClear = $0f
  24.  
  25. ;null               =$00         ;COMPLETE   XY   [none]
  26. ;LargeWin            =$01         ;COMPLETE   --   [5 byte icon, header text]
  27. ;SmallWin            =$02         ;COMPLETE   XY   [x,y, 5 byte icon, header text]
  28. ;FullScreenImg         =$03         ;COMPLETE   XY   [768 bytes]
  29. ;Text               =$04         ;COMPLETE   XY   [x,y,font,z.t. text]
  30. ;WinButtons            =$05         ;COMPLETE   --   [which {-,[],X,00000}, onclick[-] {word}, onclick[] {word}, onclick[X] {word}]
  31. ;WrappedText         =$06         ;COMPLETE   XY   [x,y,width,font,z.t. text]
  32. ;ButtonText            =$07         ;COMPLETE   XY   [x,y,onclick {word},zt text]
  33. ;ButtonImg            =$08         ;COMPLETE   XY   [x,y,onclick {word},img width [BYTES],button width [PX], img data (5 rows high)]
  34. ;TextLineIn            =$09         ;COMPLETE   XY   [x,y,width,maxchar [word],curdatapos (0 to datalength) [word],data (z.t.)]
  35. ;Radio               =$0A         ;COMPLETE   XY   [x,y,group,state {bool},zttext]  1 per group
  36. ;Checkbox            =$0B         ;COMPLETE   XY   [x,y,group,state {bool},zttext] ++ per group
  37. ;ByteInt            =$0C         ;COMPLETE   XY   [x,y,value,min,max]
  38. ;WordInt            =$0D         ;COMPLETE   XY   [x,y,value,min,max]
  39. ;Hotspot            =$0E         ;COMPLETE   XY   [x,y,width,height,ptr]
  40. ;TextMultiline         =$0F         ;COMPLETE   XY   [x,y,rows,width,curdatapos (0 to datalength) [word],data]
  41. ;;Sprite            =$10         ;COMPLETE   XY   [x,y,b,data]
  42. ;LargeSprite         =$11         ;COMPLETE   XY   [x,y,a,b,data]
  43. ;PassIn               =$12         ;COMPLETE   XY   [x,y,width,maxchar [word],curdatapos (0 to datalength) [word],data (z.t.)]
  44. ;ScrollVert            =$13         ;COMPLETE   XY   [x,y,height,ID,per,min [word],max [word],cur [word],onScrollUp,onScrollDown]
  45. ;ScrollHoriz         =$14         ;COMPLETE   XY   [x,y,width,ID,per,min [word],max [word],cur [word],onScrollUp,onScrollDown]
  46. ;Border               =$15         ;COMPLETE   XY   [x,y,width,height,color]
  47. ;Rect               =$16         ;COMPLETE   XY   [x,y,width,height,fill]
  48. ;Custom               =$17         ;COMPLETE   --   [ptr_to_routine]
  49. ;MouseCursor         =$18         ;COMPLETE   --  [xy,xy,8-byte mask,8-byte sprite]
  50. ;MouseClick            =$19      
  51. varmem  = $98F2
  52.  
  53. .list
  54.    .org progstart  
  55.    .db $BB,$6D  
  56. INIT:  
  57.    xor d  
  58.    .db $C9
  59.    jr Start  
  60.    .dw $0000  
  61.    .db $06,$00  
  62.    .dw Icon  
  63.    .dw $0000  
  64.    .dw Apstart         ;the routine to open files.  DCS will start you here instead of at $9D95  
  65.                   ;if a file is pending  
  66.    .db $31,$7F         ;argh, this be an APMain  
  67.    .db $01            ;number of accepted filetypes  
  68. filetype:
  69.    .db $00,$01,$03         ;iPaint files
  70. Icon:
  71.    .db $0F,$F2,$68,$17,$63,$07,$06,$8B,$F7,$97,$F3,$27,$60,$4E,$60,$4E
  72.    .db $60,$EC,$69,$79,$7A,$C1,$35,$81,$0B,$01,$16,$01,$2C,$03,$59,$FE
  73.  
  74. IconAP:            ;a 16x16 icon  
  75.    .db $FF,$F8,$80,$14,$98,$12,$98,$1F,$80,$27,$BC,$4F,$BC,$4F,$98,$ED
  76.    .db $99,$79,$9A,$C1,$9D,$99,$8B,$35,$96,$3D,$AC,$19,$D8,$03,$BF,$FE
  77. START:
  78.    call dispttl
  79.    bcall(_cleargbuf) ;clear the buffer
  80.    bcall(_ClrLcdf) ;now clear the screen
  81.    OpenGuiStack()
  82.    PushGuiStack(Null,Null,1)
  83.    PushGuiStack(FullScreenImg,MainMenu,768)
  84.    PushGuiStack(ButtonText,OpenButton,OpenBSize)
  85.    PushGuiStack(ButtonText,NewButton,NewBSize)
  86.    PushGuiStack(ButtonText,ImportButton,ImportBSize)
  87.    PushGuiStack(ButtonImg,QuitButton,QuitBSize)
  88. rerender:
  89.    GUIMouse(Null)
  90.    CloseGuiStack()
  91.    ret
  92.  
  93. APStart:
  94.    push ix  
  95.    call dispttl
  96.    bcall(_cleargbuf)
  97.    bcall(_clrlcdfull)
  98.    PushGuiStack(Null,Null,1)
  99.    jr OpenHandler2
  100.    
  101. OpenHandler:
  102.    MouseRecover()
  103.    FileOpen()
  104.    ld a,l
  105.    cp 0
  106.    jr z,failopen
  107.    ld a,h
  108.    cp 0
  109.    jr z,failopen
  110.    push hl
  111.    pop ix
  112.    ld a,(ix-3)
  113.    cp 0
  114.    jr nz,failopen
  115.    ld a,(ix-2)
  116.    cp 1
  117.    jr nz,failopen
  118.    ld a,(ix-1)
  119.    cp 3
  120.    jr nz,failopen
  121.    push hl
  122.    PopGuiStacks(5)
  123. OpenHandler2:
  124.    pop hl
  125.    ld de,savesscreen
  126.    ld bc,768
  127.    ldir
  128. OpenHandler3:
  129.    bcall(_cleargbuf)
  130.    bcall(_clrlcdfull)
  131.    PushGuiStack(MouseCursor,PencilCursor,CursorSize)
  132.    PushGuiStack(FullScreenImg,savesscreen,768)
  133.    PushGuiStack(Hotspot,LoelHax,HaxSize)
  134.    PushGuiStack(Hotspot,ExpHax,ExpHaxSize)
  135. drerender:
  136.    GUIMouse(DrawHandler)
  137.    ret
  138. failopen:
  139.    ld hl,rerender
  140.    push hl
  141.    ret
  142.  
  143. NewHandler:
  144.    MouseRecover()
  145.    PopGuiStacks(5)
  146.    ld hl,savesscreen
  147.    ld bc,768
  148.    bcall(_memclear)
  149.    jr OpenHandler3
  150.    
  151. PatienceHandler:
  152.    MouseRecover()
  153.    PushGuiStack(SmallWin,PatienceWin,PatienceWinSize)
  154.    PushGuiStack(WrappedText,PleaseWaitTxt,PleaseWaitSize)
  155.    RenderGui()
  156.    Pause()
  157.    PopGuiStacks(2)
  158.    ld hl,rerender
  159.    push hl
  160.    ret
  161.    
  162. ImportHandler:
  163.    MouseRecover()
  164.    PushGuiStack(LargeWin,ImportSelWin,ImportSelSize)
  165.    RenderGui()
  166.    Pause()
  167.    PopGuiStack()
  168.    ld hl,rerender
  169.    push hl
  170.    ret
  171.  
  172. ExpDialog:
  173.    MouseRecover()
  174.    ld hl,MouseX
  175.    ld (hl),48
  176.    ld hl,MouseY
  177.    ld (hl),32
  178.    
  179.    GUIFindFirst()
  180.    GUIFindNext()
  181.    ld de,3
  182.    add hl,de
  183.    ld (varmem),hl
  184.    
  185.    call MakeExpSelPrompt
  186.    GuiMouse(null)
  187.    
  188. AskSave:
  189.    MouseRecover()
  190.    ld hl,MouseX
  191.    ld (hl),48
  192.    ld hl,MouseY
  193.    ld (hl),32
  194.    
  195.    GUIFindFirst()
  196.    GUIFindNext()
  197.    ld de,3
  198.    add hl,de
  199.    ld (varmem),hl
  200.    
  201.    call MakeSavePrompt
  202.    GuiMouse(null)
  203.    
  204. Quit:
  205.    MouseRecover()
  206.    CloseGUIStack()
  207.    ret
  208.    
  209. DrawHandler:
  210.    .db $3f ;debounce flag
  211.    ld h,a  
  212.    push hl  
  213.    ld a,$ff  
  214.    out (1),a  
  215.    nop  
  216.    ld a,$bf  
  217.    out (1),a  
  218.    nop \ nop  
  219.    in a,(1)  
  220.    cp $df            ;2nd  
  221.    jr z,PixOn  
  222.    cp $bf            ;mode  
  223.    jr z,PixFlip
  224.    ld a,$ff  
  225.    out (1),a  
  226.    nop  
  227.    ld a,$df  
  228.    out (1),a  
  229.    nop \ nop  
  230.    in a,(1)  
  231.    cp $7f            ;alpha  
  232.    jr z,PixOff  
  233.    pop hl  
  234.    ld a,$ff  
  235.    out (1),a  
  236.    nop  
  237.    ld a,$fd  
  238.    out (1),a  
  239.    nop \ nop  
  240.    in a,(1)  
  241.    cp $bf            ;clear
  242.    jr z,DrawQuit
  243.    cp $df
  244.    jr z,PicExport
  245. DrawCont:
  246.    ret
  247. PixOn:
  248.    pop hl
  249.    ld e,l
  250.    ld a,h
  251.    call iGetPixel2
  252.    or (hl)
  253.    ld (hl), a
  254.    call mouseGetMask
  255.    or (hl)
  256.    ld (hl),a
  257.    jr DrawCont
  258. PixOff:
  259.    pop hl
  260.    ld e,l
  261.    ld a,h
  262.    call iGetPixel2
  263.    cpl
  264.    and (hl)
  265.    ld (hl),a
  266.    call mouseGetMask
  267.    cpl
  268.    and (hl)
  269.    ld (hl),a
  270.    jr DrawCont
  271. PixFlip:
  272.    pop hl
  273.    ld e,l
  274.    ld a,h
  275.    call iGetPixel2
  276.    xor (hl)
  277.    ld (hl),a
  278.    call mouseGetMask
  279.    xor (hl)
  280.    ld (hl),a
  281.    jr DrawCont
  282. DrawQuit:
  283.    pop hl
  284.    ld hl,MouseX
  285.    ld (hl),98
  286.    ld hl,MouseY
  287.    ld (hl),1
  288.    ret
  289. PicExport:
  290.    pop hl
  291.    ld hl,MouseX
  292.    ld (hl),98
  293.    ld hl,MouseY
  294.    ld (hl),4
  295.    ret
  296.    
  297. makesaveprompt:
  298.    PushGuiStack(SmallWin,savepwin,savepwinsize)
  299.    PushGuiStack(Text,spwt,spwtsize)
  300.    PushGuiStack(ButtonText,spwyb,spwybsize)
  301.    PushGuiStack(ButtonText,spwnb,spwnbsize)
  302.    PushGuiStack(Buttontext,spwcb,spwcbsize)
  303.    ret
  304.    
  305. makeexpselprompt:
  306.    PushGuiStack(SmallWin,ExportSelWin,ExportSelSize)
  307.    PushGuiStack(ButtonText,ExpSA,ExpSASize)
  308.    PushGuiStack(ButtonText,ExpCancel,ExpCancelSize)
  309.    PushGuiStack(ButtonText,ExpBG,ExpBGSize)
  310.    PushGuiStack(Buttontext,ExpPic,ExpPicSize)
  311.    ret
  312.    
  313. setsavey:
  314.    MouseRecover()
  315.    ld hl,(varmem)
  316.    ld de,filetype
  317.    ld bc,768
  318.    call FileSaveAs
  319.    CloseGuiStack()
  320.    ret
  321.  
  322. setsavec:
  323.    MouseRecover()
  324.    PopGuiStacks(5)
  325.    jp drerender
  326.  
  327. setexpy:
  328.  
  329. setexpc:
  330.    
  331.  
  332. hlFastCopy:
  333.    di
  334.    ld c,$10
  335. setrow:
  336.    in a,(c)
  337.    rla ;test 7th bit
  338.    jr c,setrow
  339.    ld a,$80
  340.    out ($10),a
  341.    ld de,12
  342.    ld a,$20
  343. col:
  344.    push af ;the push and pop are wasted clocks
  345. colwait: ;but this only occurs 12 times
  346.    in a,(c)
  347.    rla
  348.    jr c,colwait
  349.    pop af
  350.    out ($10),a
  351.    push af
  352.    ld b,64
  353. row:
  354.    in a,(c)
  355.    rla
  356.    jr c,row
  357.    ld a,(hl)
  358.    out ($11),a
  359.    add hl,de
  360.    djnz row
  361.    pop af
  362.    dec h
  363.    dec h
  364.    dec h
  365.    inc hl
  366.    inc a
  367.    cp $2c
  368.    jr nz,col
  369.    ei
  370.    ret
  371.    
  372.  
  373. ;;;;iGetPixel2 (iGetPixel for the gui stack)
  374. iGetPixel2:
  375.    ld   d,$00
  376.    ld   h,d
  377.    ld   l,e
  378.    add   hl,de
  379.    add   hl,de
  380.    add   hl,hl
  381.    add   hl,hl
  382.    push af
  383.    push hl
  384.    GUIFindFirst()
  385.    GUIFindNext()
  386.    ld de,3
  387.    add hl,de
  388.    pop de    
  389.    pop af
  390.    add   hl,de
  391.    ld   b,$00
  392.    ld   c,a
  393.    and   %00000111
  394.    srl   c
  395.    srl   c
  396.    srl   c
  397.    add   hl,bc
  398.    ld   b,a
  399.    inc   b
  400.    ld   a,%00000001
  401. getPixelLoop2:
  402.    rrca
  403.    djnz   getPixelLoop2
  404.    ret
  405.    
  406. ;;;;mouseGetMask
  407. mouseGetMask:
  408.    ld hl,MouseX
  409.    ld a,(hl)
  410.    and   7
  411.    ld   b,a
  412.    inc   b
  413.    ld   a,1
  414. mouseGetLoop:
  415.    rrca
  416.    djnz   mouseGetLoop
  417.    ld hl,MouseMaskLoc
  418.    ret    
  419.  
  420. ;;;;;find RIGView files for import
  421. ; input:
  422. ;   hl=place to start looking
  423. ;   ix->first line of data (0 terminated)
  424. ; output:
  425. ;   de=place stopped + 1
  426. ;   hl->program data (after the string)
  427. ;   z=0 if found, z=1 if not found.
  428. ;   All registers destroyed
  429. rDetect: ld   de,(ptemp)
  430.    bcall(_cphlde)
  431.    ld   a,(hl)
  432.    jr   nz,rDetectContinue
  433.    inc   a
  434.    ret
  435. rDetectContinue:
  436.    push   hl
  437.    and   $01
  438.    jr   nz,rDetectSkip
  439.  
  440.    dec   hl
  441.    dec   hl
  442.    dec   hl   ; hl->lsb ptr
  443.    ld   e,(hl)
  444.    dec   hl
  445.    ld   d,(hl)
  446.    dec   hl   ; hl->page
  447.    ld   a,(hl)
  448.    or   a
  449.    push   af
  450.    ld   h,d
  451.    ld   l,e   ; hl & de->program
  452.    jr   z,rDetectNoMove
  453.    push   hl
  454.    bcall(_memfree)
  455.    ld   bc,64
  456.    sbc   hl,bc
  457.    pop   hl
  458.    jr   c,rDetectNotEnough
  459.    ld   de,($9820)
  460.    push   ix
  461.    push   hl
  462.    push   de
  463.    bcall(_flashToRam)
  464.    pop   hl
  465.    push   hl
  466.    pop   ix
  467.    ld   a,10
  468.    add   a,(ix+9)
  469.    ld   e,a
  470.    ld   d,0   ; de=flash offset
  471.    add   hl,de
  472.    ex   (sp),hl
  473.    add   hl,de
  474.    pop   de
  475.    ex   de,hl   ; hl-temp, de-perm
  476.    pop   ix
  477. rDetectNoMove:
  478.    inc   de
  479.    inc   de
  480.    ld   c,(hl)
  481.    inc   hl
  482.    ld   b,(hl)
  483.    inc   hl   ; hl->data in ram
  484.    push   bc
  485.    push   ix
  486.    pop   bc
  487. rDetectCheck:
  488.    ld   a,(bc)
  489.    or   a
  490.    jr   z,rDetectFound
  491.    cp   (hl)
  492.    inc   bc
  493.    inc   de
  494.    inc   hl
  495.    jr   z,rDetectCheck
  496. rDetectBad:
  497.    pop   bc
  498. rDetectNotEnough:
  499.    pop   af
  500. rDetectSkip:
  501.    pop   hl
  502.    ld   bc,-6
  503.    add   hl,bc
  504.    ld   b,(hl)
  505.    dec   hl
  506. rDetectNameLoop2:
  507.    dec   hl
  508.    djnz   rDetectNameLoop2
  509.    jr   rDetect
  510. rDetectFound:
  511.    pop   hl
  512.    ; hl=size, de->data
  513.    pop   af   ; a=page, f=(or a)
  514.    jr   z,rDetectInRam
  515.    push   de   ; data
  516.    push   af
  517.    push   hl
  518.    bcall(_enoughRam)
  519.    pop   bc
  520.    jr   c,rDetectBad
  521.    pop   af
  522.    pop   hl
  523.    ld   de,($9820)   ; tempMem
  524.    push   de
  525.    bcall(_flashToRam)
  526.    pop   de
  527. rDetectInRam:   ; de->data in RAM
  528.    pop   hl   ; hl->vat location
  529.    ld   bc,-6
  530.    add   hl,bc
  531.    ld   b,(hl)
  532.    inc   b
  533. rDetectNameLoop1:
  534.    dec   hl
  535.    djnz   rDetectNameLoop1
  536.    ex   de,hl
  537.    xor   a
  538.    ret
  539. dispttl:
  540.    di
  541.    ld   hl,RLE_Image
  542.    ld   de,PlotsScreen
  543.    call   DispRLE
  544.    ld   de,AppBackupScreen
  545.    call   DispRLE
  546.  
  547. CopyAgain:
  548.    call   RIGCopyTBLR
  549.  
  550.    ld   bc,$07FE
  551. KeyCheck:
  552.    ld   a,$FF
  553.    out   (1),a
  554.    ld   a,c
  555.    out   (1),a
  556.    in   a,(1)
  557.    inc   a
  558.    jr   nz,exttl
  559.    rlc   c
  560.    djnz   KeyCheck
  561.  
  562.    ld   c,128
  563. DoDelay:
  564.    ld   b,10
  565.    djnz   $
  566.    dec   c
  567.    jr   nz,DoDelay
  568.    
  569.    ld   bc,308
  570. FixedDelay:
  571.    dec   bc
  572.    ld   a,b
  573.    or   c
  574.    jr   nz,FixedDelay
  575.  
  576.    jr   CopyAgain
  577.  
  578. exttl:
  579.    ei
  580.    bcall(_ClrLcdf)
  581.    bcall(_HomeUp)
  582.    bcall(_GetCSC)
  583.    ret
  584.  
  585. RC_L1   = PlotsScreen
  586. RC_L2   = AppBackupScreen
  587.  
  588. RIGCopyTBLR:
  589.    ;Move To Top
  590.    ld   a,$80      ;7
  591.    out   ($10),a      ;11
  592.  
  593.    ;Preserve SP (used as temp register)
  594.    ld   (RC_SP+1),sp   ;20
  595.    ld   sp,RC_L1-RC_L2   ;10
  596.    
  597.    ld   hl,RC_Rotate+1   ;10
  598.    dec   (hl)      ;11
  599.    jp   p,RC_SkipHL2   ;10/1
  600.    ld   (hl),2      ;10
  601. RC_SkipHL2:
  602.  
  603.    ld   de,RC_L2   ;10
  604.    ld   a,$20      ;7
  605. RC_HLoop:
  606.    ;Set Horizontal Position
  607.    out   ($10),a      ;11
  608.  
  609.    ld   (RC_LdA+1),a   ;13
  610.    ld   b,64      ;7
  611. RC_Rotate:
  612.    ld   c,1      ;7
  613. RC_VLoop:
  614.    dec   c      ;4
  615.    ld   h,d      ;4
  616.    ld   l,e      ;4
  617.  
  618.    jp   p,RC_Wait   ;10/1
  619.    or   a      ;4 (waste)
  620.    ld   c,2      ;7
  621.    add   hl,sp      ;11
  622. RC_NotL1:
  623.    
  624.  
  625.    ld   a,(hl)      ;4
  626.    out   ($11),a      ;11
  627.  
  628.    inc   de      ;6
  629.  
  630.    djnz   RC_VLoop   ;13/8
  631.  
  632.    ld   a,c      ;4
  633.    ld   (RC_Rotate+1),a   ;13
  634.  
  635. RC_LdA:
  636.    ld   a,0      ;7
  637.    inc   a      ;4
  638.    cp   $2C      ;7
  639.    jp   nz,RC_HLoop   ;10/1
  640.    
  641. RC_SP:
  642.    ld   sp,$0000   ;10
  643.    ret         ;10
  644.  
  645. RC_Wait:
  646.    jr   RC_NotL1   ;12 (waste)
  647.    
  648. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  649. OpenButton:
  650.    .db 6,17
  651.    .dw OpenHandler
  652.    .db "OPEN",0
  653. OpenBSize = $ - OpenButton
  654.  
  655. NewButton:
  656.    .db 28,17
  657.    .dw NewHandler
  658.    .db "NEW",0
  659. NewBSize = $ - NewButton
  660.  
  661. ImportButton:
  662.    .db 46,17
  663.    .dw ImportHandler
  664.    .db "IMPORT",0
  665. ImportBSize = $ - ImportButton
  666.  
  667. QuitButton:
  668.    .db 76,17
  669.    .dw Quit
  670.    .db 1,5
  671.    .db %10001000
  672.    .db %01010000
  673.    .db %00100000
  674.    .db %01010000
  675.    .db %10001000
  676. QuitBSize = $ - QuitButton
  677. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  678. PatienceWin:
  679.    .db 8,6
  680.    .db %00100000
  681.    .db %00100000
  682.    .db %00100000
  683.    .db %00000000
  684.    .db %00100000
  685.    .db "Oops...",0
  686. PatienceWinSize = $ - PatienceWin
  687.  
  688. PleaseWaitTxt:
  689.    .db 1,1,74,0
  690.    .db "This feature has not yet been implemented (press any key to continue)",0
  691. PleaseWaitSize = $ - PleaseWaitTxt
  692. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  693. PencilCursor:
  694.    .dw 0,95*256+63
  695.    ;AND mask
  696.    .db %01111111
  697.    .db %10011111
  698.    .db %10001111
  699.    .db %11000111
  700.    .db %11100011
  701.    .db %11110001
  702.    .db %11111000
  703.    .db %11111100
  704.    ;XOR mask
  705.    .db %10000000
  706.    .db %01100000
  707.    .db %01010000
  708.    .db %00101000
  709.    .db %00010100
  710.    .db %00001010
  711.    .db %00000111
  712.    .db %00000011
  713. CursorSize = $ - PencilCursor
  714.  
  715. LoelHax:
  716.    .db 97,0,2,2
  717.    .dw AskSave
  718. HaxSize = $ - LoelHax
  719.  
  720. ExpHax:
  721.    .db 97,3,2,2
  722.    .dw ExpDialog
  723. ExpHaxSize = $ - ExpHax
  724. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  725. savepwin:
  726.    .db 2,2
  727.    .db %01110000
  728.    .db %01011000
  729.    .db %01001000
  730.    .db %01001000
  731.    .db %01111000
  732.    .db "Save Picture?",0
  733. savepwinsize = $ - savepwin
  734.  
  735. spwyb:
  736.    .db 2,15
  737.    .dw setsavey
  738.    .db "Yes",0
  739. spwybsize = $ - spwyb
  740.  
  741. spwnb:
  742.    .db 21,15
  743.    .dw Quit
  744.    .db "No",0
  745. spwnbsize = $ - spwnb
  746.  
  747. spwcb:
  748.    .db 46,15
  749.    .dw setsavec
  750.    .db "Cancel",0
  751. spwcbsize = $ - spwcb
  752.  
  753. spwt:
  754.    .db 1,7,0
  755.    .db "Save before quitting?",0
  756. spwtsize = $ - spwt
  757. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  758. ExportSelWin:
  759.    .db 3,6
  760.    .db %11111000
  761.    .db %10000000
  762.    .db %11110000
  763.    .db %10000000
  764.    .db %11111000
  765.    .db "Select Export Format",0
  766. ExportSelSize = $ - ExportSelWin
  767.  
  768. ExpSA:
  769.    .db 1,28
  770.    .dw PatienceHandler
  771.    .db "Standalone",0
  772. ExpSASize = $ - ExpSA
  773.  
  774. ExpCancel:
  775.    .db 51,28
  776.    .dw setsavec
  777.    .db "Cancel",0
  778. ExpCancelSize = $ - ExpCancel
  779.  
  780. ExpBG:
  781.    .db 1,4
  782.    .dw PatienceHandler
  783.    .db "DCS6 BG",0
  784. ExpBGSize = $ - ExpBG
  785.  
  786. ExpPic:
  787.    .db 1,16
  788.    .dw PatienceHandler
  789.    .db "TI-OS Pic",0
  790. ExpPicSize = $ - ExpPic
  791. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  792. ImportSelWin:
  793.    .db %11111000
  794.    .db %00100000
  795.    .db %00100000
  796.    .db %00100000
  797.    .db %11111000
  798.    .db "Select Pic...",0
  799. ImportSelSize = $ - ImportSelWin
  800. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  801.  
  802. ; 685 bytes
  803. RLE_Image:
  804. Layer1:
  805.    .db   $91,$00,$13,$80,$F0,$7F,$00,$C0,$FF,$FF,$7F,$7F,$F0,$91,$FF,$14
  806.    .db   $FE,$91,$FF,$0E,$91,$00,$12,$01,$0F,$3C,$F0,$06,$3F,$FF,$FF,$FF
  807.    .db   $FC,$02,$FE,$FC,$FC,$FC,$F8,$FC,$F8,$F8,$F8,$F0,$F8,$F8,$91,$FF
  808.    .db   $09,$7F,$1B,$2F,$69,$79,$1D,$FF,$F3,$91,$FF,$06,$1C,$0C,$06,$0C
  809.    .db   $06,$06,$0C,$06,$0C,$06,$0C,$0C,$18,$18,$31,$73,$67,$CF,$8F,$1F
  810.    .db   $7F,$0F,$0F,$1F,$FE,$C0,$FC,$3E,$1E,$3C,$3C,$78,$3C,$7C,$78,$78
  811.    .db   $F0,$70,$78,$F0,$F1,$91,$FF,$08,$F8,$FA,$91,$FE,$04,$FC,$91,$FF
  812.    .db   $09,$7F,$3F,$7F,$3F,$1F,$3F,$7F,$FF,$7F,$1F,$7F,$FF,$DF,$91,$FF
  813.    .db   $09,$00,$00,$04,$1E,$1E,$3C,$3E,$7C,$50,$01,$07,$7F,$FF,$7F,$91
  814.    .db   $FF,$0B,$CF,$5F,$9F,$C6,$C9,$DD,$D9,$5D,$91,$FF,$20,$3F,$3F,$1F
  815.    .db   $3F,$1F,$3C,$7C,$78,$F0,$F1,$E0,$F1,$E1,$E1,$E0,$F0,$F9,$91,$FF
  816.    .db   $0A,$60,$9A,$9A,$DA,$1A,$91,$FF,$23,$80,$00,$00,$7C,$F8,$F8,$F0
  817.    .db   $F0,$C0,$80,$11,$10,$20,$F1,$91,$FF,$0A,$8E,$77,$06,$37,$20,$91
  818.    .db   $FF,$1D,$FE,$FC,$FE,$FF,$FF,$FF,$78,$38,$7C,$78,$78,$F8,$70,$78
  819.    .db   $F0,$F1,$F0,$E0,$F1,$F1,$91,$FF,$08,$F8,$FB,$FB,$FB,$7B,$7B,$78
  820.    .db   $91,$FF,$1D,$1F,$1F,$3F,$FF,$FF,$FF,$38,$78,$78,$70,$F8,$78,$F0
  821.    .db   $F0,$E1,$E1,$F1,$E1,$E3,$C1,$91,$FF,$08,$7F,$7F,$8C,$AD,$AD,$6C
  822.    .db   $E4,$91,$FF,$23,$78,$E0,$40,$18,$B8,$70,$78,$78,$F0,$F0,$E1,$E0
  823.    .db   $F1,$E1,$91,$FF,$08,$BF,$DF,$14,$5F,$CD,$C3,$30,$91,$FF,$20,$FE
  824.    .db   $FE,$FC,$F0,$70,$74,$7C,$78,$F8,$78,$F0,$F8,$F0,$F0,$F0,$F8,$FC
  825.    .db   $91,$FF,$0A,$0B,$AF,$6F,$EF,$2C,$91,$FF,$21,$3F,$3F,$07,$0F,$4F
  826.    .db   $7F,$7F,$FF,$7F,$7F,$FF,$FF,$FF,$9F,$1F,$3F,$91,$FF,$0A,$45,$D8
  827.    .db   $19,$BD,$11,$91,$FF,$3B,$7F,$BF,$BF,$BF,$DF,$91,$FF,$08
  828. Layer2:
  829.    .db   $91,$00,$15,$80,$91,$FF,$2A,$91,$00,$14,$03,$0F,$FF,$FE,$FF,$FF
  830.    .db   $FF,$FE,$91,$FC,$06,$91,$F8,$05,$F0,$F0,$91,$FF,$08,$7F,$7F,$4B
  831.    .db   $6B,$6E,$6C,$9D,$FD,$F3,$91,$FF,$06,$03,$03,$01,$03,$01,$01,$03
  832.    .db   $01,$03,$01,$03,$03,$07,$07,$0F,$0F,$1F,$3F,$7F,$FF,$FF,$1F,$1F
  833.    .db   $1E,$FE,$FE,$FE,$1C,$91,$3C,$04,$91,$78,$05,$F8,$F0,$F0,$F0,$91
  834.    .db   $FF,$08,$F8,$FE,$7E,$91,$FE,$04,$91,$FF,$1F,$00,$00,$18,$3E,$3E
  835.    .db   $3E,$3C,$38,$20,$00,$03,$7F,$7F,$91,$FF,$0C,$EF,$1F,$CF,$D2,$C8
  836.    .db   $D9,$D9,$D8,$91,$FF,$1F,$7F,$3F,$1F,$1F,$1F,$3F,$3E,$3C,$78,$F8
  837.    .db   $F0,$F1,$E1,$E1,$E1,$E0,$E0,$F0,$91,$FF,$0A,$54,$1A,$9A,$9A,$DA
  838.    .db   $91,$FF,$23,$C0,$00,$18,$38,$78,$F8,$F0,$E0,$E0,$C0,$90,$31,$71
  839.    .db   $E1,$91,$FF,$0A,$CC,$B5,$F4,$A6,$10,$91,$FF,$1D,$FE,$FE,$FC,$FF
  840.    .db   $FF,$FF,$3C,$7C,$91,$78,$04,$F8,$F0,$F0,$F0,$F1,$F1,$E1,$E1,$91
  841.    .db   $FF,$08,$F8,$FB,$7B,$FB,$FB,$7B,$F8,$91,$FF,$1D,$3F,$3F,$3F,$FF
  842.    .db   $FF,$FF,$91,$78,$04,$70,$91,$F0,$04,$F1,$E1,$E1,$E1,$E3,$91,$FF
  843.    .db   $08,$6F,$BF,$8E,$AD,$AD,$AD,$6E,$91,$FF,$23,$70,$60,$C0,$88,$18
  844.    .db   $38,$70,$91,$F0,$04,$F1,$E1,$E1,$91,$FF,$08,$DF,$DF,$52,$85,$C4
  845.    .db   $D4,$5A,$91,$FF,$21,$FC,$FC,$F0,$70,$91,$78,$04,$F8,$F8,$91,$F0
  846.    .db   $05,$F8,$91,$FF,$0A,$42,$AE,$EE,$EF,$2E,$91,$FF,$20,$3F,$3F,$3F
  847.    .db   $0F,$0F,$3F,$7F,$7F,$7F,$91,$FF,$05,$7F,$3F,$3F,$91,$FF,$0A,$24
  848.    .db   $C1,$59,$19,$6D,$91,$FF,$3B,$3F,$BF,$BF,$BF,$9F,$91,$FF,$08
  849.    
  850. MainMenu:
  851.    .db   $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
  852.    .db   $00,$00,$00,$00,$00,$00,$00,$00,$00,$60,$00,$00,$00,$00,$00,$00
  853.    .db   $00,$00,$00,$00,$00,$60,$00,$00,$00,$00,$03,$00,$00,$00,$00,$00
  854.    .db   $00,$00,$00,$00,$00,$00,$07,$80,$00,$00,$00,$00,$00,$F1,$E0,$87
  855.    .db   $37,$1F,$C7,$80,$00,$00,$00,$00,$00,$F1,$91,$C7,$3F,$9F,$C7,$80
  856.    .db   $00,$00,$00,$00,$00,$61,$93,$62,$33,$87,$07,$80,$00,$00,$00,$00
  857.    .db   $00,$61,$E3,$E2,$33,$87,$07,$80,$00,$00,$00,$00,$00,$61,$83,$62
  858.    .db   $33,$87,$03,$00,$00,$00,$00,$00,$00,$69,$83,$67,$33,$87,$03,$00
  859.    .db   $01,$03,$80,$00,$00,$79,$83,$67,$33,$87,$00,$00,$03,$04,$C0,$00
  860.    .db   $00,$30,$00,$00,$00,$00,$03,$02,$25,$04,$40,$00,$00,$00,$00,$00
  861.    .db   $00,$00,$06,$83,$61,$04,$40,$00,$03,$FF,$FF,$FF,$FF,$FF,$C7,$81
  862.    .db   $C1,$14,$40,$00,$00,$FF,$FF,$FF,$FF,$FF,$F3,$00,$87,$B3,$80,$00
  863.    .db   $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
  864.    .db   $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
  865.    .db   $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
  866.    .db   $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
  867.    .db   $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
  868.    .db   $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
  869.    .db   $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
  870.    .db   $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
  871.    .db   $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
  872.    .db   $00,$38,$00,$00,$00,$00,$00,$00,$70,$00,$00,$00,$00,$3F,$FF,$FF
  873.    .db   $FF,$FF,$FF,$FF,$F0,$00,$00,$00,$00,$37,$FF,$FF,$FF,$FF,$FF,$FF
  874.    .db   $B0,$00,$00,$00,$00,$18,$00,$00,$00,$00,$00,$00,$60,$00,$00,$00
  875.    .db   $00,$18,$00,$00,$00,$00,$00,$00,$60,$00,$00,$00,$00,$19,$FF,$FF
  876.    .db   $FF,$FF,$FF,$FE,$60,$00,$00,$00,$00,$19,$FF,$FF,$FF,$FF,$FF,$FE
  877.    .db   $60,$00,$00,$00,$00,$19,$FF,$FE,$3F,$FF,$FF,$8E,$60,$00,$00,$00
  878.    .db   $00,$19,$FF,$FC,$1F,$FF,$FF,$36,$60,$00,$00,$00,$00,$19,$FF,$FC
  879.    .db   $5F,$FF,$FE,$16,$60,$00,$00,$00,$00,$19,$FF,$FC,$DF,$FF,$F8,$06
  880.    .db   $60,$00,$00,$00,$00,$19,$FF,$FE,$3F,$FF,$F0,$0E,$60,$00,$00,$00
  881.    .db   $00,$19,$FF,$FF,$BF,$FF,$E0,$1E,$60,$00,$00,$00,$00,$19,$FF,$FF
  882.    .db   $1F,$FF,$E0,$3E,$60,$00,$00,$00,$00,$19,$FF,$FF,$1F,$FF,$E0,$FE
  883.    .db   $60,$00,$00,$00,$00,$19,$FF,$FF,$2F,$FF,$C1,$FE,$60,$00,$00,$00
  884.    .db   $00,$19,$86,$FF,$17,$FF,$81,$FE,$60,$00,$00,$00,$00,$19,$AC,$FF
  885.    .db   $1B,$FF,$A1,$FE,$60,$00,$00,$00,$00,$19,$9A,$FF,$8D,$FF,$B3,$FE
  886.    .db   $60,$00,$00,$00,$00,$19,$B6,$FF,$8D,$FF,$C7,$FE,$60,$00,$00,$00
  887.    .db   $00,$19,$EE,$FF,$C8,$FF,$7F,$FE,$60,$00,$00,$00,$00,$19,$DC,$FF
  888.    .db   $E1,$7F,$FE,$1E,$60,$00,$00,$00,$00,$19,$81,$FF,$FC,$BD,$FC,$8E
  889.    .db   $60,$00,$00,$00,$00,$19,$FF,$FF,$FE,$5F,$FE,$0E,$60,$00,$00,$00
  890.    .db   $00,$19,$FF,$FF,$FF,$2F,$FF,$0E,$60,$00,$00,$00,$00,$19,$FF,$FF
  891.    .db   $FF,$97,$FC,$0E,$60,$00,$00,$00,$00,$19,$FF,$FF,$FF,$CB,$FE,$1E
  892.    .db   $60,$00,$00,$00,$00,$19,$FF,$FF,$FF,$E5,$FF,$FE,$60,$00,$00,$00
  893.    .db   $00,$18,$00,$00,$00,$00,$00,$00,$60,$00,$00,$00,$00,$18,$00,$00
  894.    .db   $00,$00,$00,$00,$60,$00,$00,$00,$00,$37,$FF,$FF,$FF,$FF,$FF,$FF
  895.    .db   $B0,$00,$00,$00,$00,$3F,$FF,$FF,$FF,$FF,$FF,$FF,$F0,$00,$00,$00
  896.    .db   $00,$38,$00,$00,$00,$00,$00,$00,$70,$00,$00,$00,$00,$00,$00,$00
  897.    .db   $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
  898.    .db   $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
  899.  
  900. Pic1name:
  901.    .db PictObj,tVarPict,tPic1,0,0
  902. Pic2name:
  903.    .db PictObj,tVarPict,tPic2,0,0
  904. Pic3name:
  905.    .db PictObj,tVarPict,tPic3,0,0
  906. Pic4name:
  907.    .db PictObj,tVarPict,tPic4,0,0
  908. Pic5name:
  909.    .db PictObj,tVarPict,tPic5,0,0
  910. Pic6name:
  911.    .db PictObj,tVarPict,tPic6,0,0
  912. Pic7name:
  913.    .db PictObj,tVarPict,tPic7,0,0
  914. Pic8name:
  915.    .db PictObj,tVarPict,tPic8,0,0
  916. Pic9name:
  917.    .db PictObj,tVarPict,tPic9,0,0
  918. Pic0name:
  919.    .db PictObj,tVarPict,tPic0,0,0
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top