; ____ ___ _ ;| _ \ _ __ __ _ __ _ ___ _ __ / _ \ _ _ ___ ___| |_ ;| | | | '__/ _` |/ _` |/ _ \| '_ \| | | | | | |/ _ \/ __| __| ;| |_| | | | (_| | (_| | (_) | | | | |_| | |_| | __/\__ \ |_ ;|____/|_| \__,_|\__, |\___/|_| |_|\__\_\\__,_|\___||___/\__| ; ____ |___/ ; | _ \ _ _ _ __ __ _ ___ ___ _ __ ; | | | | | | | '_ \ / _` |/ _ \/ _ \| '_ \ ; | |_| | |_| | | | | (_| | __/ (_) | | | | ; |____/ \__,_|_| |_|\__, |\___|\___/|_| |_| ; |___/ ; ; ; ___ _ _ _ ; _ | \__ __ _____ __| (_) |_ ; |_) | |) \ V V / -_) _` | | _| ; |_)\/ |___/ \_/\_/\___\__,_|_|\__| ; / ; Dan Weiss ; dqdung@dwedit.cjb.net ; ; (not affiliated with Enix) ; ;=================== ; APLHA RELEASE 3 ; January, 22, 2001 ;=================== ; ; Battles are (still) at 15% complete! ; ;======= ; About ;======= ; DragonQuest Dungeon is a randomly generated RPG game for ; the TI82/83/83+ graphing 'calculators'. You control a hero ; in a random dungeon, seeking treasure and fighting monsters. ; It is loosely based on the Dragon Warrior series of games. ; ; (The old description above will be trashed when this game ; includes characters, storylines, and overworlds!) ; ; Features: ; ; Random levels! ; Grayscale Graphics! ; 8 different tilesets! ; Large Animated Monsters! ; ; Planned Features: ; ; An overworld ; Towns to buy things and rest ; More monsters ; A WORKING battle engine ; Allies ; ; Bugs: ; Treasure chests currently won't disappear correctly. ; ;=================================== ; Changes from previous release(s): ;=================================== ; ALPHA 3: ;========== ; Added Grayscale Graphics to field ; You control a bigger sprite ; Three Dimensional Dungeons (in other words, stairs) ; Massive under-the-hood changes for movement engine ; ;========== ; ALPHA 2: ;========== ; ; You can now fight and get attacked! (but no victory or defeats yet) ; ;========== ; ALPHA 1: ;========== ; ; Project finally recontinued ; Added selection of battle command ; Split source up into many files ; Numbers now have less spaces after them ; Battle transition slower so you can actually see it ; ;==================== ; (c) 2000 Dan Weiss ;==================== ; ; You may use parts of this code as long as you don't try to take credit. ; ;Include the Dwedit.inc multi platform include file #define LIB #include "dwedit.inc" #include "dwmacros.inc" ;Program start locations (for VTI) ;progstart83 =$9327 ;progstart83+ =$9D95 ;progstart82 =$9104 ;MirageOS likes icons, so... #ifdef MIRAGEOS .db %00011000,%00100000 .db %00010100,%01010000 .db %00010101,%01010000 .db %00011001,%00110000 .db %00000001,%00000000 .db %00000011,%10000000 .db %00000111,%11000000 .db %00011111,%11110000 .db %00111011,%10111000 .db %01110101,%01011100 .db %01110101,%01011100 .db %01111011,%10111100 .db %01101111,%11101100 .db %00110000,%00011000 .db %00011111,%11110000 .dw SaveAndQuit #endif ;Title is "DragonQuest Dungeon", not included in ZES version tTitle: #ifndef ZES .db "DragonQuest " #endif tDungeon: .db "Dungeon",0 #ifndef TI82 .db "BREAKD" .dw AfterItem #endif ;Used for 8x8 masked clipped sprites DefaultSpriteHeight = 8 ;Set CaveRam's location caveram = saferam3 lblStart: ;Save Stack Pointer ld (backupsp),sp call titlescreen ld a,$00 ;nop ld (wk_ret),a call newgame call movearound ret NewGame: ; ld hl,$2000 ; ld a,$50 ; ld (randdata2),hl ; ld (randdata1),a call makedung ld a,7 ld (row),a ld (col),a ret ;Include all the source code #include "DQ_TITLE.z80" #include "DQ_SCREN.z80" #include "DQ_BATLE.z80" #include "DQ_MAIN.z80" #include "DQ_Misc.z80" ;Masked Sprite Library #include "SPR21AX.INC" ;Include ION Functions in code (for 82/83 ION) #ifdef TI82 #include "LargeSpr.h" randdata: .dw 0 #include "random.h" #include "PutSprit.h" fastcopy = ionfastcopy #endif #ifdef TI83P #ifndef MIRAGEOS randdata: .dw 0 #include "fastcopy.h" #include "LargeSpr.h" #include "random.h" #include "PutSprit.h" #else fastcopy = ionfastcopy largesprite = ionlargesprite random = ionrandom putsprite = ionputsprite #endif #endif #ifdef TI83 #ifdef ION fastcopy = ionfastcopy largesprite = ionlargesprite random = ionrandom putsprite = ionputsprite #endif ;Sos Libs #ifdef SOS fastcopy = vec4 largesprite = vec3 random = vec6 putsprite = vec5 libs: .db "ZGFXL",0,0,0,lib2,vec3 ;largesprite .db "ZGFXL",0,0,0,lib1,vec4 ;fastcopy .db "ZLIB",0,0,0,0,lib1,vec5 ;putsprite .db "ZLIB",0,0,0,0,lib2,vec6 ;random .db $FF #endif #endif ;Include the Data #include "DQ_Caves.h" #include "DQ_Data.h" #include "DQ_GFX.h" #include "DQ_Monst.h" #include "DQ_Text.h"