'$DYNAMIC DEFINT A-Z DECLARE SUB setmodex () DECLARE SUB copypage (BYVAL page1, BYVAL page2) DECLARE SUB setvispage (BYVAL page) DECLARE SUB drawsprite (pic(), pal(), BYVAL po, BYVAL x, BYVAL y, BYVAL page) DECLARE SUB loadsprite (pic(), BYVAL x, BYVAL y, BYVAL w, BYVAL h, BYVAL page) DECLARE SUB stosprite (pic(), BYVAL x, BYVAL y, BYVAL page) DECLARE SUB fadeto (palbuff(), BYVAL red, BYVAL green, BYVAL blue) DECLARE SUB fadetopal (pal(), palbuff()) DECLARE SUB setpal (pal()) DECLARE SUB clearpage (BYVAL page) DECLARE SUB loadpage (buf(), fil$, BYVAL p) DECLARE SUB setkeys () DECLARE SUB setfont (f()) DECLARE SUB printstr (s$, BYVAL x, BYVAL y, BYVAL p) DECLARE SUB textcolor (BYVAL f, BYVAL b) DECLARE SUB setitup (fil$, buff(), BYVAL p) DECLARE SUB resetdsp DECLARE SUB playsnd (BYVAL n, BYVAL f) DECLARE SUB closefile DECLARE SUB setpicstuf (buf(), BYVAL b, BYVAL p) DECLARE SUB loadset (fil$, BYVAL i, BYVAL l) DECLARE SUB storeset (fil$, BYVAL i, BYVAL l) setmodex DIM mainpal(767), placer(200), redraw(200), cursor(200), ecks(200), dot(2), dpal(32), chroma(512), buffer(8000), font(1024), grids(512), mcont(512), icont(512), doorx(500), doory(500), exitx(500), exity(500), ickloc(1536), ickx(1536), icky(1536), _ say(1536), r&(3000), item(4300), itemx(4300), itemy(4300), mcon(3200), icon(4300), mset(3200), iset(4300), tile(2000), tilex(2000), tiley(2000), target(1600), plotos(512), plotc1(512), plotc2(512), room(288) setpicstuf room(), 576, -1 DEF SEG = VARSEG(mainpal(0)): BLOAD "palette.sto", VARPTR(mainpal(0)) setpal mainpal() GOSUB rotafont DEF SEG = VARSEG(icon(0)): BLOAD "data\itemcon.dat", VARPTR(icon(0)) DEF SEG = VARSEG(mcon(0)): BLOAD "data\enecon.dat", VARPTR(mcon(0)) DEF SEG = VARSEG(iset(0)): BLOAD "data\itemset.dat", VARPTR(iset(0)) DEF SEG = VARSEG(mset(0)): BLOAD "data\eneset.dat", VARPTR(mset(0)) DEF SEG = VARSEG(ickx(0)): BLOAD "data\ickx.dat", VARPTR(ickx(0)) DEF SEG = VARSEG(icky(0)): BLOAD "data\icky.dat", VARPTR(icky(0)) DEF SEG = VARSEG(chroma(0)): BLOAD "mapblock.pal", VARPTR(chroma(0)) DEF SEG = VARSEG(dpal(0)): BLOAD "point.pal", VARPTR(dpal(0)) DEF SEG = VARSEG(dot(0)): BLOAD "pics\point.mxg", VARPTR(dot(0)) DEF SEG = VARSEG(ecks(0)): BLOAD "pics\x.mxg", VARPTR(ecks(0)) DEF SEG = VARSEG(item(0)): BLOAD "data\itemloc.dat", VARPTR(item(0)) DEF SEG = VARSEG(itemx(0)): BLOAD "data\itemx.dat", VARPTR(itemx(0)) DEF SEG = VARSEG(itemy(0)): BLOAD "data\itemy.dat", VARPTR(itemy(0)) DEF SEG = VARSEG(tile(0)): BLOAD "data\tile.bob", VARPTR(tile(0)) DEF SEG = VARSEG(tilex(0)): BLOAD "data\tilex.bob", VARPTR(tilex(0)) DEF SEG = VARSEG(tiley(0)): BLOAD "data\tiley.bob", VARPTR(tiley(0)) DEF SEG = VARSEG(plotos(0)): BLOAD "data\plotos.bob", VARPTR(plotos(0)) DEF SEG = VARSEG(plotc1(0)): BLOAD "data\plotc1.bob", VARPTR(plotc1(0)) DEF SEG = VARSEG(plotc2(0)): BLOAD "data\plotc2.bob", VARPTR(plotc2(0)) x = 1: y = 1: mx = 1: my = 1: z& = 1: ptotal = 320: maxp = 99 setvispage 1 textcolor 15, 0 printstr "DireSPAM Map Maker", 4, 1, 1 a$ = INPUT$(1) clearpage 1 zy& = INT(((z& - 1) * 200) / 320): zx& = ((z& - 1) * 200) - (320 * zy&) loadsprite placer(), zx&, zy&, 20, 20, 3 DEF SEG = VARSEG(cursor(0)): BLOAD "pics\cursor.mxg", VARPTR(cursor(0)) DEF SEG = VARSEG(grids(0)): BLOAD "data\blockset.dat", VARPTR(grids(0)) DEF SEG = VARSEG(doorx(0)): BLOAD "data\d1.dat", VARPTR(doorx(0)) DEF SEG = VARSEG(doory(0)): BLOAD "data\d2.dat", VARPTR(doory(0)) DEF SEG = VARSEG(exitx(0)): BLOAD "data\e1.dat", VARPTR(exitx(0)) DEF SEG = VARSEG(exity(0)): BLOAD "data\e2.dat", VARPTR(exity(0)) DEF SEG = VARSEG(ickloc(0)): BLOAD "data\ickloc.dat", VARPTR(ickloc(0)) DEF SEG = VARSEG(say(0)): BLOAD "data\say.dat", VARPTR(say(0)) DEF SEG = VARSEG(target(0)): BLOAD "data\target.bob", VARPTR(target(0)) DEF SEG = VARSEG(mcont(0)): BLOAD "mct.dat", VARPTR(mcont(0)) DEF SEG = VARSEG(icont(0)): BLOAD "ict.dat", VARPTR(icont(0)) DEF SEG = VARSEG(doc): BLOAD "de0.dat", VARPTR(doc) DEF SEG = VARSEG(eoc): BLOAD "de1.dat", VARPTR(eoc) DEF SEG = VARSEG(toc): BLOAD "de2.dat", VARPTR(toc) u$ = CHR$(0) + CHR$(72) r$ = CHR$(0) + CHR$(77) d$ = CHR$(0) + CHR$(80) l$ = CHR$(0) + CHR$(75) textcolor 2, 0 GOSUB loadrow overmap: GOSUB dots IF door > 0 THEN drawsprite dot(), dpal(), 2, 315, 5, 1 drawsprite dot(), dpal(), 16, mx * 2, my * 2, 1 textcolor 15, 1: printstr STR$(grids(((my - 1) * 16) + mx)), 0, 100, 1: textcolor 2, 0 ndw: w$ = "": w$ = INKEY$: IF w$ = "" THEN GOTO ndw IF w$ = CHR$(27) THEN GOTO finis IF w$ = CHR$(13) THEN setvispage 0: clearpage 0: GOSUB gselect: GOSUB setset: clearpage 2: GOSUB mapper IF w$ = u$ AND my > 1 THEN GOSUB saverow: my = my - 1: GOSUB loadrow IF w$ = r$ AND mx < 16 THEN GOSUB saverow: mx = mx + 1: GOSUB loadrow IF w$ = d$ AND my < 32 THEN GOSUB saverow: my = my + 1: GOSUB loadrow IF w$ = l$ AND mx > 1 THEN GOSUB saverow: mx = mx - 1: GOSUB loadrow GOTO overmap dots: FOR ix = 1 TO 16: FOR iy = 1 TO 32 drawsprite dot(), dpal(), 0, ix * 2, iy * 2, 1 NEXT iy: NEXT ix RETURN gselect: IF grids(((my - 1) * 16) + mx) = 0 THEN q$ = INPUT$(1): set = VAL(q$): ELSE set = grids(((my - 1) * 16) + mx) RETURN mapper: textcolor (((INT(RND * 15) + 1) * 16) - 2), 0 cur = (((y - 1) * 16) + x) + ((mx - 1) * 144) GOSUB drawall IF e$ = "*" THEN GOSUB vispath drawsprite placer(), chroma(), o * 16, 0, 0, 2 drawsprite cursor(), chroma(), o * 16, ((x - 1) * 20), ((y - 1) * 20) + 20, 2 IF (room(((y - 1) * 16 + x) * 2 - 1) AND NOT 255) / 256 > 0 THEN printstr "Pas" + STR$((room(((y - 1) * 16 + x) * 2 - 1) AND NOT 255) / 256), 182, 8, 2 IF door > 0 THEN printstr "Set destination, por favor", 25, 100, 2 printstr "door:" + STR$(doc), 8 * 30, 0, 2 printstr "Beast:" + STR$(eoc), 8 * 29, 8, 2 printstr "Tile:" + STR$(toc), 8 * 30, 16, 2 printstr "Monsters on screen:" + STR$(mcont(((my - 1) * 16) + mx)), 25, 0, 2 printstr "Items on screen:" + STR$(icont(((my - 1) * 16) + mx)), 25, 8, 2 printstr "Enemy" + STR$(tptr) + " will say" + STR$(say(((((my - 1) * 16) + mx - 1) * 3) + tptr)), 0, 21, 2 printstr "Item2mov:" + STR$(yoff + 1), 200, 40, 2 'printstr "PlotW:" + STR$(plotos(((my - 1) * 16) + (mx - 1))), 0, 100, 2 'printstr "Plot1:" + STR$(plotc1(((my - 1) * 16) + (mx - 1))), 0, 110, 2 'printstr "Plot2:" + STR$(plotc2(((my - 1) * 16) + (mx - 1))), 0, 120, 2 copypage 2, 0: clearpage 2 rou: e$ = "": e$ = INKEY$: IF e$ = "" THEN GOTO rou IF e$ = CHR$(27) THEN GOTO finis IF e$ = CHR$(13) THEN setvispage 1: clearpage 0: RETURN IF e$ = "." AND z& < ptotal THEN z& = z& + 1: zy& = INT(((z& - 1) * 200) / 320): zx& = ((z& - 1) * 200) - (320 * zy&): loadsprite placer(), zx&, zy&, 20, 20, 3 IF e$ = "," AND z& > 1 THEN z& = z& - 1: zy& = INT(((z& - 1) * 200) / 320): zx& = ((z& - 1) * 200) - (320 * zy&): loadsprite placer(), zx&, zy&, 20, 20, 3 IF e$ = ">" AND z& + 8 <= ptotal THEN z& = z& + 8: zy& = INT(((z& - 1) * 200) / 320): zx& = ((z& - 1) * 200) - (320 * zy&): loadsprite placer(), zx&, zy&, 20, 20, 3 IF e$ = "<" AND z& - 8 >= 1 THEN z& = z& - 8: zy& = INT(((z& - 1) * 200) / 320): zx& = ((z& - 1) * 200) - (320 * zy&): loadsprite placer(), zx&, zy&, 20, 20, 3 IF e$ = " " THEN room((((y - 1) * 16) + (x - 1)) * 2) = z&: room((((y - 1) * 16) + (x - 1)) * 2 + 1) = o + (room((((y - 1) * 16) + (x - 1)) * 2 + 1) AND NOT 255) IF e$ = u$ AND y > 1 THEN y = y - 1 IF e$ = r$ AND x < 16 THEN x = x + 1 IF e$ = d$ AND y < 9 THEN y = y + 1 IF e$ = l$ AND x > 1 THEN x = x - 1 IF e$ = "8" THEN room(((y - 1) * 16 + x) * 2 - 1) = room(((y - 1) * 16 + x) * 2 - 1) XOR 256 IF e$ = "6" THEN room(((y - 1) * 16 + x) * 2 - 1) = room(((y - 1) * 16 + x) * 2 - 1) XOR 512 IF e$ = "2" THEN room(((y - 1) * 16 + x) * 2 - 1) = room(((y - 1) * 16 + x) * 2 - 1) XOR 1024 IF e$ = "4" THEN room(((y - 1) * 16 + x) * 2 - 1) = room(((y - 1) * 16 + x) * 2 - 1) XOR 2048 IF e$ = "/" THEN o = o + 1: IF o > maxp THEN o = 0 IF e$ = "?" THEN o = o - 1: IF o < 0 THEN o = maxp IF e$ = "f" THEN GOSUB fill IF e$ = "~" THEN GOSUB water IF e$ = "!" THEN set = 1: GOSUB setset IF e$ = "@" THEN set = 2: GOSUB setset IF e$ = "#" THEN set = 3: GOSUB setset IF e$ = "F" THEN GOSUB rotafont IF e$ = "C" THEN FOR i = 1 TO 144: room(i * 2 - 1) = room(i * 2 - 1) AND 255: NEXT IF e$ = "M" AND mcont(((my - 1) * 16) + mx) < 3 THEN eoc = eoc + 1: clearpage 0: GOSUB beastdata: mcont(((my - 1) * 16) + mx) = mcont(((my - 1) * 16) + mx) + 1 IF e$ = "m" AND mcont(((my - 1) * 16) + mx) < 3 THEN clearpage 0: GOSUB beastset: mcont(((my - 1) * 16) + mx) = mcont(((my - 1) * 16) + mx) + 1 IF e$ = "I" AND icont(((my - 1) * 16) + mx) < 4 THEN clearpage 0: GOSUB itemset: icont(((my - 1) * 16) + mx) = icont(((my - 1) * 16) + mx) + 1 IF e$ = "W" THEN room(((y - 1) * 16 + x) * 2 - 1) = room(((y - 1) * 16 + x) * 2 - 1) XOR 4096 IF e$ = "d" THEN room(((y - 1) * 16 + x) * 2 - 1) = room(((y - 1) * 16 + x) * 2 - 1) XOR 8192 IF e$ = "`" THEN room(((y - 1) * 16 + x) * 2 - 1) = room(((y - 1) * 16 + x) * 2 - 1) XOR 16384 IF e$ = "o" AND door = 0 THEN door = 1: doc = doc + 1: doorx(doc) = (mx * 16) + (x - 1): doory(doc) = (my * 9) + (y - 1): GOTO togl IF e$ = "o" AND door = 1 THEN door = 0: exitx(doc) = (mx * 16) + (x - 1): exity(doc) = (my * 9) + (y - 1): GOTO togl IF e$ = "" THEN GOSUB nukeb IF e$ = "[" AND tptr > 0 THEN tptr = tptr - 1 IF e$ = "]" AND tptr < 3 THEN tptr = tptr + 1 IF e$ = "{" THEN say(((((my - 1) * 16) + mx - 1) * 3) + tptr) = say(((((my - 1) * 16) + mx - 1) * 3) + tptr) - 1 IF e$ = "}" THEN say(((((my - 1) * 16) + mx - 1) * 3) + tptr) = say(((((my - 1) * 16) + mx - 1) * 3) + tptr) + 1 IF e$ = "t" THEN toc = toc + 1: GOSUB tileset IF e$ = "" THEN GOSUB plotset IF e$ = "9" AND yoff > 0 THEN yoff = yoff - 1 IF e$ = "0" AND yoff < 3 THEN yoff = yoff + 1 IF e$ = "(" THEN itemy(((((my - 1) * 16) + mx - 1) * 4) + yoff) = itemy(((((my - 1) * 16) + mx - 1) * 4) + yoff) - 1 IF e$ = ")" THEN itemy(((((my - 1) * 16) + mx - 1) * 4) + yoff) = itemy(((((my - 1) * 16) + mx - 1) * 4) + yoff) + 1 togl: GOTO mapper plotset: clearpage 0: setvispage 0: textcolor 4, 17 plcur = ((my - 1) * 16) + (mx - 1) printstr "Animation to be displayed", 0, 0, 0 GOSUB typenum: plotos(plcur) = info: clearpage 0 printstr "first condition", 0, 0, 0 GOSUB typenum: plotc1(plcur) = info: clearpage 0 printstr "second condition", 0, 0, 0 GOSUB typenum: plotc2(plcur) = info: clearpage 0 RETURN tileset: clearpage 0: setvispage 0: textcolor 15, 17 printstr "Tile condition?:", 0, 0, 0 tilex(toc) = (mx * 16) + (x - 1): tiley(toc) = (my * 9) + (y - 1) GOSUB typenum tile(toc) = info RETURN nukeb: FOR i = 0 TO 2 ickloc(((((my - 1) * 16) + mx - 1) * 3) + i) = 0 NEXT mcont(((my - 1) * 16) + mx) = 0 FOR i = 0 TO 3 item(((((my - 1) * 16) + mx - 1) * 4) + i) = 0 NEXT icont(((my - 1) * 16) + mx) = 0 RETURN beastset: textcolor 15, 17: printstr "Enemy number?", 0, 0, 0 GOSUB typenum ickloc(((((my - 1) * 16) + mx - 1) * 3) + mcont(((my - 1) * 16) + mx)) = info ickx(((((my - 1) * 16) + mx - 1) * 3) + mcont(((my - 1) * 16) + mx)) = (x - 1) * 20 icky(((((my - 1) * 16) + mx - 1) * 3) + mcont(((my - 1) * 16) + mx)) = ((y - 1) * 20) - 5 clearpage 0 printstr "first condition:", 0, 0, 0 GOSUB typenum mcon((((my * 16) + mx) * 6) + mcont(((my - 1) * 16) + mx)) = info clearpage 0 printstr "second condition:", 0, 0, 0 GOSUB typenum mcon((((my * 16) + mx) * 6) + 3 + mcont(((my - 1) * 16) + mx)) = info clearpage 0 printstr "first condition to set:", 0, 0, 0 GOSUB typenum mset((((my * 16) + mx) * 6) + mcont(((my - 1) * 16) + mx)) = info clearpage 0 printstr "second condition to set:", 0, 0, 0 GOSUB typenum mset((((my * 16) + mx) * 6) + 3 + mcont(((my - 1) * 16) + mx)) = info clearpage 0 printstr "Who to target?:", 0, 0, 0 GOSUB typenum target((((my * 16) + mx) * 3) + 1 + mcont(((my - 1) * 16) + mx)) = info textcolor 15, 0: RETURN itemset: textcolor 14, 17: printstr "Item Number", 0, 0, 0 GOSUB typenum item(((((my - 1) * 16) + mx - 1) * 4) + icont(((my - 1) * 16) + mx)) = info itemx(((((my - 1) * 16) + mx - 1) * 4) + icont(((my - 1) * 16) + mx)) = (x - 1) * 20 itemy(((((my - 1) * 16) + mx - 1) * 4) + icont(((my - 1) * 16) + mx)) = ((y - 1) * 20) - 5 clearpage 0 printstr "first condition:", 0, 0, 0 GOSUB typenum icon((((my * 16) + mx) * 8) + icont(((my - 1) * 16) + mx)) = info clearpage 0 printstr "second condition:", 0, 0, 0 GOSUB typenum icon((((my * 16) + mx) * 8) + 4 + icont(((my - 1) * 16) + mx)) = info clearpage 0 printstr "first condition to set:", 0, 0, 0 GOSUB typenum iset((((my * 16) + mx) * 8) + icont(((my - 1) * 16) + mx)) = info clearpage 0 printstr "second condition to set:", 0, 0, 0 GOSUB typenum iset((((my * 16) + mx) * 8) + 4 + icont(((my - 1) * 16) + mx)) = info RETURN beastdata: textcolor 2, 16 ickloc(((((my - 1) * 16) + mx - 1) * 3) + mcont(((my - 1) * 16) + mx)) = eoc ickx(((((my - 1) * 16) + mx - 1) * 3) + mcont(((my - 1) * 16) + mx)) = (x - 1) * 20 icky(((((my - 1) * 16) + mx - 1) * 3) + mcont(((my - 1) * 16) + mx)) = ((y - 1) * 20) - 5 OPEN "data\enemy.bob" FOR APPEND AS #1 RESTORE prompts FOR i = 1 TO 33 READ prompt$ printstr prompt$, 8, 8, 0 GOSUB typenum WRITE #1, info clearpage 0 NEXT i CLOSE #1: RETURN prompts: DATA Name,is it a boss?,How does it scream?,Direction,Picture Number,Palette Number,Animation Type,Animation Speed,Inflict infliction,infliction probability,somethinelse,Picture Set,Walking Speed,Chase %,Random %,Attack %,Inert %,Copy % DATA Flee Weapons,Item,Item Probability,Seed Probability,Experience,HP,Attack Power,Talk #,Special Defence,Spin,Passall,Weapon #,Night Bonus to HP,Night Bonus to Attack,Night Bonus to Experience typenum: typ$ = "": WHILE ty$ <> CHR$(13) printstr typ$ + " ", 8, 16, 0 ty$ = INPUT$(1) IF VAL(ty$) <> 0 AND LEN(typ$) < 8 THEN typ$ = typ$ + ty$ IF ty$ = "0" AND LEN(typ$) < 8 THEN typ$ = typ$ + ty$ IF ty$ = "-" AND LEN(typ$) < 1 THEN typ$ = typ$ + ty$ IF ty$ = CHR$(8) AND LEN(typ$) > 0 THEN typ$ = LEFT$(typ$, LEN(typ$) - 1) WEND IF typ$ = "" THEN ty$ = "": GOTO typenum info = VAL(typ$) ty$ = "" RETURN saverow: storeset "data\direspam.map" + CHR$(0), ((my - 1) * 16) + (mx - 1), 0 RETURN loadrow: loadset "data\direspam.map" + CHR$(0), ((my - 1) * 16) + (mx - 1), 0 RETURN vispath: xx = 1: yy = 1 FOR i = 1 TO 144 FOR j = 1 TO 4 k$ = "wall." + MID$(STR$(j), 2, 1) DEF SEG = VARSEG(redraw(0)): BLOAD k$, VARPTR(redraw(0)) IF (((room(i * 2 - 1) AND NOT 255) / 256) AND (2 ^ (j - 1))) > 0 THEN drawsprite redraw(), chroma(), o * 16, ((xx - 1) * 20), ((yy - 1) * 20) + 20, 2 NEXT IF (((room(i * 2 - 1) AND NOT 255) / 256) AND 16) = 16 THEN printstr "S", ((xx - 1) * 20) + 6, ((yy - 1) * 20) + 26, 2 IF (((room(i * 2 - 1) AND NOT 255) / 256) AND 32) = 32 THEN printstr "D", ((xx - 1) * 20) + 6, ((yy - 1) * 20) + 26, 2 IF (((room(i * 2 - 1) AND NOT 255) / 256) AND 64) = 64 THEN printstr "W", ((xx - 1) * 20) + 6, ((yy - 1) * 20) + 26, 2 xx = xx + 1: IF xx > 16 THEN xx = 1: yy = yy + 1 NEXT i RETURN drawall: xx& = 1: yy& = 1 FOR i = 1 TO 288 STEP 2 cyy = INT(((room(i - 1) - 1) / 320) * 200) cxx = (((room(i - 1) - 1) / 320) * 200 - cyy) * 320 IF room(i - 1) > 0 THEN loadsprite redraw(), cxx, cyy, 20, 20, 3: drawsprite redraw(), chroma(), (room(i) AND 255) * 16, ((xx& - 1) * 20), ((yy& - 1) * 20) + 20, 2 xx& = xx& + 1: IF xx& > 16 THEN xx& = 1: yy& = yy& + 1 NEXT i RETURN fill: FOR i = 1 TO 288 STEP 2 room(i - 1) = z&: room(i) = (o AND 255) NEXT i RETURN water: FOR i = 1 TO 144 IF room(i * 2 - 2) = room(((y - 1) * 16) + x) THEN room(i * 2 - 1) = room(i * 2 - 1) XOR 16384 NEXT i RETURN setset: pag$ = "data\block" + MID$(STR$(set), 2, LEN(STR$(set)) - 1) + ".mxs" clearpage 3 loadpage buffer(), pag$ + CHR$(0), 3 grids(((my - 1) * 16) + mx) = set RETURN rotafont: rfont = rfont + 1: IF rfont > 6 THEN rfont = 1 rfont$ = "font" + MID$(STR$(rfont), 2, 1) + ".bob" DEF SEG = VARSEG(font(0)): BLOAD rfont$, VARPTR(font(0)) setfont font() RETURN finis: GOSUB saverow DEF SEG = VARSEG(grids(0)): BSAVE "data\blockset.dat", VARPTR(grids(0)), 1026 DEF SEG = VARSEG(doorx(0)): BSAVE "data\d1.dat", VARPTR(doorx(0)), 1000 DEF SEG = VARSEG(doory(0)): BSAVE "data\d2.dat", VARPTR(doory(0)), 1000 DEF SEG = VARSEG(exitx(0)): BSAVE "data\e1.dat", VARPTR(exitx(0)), 1000 DEF SEG = VARSEG(exity(0)): BSAVE "data\e2.dat", VARPTR(exity(0)), 1000 DEF SEG = VARSEG(ickloc(0)): BSAVE "data\ickloc.dat", VARPTR(ickloc(0)), 3072 DEF SEG = VARSEG(mcont(0)): BSAVE "mct.dat", VARPTR(mcont(0)), 1024 DEF SEG = VARSEG(doc): BSAVE "de0.dat", VARPTR(doc), 4 DEF SEG = VARSEG(eoc): BSAVE "de1.dat", VARPTR(eoc), 4 DEF SEG = VARSEG(toc): BSAVE "de2.dat", VARPTR(toc), 4 DEF SEG = VARSEG(ickx(0)): BSAVE "data\ickx.dat", VARPTR(ickx(0)), 3072 DEF SEG = VARSEG(icky(0)): BSAVE "data\icky.dat", VARPTR(icky(0)), 3072 DEF SEG = VARSEG(say(0)): BSAVE "data\say.dat", VARPTR(say(0)), 3072 DEF SEG = VARSEG(item(0)): BSAVE "data\itemloc.dat", VARPTR(item(0)), 8600 DEF SEG = VARSEG(itemx(0)): BSAVE "data\itemx.dat", VARPTR(itemx(0)), 8600 DEF SEG = VARSEG(itemy(0)): BSAVE "data\itemy.dat", VARPTR(itemy(0)), 8600 DEF SEG = VARSEG(icont(0)): BSAVE "ict.dat", VARPTR(icont(0)), 1024 DEF SEG = VARSEG(icon(0)): BSAVE "data\itemcon.dat", VARPTR(icon(0)), 8600 DEF SEG = VARSEG(mcon(0)): BSAVE "data\enecon.dat", VARPTR(mcon(0)), 6400 DEF SEG = VARSEG(iset(0)): BSAVE "data\itemset.dat", VARPTR(iset(0)), 8600 DEF SEG = VARSEG(mset(0)): BSAVE "data\eneset.dat", VARPTR(mset(0)), 6400 DEF SEG = VARSEG(tile(0)): BSAVE "data\tile.bob", VARPTR(tile(0)), 4000 DEF SEG = VARSEG(tilex(0)): BSAVE "data\tilex.bob", VARPTR(tilex(0)), 4000 DEF SEG = VARSEG(tiley(0)): BSAVE "data\tiley.bob", VARPTR(tiley(0)), 4000 DEF SEG = VARSEG(target(0)): BSAVE "data\target.bob", VARPTR(target(0)), 3200 DEF SEG = VARSEG(plotos(0)): BSAVE "data\plotos.bob", VARPTR(plotos(0)), 1024 DEF SEG = VARSEG(plotc1(0)): BSAVE "data\plotc1.bob", VARPTR(plotc1(0)), 1024 DEF SEG = VARSEG(plotc2(0)): BSAVE "data\plotc2.bob", VARPTR(plotc2(0)), 1024 SYSTEM