home *** CD-ROM | disk | FTP | other *** search
/ CBM Funet Archive / cbm-funet-archive-2003.iso / cbm / c64 / programming / Final Cartridge III software.sfx / simplewindow.asm (.txt) < prev    next >
Encoding:
Commodore BASIC  |  1994-08-11  |  2.0 KB  |  108 lines

  1. 1000 ; simplewindow  date: 10-03-88
  2. 1010 ;---------------------------------
  3. 1020 ;
  4. 1030 ; the final cartridge iii desktop
  5. 1040 ;
  6. 1050 ;     riska h&p, marc derksen
  7. 1060 ;
  8. 1070 ;     p r o j e c t   d e m o
  9. 1080 ;
  10. 1090 ;---------------------------------
  11. 1100 ;
  12. 1110 *=$0be1,$0801
  13. 1120 buf0=$a3
  14. 1130 buf1=$a4
  15. 1140 gosub=$de05  ; system constants
  16. 1150 close=$01
  17. 1160 toback=$02
  18. 1170 dragbr=$08
  19. 1180 ;
  20. 1190 ;------ basic startup data -----
  21. 1200 wor $0817,1987  ; line number
  22. 1210 byt $9e  ; basic sys-code
  23. 1220 byt "2076 desk[164]p v1.0",0,0,0
  24. 1230 byt 1,0  ; version
  25. 1240 byt 2  ; size in blocks
  26. 1250 jmp $dfe8  ; startup
  27. 1260 byt 0  ; unused
  28. 1270 ;
  29. 1280 mn3it1=$c0c2
  30. 1290 mn3it2=$c0ca
  31. 1300 ;------ main ------------------
  32. 1310 start jsr survive
  33. 1320 ldx #<item2  ; set new menu
  34. 1330 ldy #>item2
  35. 1340 stx mn3it1
  36. 1350 sty mn3it1+1
  37. 1360 rts
  38. 1370 ;
  39. 1380 ;------ menuitem structure ---
  40. 1390 item2 wor item3  ; nextitem
  41. 1400 wor it2txt  ; item name
  42. 1410 wor openwd  ; item exec
  43. 1420 byt 1,0  ; enable item
  44. 1430 item3 wor 0  ; no nextitem
  45. 1440 wor it3txt
  46. 1450 wor unlink
  47. 1460 byt 1,0
  48. 1470 ;
  49. 1480 it2txt byt "[196][197][205][207][160][215][196]",0
  50. 1490 it3txt byt "[213][206][204][201][206][203]",0
  51. 1500 ;
  52. 1510 ;------ window ---------------
  53. 1520 openwd ldx #<window  ; call openwd
  54. 1530 ldy #>window
  55. 1540 lda #openwindow
  56. 1550 jmp gosub
  57. 1560 ;
  58. 1570 window wor 0  ; no gadgets
  59. 1580 byt 40,40  ; wdx,wdy
  60. 1590 byt 110,50  ; width,height
  61. 1600 wor wdtitle  ; window name
  62. 1610 byt close+toback+dragbr  ; wdflags
  63. 1620 byt 66  ; wdtitle size
  64. 1630 wor 0,0
  65. 1640 wdtitle byt "[205]y [215]indow",0
  66. 1650 ;
  67. 1660 ;------ unlink ---------------
  68. 1670 unlink ldx #<window  ; close wd
  69. 1680 ldy #>window
  70. 1690 jsr closewd
  71. 1700 ldx #<mn3it2  ; remove menu
  72. 1710 ldy #>mn3it2
  73. 1720 stx mn3it1
  74. 1730 sty mn3it1+1
  75. 1740 inc $8004  ; remove survive
  76. 1750 rts
  77. 1760 ;
  78. 1770 ;------ close window ---------
  79. 1780 closewd stx buf0
  80. 1790 sty buf1
  81. 1800 lda #wdonscreen
  82. 1810 jsr gosub
  83. 1820 iny
  84. 1830 beq not
  85. 1840 ldx buf0
  86. 1850 ldy buf1
  87. 1860 lda #setcurwd
  88. 1870 jsr gosub
  89. 1880 lda #wdclose
  90. 1890 jsr gosub
  91. 1900 not rts
  92. 1910 ;
  93. 1920 ;------ reset survive --------
  94. 1930 survive ldx #6-1
  95. 1940 slp lda tabel,x
  96. 1950 sta $8000,x
  97. 1960 dex
  98. 1970 bpl slp
  99. 1980 rts
  100. 1990 tabel wor start+3
  101. 2000 byt "mg87"
  102. 2010 ;
  103. 2020 ;------ includes -------------
  104. 2030 openwindow=48
  105. 2040 wdonscreen=70
  106. 2050 wdclose=65
  107. 2060 setcurwd=29
  108.