From b6e5ed072e3ab663cfa638cb4ba925c805a1f641 Mon Sep 17 00:00:00 2001 From: 4am Date: Sun, 15 Apr 2018 11:22:00 -0400 Subject: [PATCH] memory map, updated patched games and description --- ...rk.master games collection.do.not.edit.2mg | Bin 33553984 -> 33553984 bytes res/pitch.dark.conf | 2 +- res/text/amfv.txt | 5 +++-- res/text/bureaucracy.txt | 2 +- res/text/sorcerer.txt | 5 ++--- res/text/spellbreaker.txt | 3 +-- res/text/starcross.txt | 7 +++++-- res/text/stationfall.txt | 3 +-- src/constants.a | 16 ++++++++++++++-- 9 files changed, 28 insertions(+), 15 deletions(-) diff --git a/res/Pitch Dark.master games collection.do.not.edit.2mg b/res/Pitch Dark.master games collection.do.not.edit.2mg index b5500e51e4444cdde8366edf3f0fd710e5291e34..f138213cfcc8761d25297f57172ed4ff1c689b83 100644 GIT binary patch delta 103250 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 a0R#|0009ILKmY**5ct0p7?--DHt;)jStHf} delta 128496 zcmeIye^izA0mt$CTrU2GG!+xM5`rP7jua6y*!nD1Y)OOSx5$@~B|dO?6j2R8Q4Q^;UgUhzeCV zslKY8x>@yC1JpnjrUt27)L<2^hNuYTRYO&zx>ZG~VJce1sNw216{|+5I5kq;t}dT< zv>KznqvF*aYOETk64ZE=s3xc+HBsHECaJsBWOcVnR<=rUl1HU}onxO-+Vb69A8+XIFr0d4Dj5y}n|K^R$l?R$<`0bKZm8Q~F zhMJ=8QBzf>W0y>8U0`LJipMgCmc{omcKfte)Bp6e+l{>})oUv3jnR&8S?bJpEz3EY zmiEwTQ*os76|*Lx_XHF1Ty0EQd^cm4Pp>uS%cn=0Fgt6cnY=mYR;xn04|9B*a}Mv; z%z`uNpMSQ_ZU{HovphRZ>K7kq{p74xGuY0GEsOUU`*?=e+J9xv@r?BW%^9?5O5ACa z@|Cw$m%D~{H&f2cXfcD%&WJOQ_81*((pKIRZc^Sjq$94Ker3|MshVVOoZDiy&+_y( zVU;0u)w=93r);yV=l;t)LCKl#7-6s@Iw6sT- z-%cu2MUI^`d%=r3$;7LNn;3f9oV;aq@s0z{ahBgcINPxg&WX6_9wny2QghtvY~uzE!O zQ2j{#SUsv1s>jsh>L==_YLQy3o=`tiOVmWh%6{=J{t)5YSwNm{; zJ*%EmtJL%A1+`kOQDsj0o?p)YrdP<#`bv6ynK2=z{`ckS*Sz<8-YQpX)jGA_@w{bb z^|Z20PDf-|S$v4!*JRX->Q|1hX@fT*#1m*=Zn+9vR*?QW+d9^-f6s3>y`(m(m(?c6 zZh9r6k9+FaD>u8zqSZTzYEws8&;KpbaBeQd3&56X`T@B7~m8#&N8Pu1Kx;AHU$Yj54P|A`vt z4_;BDcBon>ctzc$fU!$!BHW#gSB_j-v&*uE)ul9aT8_Q4rvF%f-jaGJZ;A8e`&P7x zy3pL|E-cc}OXkUa)qgO%_Qrcn+x$u4W%0d?9n^5l*ctV4PTH#47ZwHAUj8vh+;zi) z^umA1UFTeK*QciVZBK*RsT!+n&)bbg7b2`Sv#_BkQfxTB(wcWH>k}vCi9n|w;vNlE zc8{Hxs_b3Ha?dHgynB_sySruVr2(%gUK(gLgG&Ojj@_%#zPjtvzQ*XTU8{YKPPOmt zb;(^%c1ggWUecugsCKJ&)gJXHwO2K(ed;~6U%jtd)CcN-`m;Ky4ynVcRUJ`B)raaY z>X`aS9an!&lI;+m9 z^XgyfTXn%nFZuVy_8s;Hw_65O@{4=GbHLXC3Xl*9kq`-y5DAeG36T&9kq`-y5DAeG z36T&9kq`-y5DAeG36T&9kq`-y5DAeG36T&9kq`-y5DAeG36T&9kq`-y5DAeG36T&9 zkq`-y5DAeG36T&9kq`-y5DAeG36T&9kq`-y5DAeG36T&9kq`-y5DAeG36T&9kq`-y z5DAeG36T&9kq`-y5DAeG36T&9kq`-y5DAeG36T&9kq`-y5DAeG36T&9kq`-y5DAeG z36T&9kq`-y5DAeG36T&9kq`-y5DAeG36T&9kq`-y5DAeG36T&9kq`-y5DAeG36T&9 zkq`-y5DAeG36T&9kq`-y5DAeG36T&9kq`-y5DAeG36T&9kq`-y5DAeG36T&9kq`-y z5DAeG36T&9kq`-y5DAeG36T&9kq`-y5DAeG36T&9kq`-y5DAeG36T&9kq`-y5DAeG z36T&9kq`-y5DAeG36T&9kq`-y5DAeG36T&9kq`-y5DAeG36T&9kq`-y5DAeG36T&9 zkq`-y5DAeG36T&9kq`-y5DAeG36T&9kq`-y5DAeG36T&9kq`-y5DAeG36T&9kq`-y z5DAeG36T&9kq`-y5DAeG36T&9kq`-y5DAeG36T&9kq`-y5DAeG36T&9kq`-y5DAeG z36T&9kq`-y5DAeG36T&9kq`-y5DAeG36T&9kq`-y5DAeG36T&9kq`-y5DAeG36T&9 zkq`-y5DAeG36T&9kq`-y5DAeG36T&9kq`-y5DAeG36T&9kq`-y5DAeG36T&9kq`-y z5DAeG36T&9kq`-y5DAeG36T&9kq`-y5DAeG36T&9kq`-y5DAeG36T&9kq`-y5DAeG z36T&9kq`-y5DAeG36T&9kq`-y5DAeG36T&9kq`-y5DAeG36T&9kq`-y5DAeG36T&9 pkq`-y5DAeG36T&9kq`-y5DAeG36T&9kq`-y@c%Ah`GMx*{{V(52`m5r diff --git a/res/pitch.dark.conf b/res/pitch.dark.conf index cb3c0b6..6e73858 100644 --- a/res/pitch.dark.conf +++ b/res/pitch.dark.conf @@ -1 +1 @@ -# Pitch Dark preferences file # Do not edit by hand. # Or do. I'm a comment, not a cop. # value=0|1 FORCE40COLUMNS=0 FORCEUPPERCASE=0 SCRIPTTOFILE=0 AUTOSCRIPT=0 # value=game directory LASTPLAYED=ZORK.I # key=game directory, value=filename of selected version ADVENTURE=R9.060321.Z5 AMFV=R79.DEPROT.Z4 BALLYHOO=R97.851218.Z3 BEYOND.ZORK=R57.871221.Z5 BORDER.ZONE=R9.871008.Z5 BUREAUCRACY=R116.DEPROT.Z4 CUTTHROATS=R23.840809.Z3 DEADLINE=R27.831005.Z3 ENCHANTER=R29.860820.Z3 HGTTG=R59.851108.Z3 HOLLYWOOD=R37.861215.Z3 INFIDEL=R22.830916.Z3 LGOP=R59.860730.Z3 LURKING.HORROR=R221.870918.Z3 MINI.ZORK=R34.871124.Z3 MOONMIST=R9.861022.Z3 NORD.AND.BERT=R19.870722.Z4 PLANETFALL=R37.851003.Z3 PLUNDERED=R26.870730.Z3 SEASTALKER=R16B.850603.Z3 SHERLOCK=R26.880127.Z5 SORCERER=R18.DEPROT.Z3 SPELLBREAKER=R87.DEPROT.Z3 STARCROSS=R17.821021.Z3 STATIONFALL=R107.DEPROT.Z3 SUSPECT=R14.841005.Z3 SUSPENDED=R8B.840521.Z3 TRINITY=R12.860926.Z4 WISHBRINGER=R69.850920.Z3 WITNESS=R22.840924.Z3 ZORK.I=R88.840726.Z3 ZORK.II=R48.840904.Z3 ZORK.III=R17.840727.Z3 ZTUU=R16.970828.Z5 [eof] \ No newline at end of file +# Pitch Dark preferences file # Do not edit by hand. # Or do. I'm a comment, not a cop. # value=0|1 FORCE40COLUMNS=0 FORCEUPPERCASE=0 SCRIPTTOFILE=0 AUTOSCRIPT=0 # value=game directory LASTPLAYED=ZORK.I # key=game directory, value=filename of selected version ADVENTURE=R9.060321.Z5 AMFV=R79.DEPROT.Z4 BALLYHOO=R97.851218.Z3 BEYOND.ZORK=R57.871221.Z5 BORDER.ZONE=R9.871008.Z5 BUREAUCRACY=R116.DEPROT.Z4 CUTTHROATS=R23.840809.Z3 DEADLINE=R27.831005.Z3 ENCHANTER=R29.860820.Z3 HGTTG=R59.851108.Z3 HOLLYWOOD=R37.861215.Z3 INFIDEL=R22.830916.Z3 LGOP=R59.860730.Z3 LURKING.HORROR=R221.870918.Z3 MINI.ZORK=R34.871124.Z3 MOONMIST=R9.861022.Z3 NORD.AND.BERT=R19.870722.Z4 PLANETFALL=R37.851003.Z3 PLUNDERED=R26.870730.Z3 SEASTALKER=R16B.850603.Z3 SHERLOCK=R26.880127.Z5 SORCERER=R18.DEPROT.Z3 SPELLBREAKER=R87.DEPROT.Z3 STARCROSS=R17.DEPROT.Z3 STATIONFALL=R107.DEPROT.Z3 SUSPECT=R14.841005.Z3 SUSPENDED=R8B.840521.Z3 TRINITY=R12.860926.Z4 WISHBRINGER=R69.850920.Z3 WITNESS=R22.840924.Z3 ZORK.I=R88.840726.Z3 ZORK.II=R48.840904.Z3 ZORK.III=R17.840727.Z3 ZTUU=R16.970828.Z5 [eof] \ No newline at end of file diff --git a/res/text/amfv.txt b/res/text/amfv.txt index a310155..1e9360a 100644 --- a/res/text/amfv.txt +++ b/res/text/amfv.txt @@ -27,8 +27,9 @@ spend less time solving puzzles, as you explore realistic worlds of the future. - NOTE: This game is patched to remove the in-game copy protection. The code - for the "Class One Security Mode Access Decoder" is always 12. + NOTE: This game is patched to remove the in-game copy protection. It no + longer requires a "Class One Security Mode Access Decoder" code to enter a + simulation. [versions] R79.DEPROT.Z4=Release 79 / Serial number 851122 (patched) diff --git a/res/text/bureaucracy.txt b/res/text/bureaucracy.txt index 0c69cfb..3ead979 100644 --- a/res/text/bureaucracy.txt +++ b/res/text/bureaucracy.txt @@ -37,7 +37,7 @@ that be. NOTE: this game is patched to remove the in-game copy protection. When you - are asked five questions in the paranoid's house, you may give any answers. + are in the paranoid's house, he will not ask you any questions. [versions] R116.DEPROT.Z4=Release 116 / Licence number 870602 (patched) diff --git a/res/text/sorcerer.txt b/res/text/sorcerer.txt index 86d88c0..9073236 100644 --- a/res/text/sorcerer.txt +++ b/res/text/sorcerer.txt @@ -17,9 +17,8 @@ To rescue the kingdom and locate your mentor in the treacherous mists of time, you must gain the power and cunning of a true Sorcerer. - NOTE: this game is patched to remove the Infotater protection. The current - code will always be bloodworm, and the corresponding color sequence is - white, gray, black, red, black. + NOTE: this game is patched to remove the in-game ("Infotater") protection. + Just press the white button to open the trunk. [versions] R18.DEPROT.Z3=Release 18 / Serial number 860904 (patched) diff --git a/res/text/spellbreaker.txt b/res/text/spellbreaker.txt index db71ee4..9006dc5 100644 --- a/res/text/spellbreaker.txt +++ b/res/text/spellbreaker.txt @@ -22,8 +22,7 @@ land. NOTE: this game is patched to remove the in-game copy protection. Belboz - will always ask you which mage had the motto, "the hardest trick is making - it look easy." The answer is Barsap. + will accept anyone's name (including "Belboz") and give you a proper key. [versions] R87.DEPROT.Z3=Release 87 / Serial number 860904 (patched) diff --git a/res/text/starcross.txt b/res/text/starcross.txt index 9e3ad54..758fd2f 100644 --- a/res/text/starcross.txt +++ b/res/text/starcross.txt @@ -16,10 +16,13 @@ But the great starship serves a far larger purpose than mere cultural exchange. It bears a challenge that was issued eons ago, from light years away - and only you can meet it. + + NOTE: this game is patched to remove the in-game copy protection. To set + course for a UM, you may enter any coordinates for R, THETA, and PHI. [versions] -R17.821021.Z3=Release 17 / Serial number 821021 -R15.820901.Z3=Release 15 / Serial number 820901 +R17.DEPROT.Z3=Release 17 / Serial number 821021 (patched) +R15.DEPROT.Z3=Release 15 / Serial number 820901 (patched) [options] ARTWORK=1 diff --git a/res/text/stationfall.txt b/res/text/stationfall.txt index 7d4f932..3f59678 100644 --- a/res/text/stationfall.txt +++ b/res/text/stationfall.txt @@ -38,8 +38,7 @@ will keep you laughing, and Floyd will win your heart. NOTE: this game is patched to remove the in-game copy protection. Instead - of entering the number corresponding to the current GST from form QX-17-T, - just enter the current GST (displayed at the top of the screen). + of using form QX-17-T, you may enter any coordinates. [versions] R107.DEPROT.Z3=Release 107 / Serial number 870430 (patched) diff --git a/src/constants.a b/src/constants.a index 16f5582..438cf26 100644 --- a/src/constants.a +++ b/src/constants.a @@ -1,7 +1,20 @@ ;license:MIT ;(c) 2018 by 4am ; -; Memory addresses and constants +; YE OLDE GRAND UNIFIED MEMORY MAP +; +; 0800..1BFF - game description file (read) +; 1C00..1FFF - ProDOS 1K file buffer +; 2000..3FFF - DHGR artwork (read) +; ONBEYOND.SYSTEM (read + execute) +; ZINFO.SYSTEM (read + execute) +; global preferences file (read + write) +; 3F00..3FFF - gPathname +; kNullTerminatedBuffer +; gKey/gVal +; 4000.~5BFF - WeeGUI (approximate end) +;~5C00.~71FF - program code (approximate start and end) +;~7200.~7FFF - program data (approximate start and end) ; kInfoPaintWidth = 65 ; used by paintInfoView @@ -20,7 +33,6 @@ gVal = $3F81 WGInit = $4000 ; WeeGUI file load address and initialization function MAGICRTS = $FF58 ; used to set overflow bit - ; zero page PTR = $02 SRC = $04