From 463d9f0a240f14bd7b9c2b4c0a2fbd6076fcd2cc Mon Sep 17 00:00:00 2001 From: 4am Date: Thu, 22 Mar 2018 16:06:31 -0400 Subject: [PATCH] XYZZY support --- Makefile | 4 +-- res/DHRSLIDE.SYSTEM | Bin 0 -> 855 bytes res/_FileInformation.txt | 1 + src/action.a | 73 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 76 insertions(+), 2 deletions(-) create mode 100644 res/DHRSLIDE.SYSTEM diff --git a/Makefile b/Makefile index 1e5014c..1af8af2 100644 --- a/Makefile +++ b/Makefile @@ -37,14 +37,13 @@ asm: md dsk: md asm cp res/"Pitch Dark.master games collection.do.not.edit.2mg" build/"$(DISK)" - cp res/WEEGUI build/ cp res/_FileInformation.txt build/ $(CADIUS) ADDFILE build/"$(DISK)" "/PITCH.DARK/" "build/GRUE.SYSTEM" $(CADIUS) ADDFILE build/"$(DISK)" "/PITCH.DARK/" "build/ONBEYOND.SYSTEM" $(CADIUS) ADDFILE build/"$(DISK)" "/PITCH.DARK/" "build/PITCH.DARK" $(CADIUS) ADDFILE build/"$(DISK)" "/PITCH.DARK/" "res/PITCH.DARK.CONF" $(CADIUS) CREATEFOLDER build/"$(DISK)" "/PITCH.DARK/LIB/" - $(CADIUS) ADDFILE build/"$(DISK)" "/PITCH.DARK/LIB/" "build/WEEGUI" + $(CADIUS) ADDFILE build/"$(DISK)" "/PITCH.DARK/LIB/" "res/WEEGUI" $(CADIUS) ADDFILE build/"$(DISK)" "/PITCH.DARK/LIB/" "build/ONBEYONDZ1" $(CADIUS) ADDFILE build/"$(DISK)" "/PITCH.DARK/LIB/" "build/ONBEYONDZ2" $(CADIUS) ADDFILE build/"$(DISK)" "/PITCH.DARK/LIB/" "build/ONBEYONDZ3" @@ -60,6 +59,7 @@ txt: dsk artwork: dsk rsync -a res/artwork build/ cd build && $(CADIUS) ADDFOLDER "$(DISK)" "/PITCH.DARK/ARTWORK" artwork + $(CADIUS) ADDFILE build/"$(DISK)" "/PITCH.DARK/ARTWORK/" "res/DHRSLIDE.SYSTEM" mount: dsk osascript bin/V2Make.scpt "`pwd`" bin/pitchdark.vii build/"$(DISK)" diff --git a/res/DHRSLIDE.SYSTEM b/res/DHRSLIDE.SYSTEM new file mode 100644 index 0000000000000000000000000000000000000000..1720440b0e175a8899f136774ae9197acbdb1f91 GIT binary patch literal 855 zcmbu8O=uHA6vrnY4Vgi4duZ&T(Dj3qg&vZ6@z6r>3sX`N5xq&&7AmL*FNJ=0<3dnh zNpJ0;uml1Qc8bAM4`t>cq}$jsV!@-u9;^q$ib^j+e4AoV-dvXDy_q*N|M~yk=B}8H zMuz<7^Es^J!ctZ@SV|=2mLW0kkz4K3A6QAtwLWS6@ZR`sMdN3x7c&@VYv<%rpY$Ue z`WLQ%35NAB$%G*xDMh=49=V;CKvbEm@0iOZzP@v6nb7r})60ZGoBGFKRPE~zITANV zDX+Pqa?>25e8Y{j0x?2ij)__3M{-}{ya}_66PRLfkHUQl!&J;MxJ&uA8$PT*ObO2O z1Xf`2Fy&zwp?uSgmI>}%ig`I-=rJ+H^f7TJfxC&b37BR)>exKt6vQ-x8MZyc{A$JS zd^E)zyHa>SoPtZLw&i=o-}AKp$u+9B7tG9ZDL_Q|3? z;1TBnF2Tg|or|0}mw1U6b6uhr<|IxQKZPO}|Qr=mu)Ce-L+w&^6D{%2Mirh|R%Zpyw*rE_lzT!SCgss@^ao%;R!aZ? literal 0 HcmV?d00001 diff --git a/res/_FileInformation.txt b/res/_FileInformation.txt index a68c573..4a5acbd 100644 --- a/res/_FileInformation.txt +++ b/res/_FileInformation.txt @@ -9,3 +9,4 @@ ONBEYONDZ4=Type(06),AuxType(3000),Access(C3) ONBEYONDZ5=Type(06),AuxType(3000),Access(C3) ONBEYONDZ5U=Type(06),AuxType(3000),Access(C3) WEEGUI=Type(06),AuxType(4000),Access(C3) +DHRSLIDE.SYSTEM=Type(FF),AuxType(2000),Access(C3) diff --git a/src/action.a b/src/action.a index aea8548..ed8bd67 100644 --- a/src/action.a +++ b/src/action.a @@ -44,8 +44,17 @@ kArtworkRootDirectory ; length-prefixed pathname of DHGR box art ; IDs of actions that do not correspond to WeeGUI view IDs have high bit set ID_SCROLLUP = $81 ID_SCROLLDOWN = $82 +ID_X = $83 +ID_Y = $84 +ID_Z = $85 !byte $8B,ID_SCROLLUP ; up arrow !byte $8A,ID_SCROLLDOWN ; down arrow + !byte $D8,ID_X ; X + !byte $F8,ID_X ; x + !byte $D9,ID_Y ; Y + !byte $F9,ID_Y ; y + !byte $DA,ID_Z ; Z + !byte $FA,ID_Z ; z .endkeys ;------------------------------------------------------------------------------ @@ -66,6 +75,12 @@ HandleKey .foundKey lda .keys+1,x bpl .activateView + cmp #ID_X + beq .x + cmp #ID_Y + beq .y + cmp #ID_Z + beq .z cmp #ID_SCROLLDOWN beq .handleScrollDown .handleScrollUp @@ -92,6 +107,64 @@ HandleKey jsr WeeGUI ldx #WGViewUnfocus jmp WeeGUI +.y + lda .xyzzy + cmp #1 + beq .y1 + cmp #4 + bne .xyzzyReset + beq .xyzzyGo +.z + lda .xyzzy + cmp #2 + beq .z1 + cmp #3 + beq .z2 + bra .xyzzyReset +.x + lda #1 + !byte $2C +.y1 + lda #2 + !byte $2C +.z1 + lda #3 + !byte $2C +.z2 + lda #4 + !byte $2C +.xyzzyReset + lda #0 +.xyzzyStoreAndExit + sta .xyzzy + jmp SoftBell +.xyzzy + !byte $00 +.xyzzyGo + ldx #WGClearScreen + jsr WeeGUI + jsr SaveGlobalPreferences + jsr ResetPath + lda #kArtworkRootDirectory + jsr AddToPath + jsr SetPrefix + !word gPathname + jsr ResetPath + lda #<.dhrslideFilename + ldy #>.dhrslideFilename + jsr AddToPath + jsr LoadFile + !word gPathname + !word $2000 + !word $2000 + !word kProDOSFileBuffer + jsr ExitWeeGUI + jmp $2000 +.dhrslideFilename + !byte 15 + !raw "DHRSLIDE.SYSTEM" + } ;------------------------------------------------------------------------------