mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-08-15 08:27:41 +00:00
peasant: update documentation
This commit is contained in:
@@ -1,303 +0,0 @@
|
|||||||
Dialog issues:
|
|
||||||
Uncompressed LZSA ZX02
|
|
||||||
DIALOG_PEASANT1 7394 4002 3804
|
|
||||||
DIALOG_PEASANT2 6857 3943 3736
|
|
||||||
DIALOG_PEASANT3 5809 3411 3201
|
|
||||||
DIALOG_PEASANT4 6900 3851 3508
|
|
||||||
DIALOG_CLIFF 4768 2825 2644
|
|
||||||
DIALOG_INSIDE 10832 5741 3594
|
|
||||||
DIALOG_INN 1840
|
|
||||||
|
|
||||||
|
|
||||||
Inventory:
|
|
||||||
3CEE - 4a5f = D71 = 3441 bytes
|
|
||||||
Common parser:
|
|
||||||
4ac - 11af = D03 3331 bytes
|
|
||||||
4c2 - 156e = 10ac 4268 bytes
|
|
||||||
|
|
||||||
|
|
||||||
peasant3 18554 -> 22442
|
|
||||||
|
|
||||||
peasant2 18302
|
|
||||||
18043 (decompress fast moved)
|
|
||||||
15899 (much of hgr code moved to qload)
|
|
||||||
16653 (work on load/save support)
|
|
||||||
17191 (more work on priorities)
|
|
||||||
19326 (include common text)
|
|
||||||
19577 -- at release 0.75
|
|
||||||
19944 -- after all priorities added
|
|
||||||
20050 -- parse lookup table
|
|
||||||
20493 -- more parse code (release 0.76)
|
|
||||||
16995 -- move inventory to language card
|
|
||||||
17122 -- add all verbs in (+), optimize text box drawing (-)
|
|
||||||
17918 -- text parsing nearing completion
|
|
||||||
18208 -- mountain pass parsing working
|
|
||||||
18780 -- most dialog hooked up
|
|
||||||
17394 -- move loadsave to qload.inc
|
|
||||||
17100 -- move parse_input high and move p2 strings back in
|
|
||||||
17368 -- use lookup table for next room (and other changes)
|
|
||||||
17780 -- size as of the switch to dictionary word lookup
|
|
||||||
18012 -- hook up more of archery
|
|
||||||
18120 -- finish hooking up archery
|
|
||||||
17941 -- after most of text hooked up (more code was moved to qload)
|
|
||||||
17929 -- after redoing so background is always in PAGE1
|
|
||||||
18132 -- add in river animation code
|
|
||||||
18181 -- forgot the "climb fence" message
|
|
||||||
17497 -- use ZX02 compression instead of LZSA
|
|
||||||
|
|
||||||
|
|
||||||
partial save, can we fit in 4k?
|
|
||||||
102 lines ; inventory was 115?
|
|
||||||
only 2-38 36 => 113 lines
|
|
||||||
|
|
||||||
|
|
||||||
sprite routines:
|
|
||||||
14x14 sprite mask -> for drawing baby in ending
|
|
||||||
1x5 sprite -> intro, lake bubbles
|
|
||||||
1x8 sprite -> draw font
|
|
||||||
2x16 sprite -> inventory
|
|
||||||
7x28 sprite -> unused
|
|
||||||
7x28 sprite mask -> draw peasant
|
|
||||||
hgr_sprite -> generic
|
|
||||||
|
|
||||||
Notes
|
|
||||||
~~~~~
|
|
||||||
Some people would like actual S.A.M. support like the original game,
|
|
||||||
but that takes 9kB! Is there room in TROGDOR for that?
|
|
||||||
|
|
||||||
|
|
||||||
Memory Map
|
|
||||||
~~~~~~~~~~
|
|
||||||
|
|
||||||
; notes -- VID_LOGO loads title at $9000 - $AFFF
|
|
||||||
|
|
||||||
; this describes current plan, currently peasant1/2/3/4 violate this
|
|
||||||
|
|
||||||
$00 (256B) Zero Page
|
|
||||||
$01 (256B) Stack
|
|
||||||
$02 (256B) Disk Lookup
|
|
||||||
$03 (256B) Disk Lookup, IRQ vectors
|
|
||||||
$04-$07 (1k) Text/GR page 1 (priority map)
|
|
||||||
$08-$0B (0.75k) Text/GR page 2. $08=boot, $09-$0A = qboot stage2
|
|
||||||
$0B-$1F (5.25k) QLOAD disk and common routines (5376 bytes, 4996 bytes used)
|
|
||||||
$20-$3F (8k) HGR Page 1 (shown)
|
|
||||||
$40-$5f (8k) HGR Page 2 (current image background)
|
|
||||||
$60-$9F (16k) Programs (we limit to 16k, 16384 bytes, $40 pages)
|
|
||||||
$A0-$AF (4k) peasant sprites
|
|
||||||
$B0-$B7 (2k) unused currently?
|
|
||||||
$B8-$BB (1k) Hi-res lookup tables
|
|
||||||
$BC-$BD (512B) temp area for load/save file marshalling
|
|
||||||
$BE (256B) unused(?)
|
|
||||||
$BF (256B) verb table
|
|
||||||
$C0-$CF (n/a) I/O
|
|
||||||
|
|
||||||
Language card (high 16k)
|
|
||||||
|
|
||||||
$D0-$ED (bank1) (7.5k) per-levelstrings (biggest is 6k currently)
|
|
||||||
$D0-$DF (bank2) (4k) inventory (3122 bytes)
|
|
||||||
$EE-$FF (both) (4.5k) parser code (4608 bytes, 4332 currently)
|
|
||||||
|
|
||||||
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
|
||||||
|
|
||||||
238, to 280 (6)
|
|
||||||
50 to 135 (85) 6*85=510
|
|
||||||
|
|
||||||
280x192
|
|
||||||
*4
|
|
||||||
1120x768
|
|
||||||
|
|
||||||
Our capture: 300x142 roughly
|
|
||||||
292x142 to center it
|
|
||||||
|
|
||||||
Odd is Orange
|
|
||||||
Even is blue
|
|
||||||
|
|
||||||
EO EO EO EO EO if draw black at odd, nothing
|
|
||||||
blue 10 10 10 10 10 if draw black at even, two-wide(?) black
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
10 10 10 10 10 blue
|
|
||||||
01 01 01 01 01 orange
|
|
||||||
|
|
||||||
EO EO
|
|
||||||
10 01 blue->orange has black gap
|
|
||||||
|
|
||||||
01 10 orange->blue has white gap
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
10 10 01 01 = blue
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
6|----c>>>-----------c------c-------|
|
|
||||||
5|-aaa----aaab>>>aaa---a-b-a---------|
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
46, XRUN=2
|
|
||||||
|
|
||||||
46/7= 6R4 ; RUN of 0=1 wide, run of 1=2 wide
|
|
||||||
|
|
||||||
start at 4, end at 5
|
|
||||||
|
|
||||||
start at 4 (left) = $F0 1111 0000
|
|
||||||
end at 5 (Right) = $BF 1011 1111
|
|
||||||
=========
|
|
||||||
x011 0000
|
|
||||||
OR them!!!!
|
|
||||||
|
|
||||||
left_masks:
|
|
||||||
.byte $FF,$FE,$FC,$F8, $F0,$E0,$C0
|
|
||||||
|
|
||||||
right_masks:
|
|
||||||
.byte $81,$83,$87, $8F,$9F,$BF,$FF
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
POINTS IMPLEMENTED: (in order of implementation)
|
|
||||||
+ 10 (Talk Trogdor)
|
|
||||||
+ 1 (talk to archer)
|
|
||||||
+ 1 (talked to archer after trinket/mask)
|
|
||||||
+ 2 (move rock)
|
|
||||||
+ 1 (get pebbles)
|
|
||||||
+ 1 (get feed)
|
|
||||||
+ 5 (give riches)
|
|
||||||
+ 5 (give baby) [inn]
|
|
||||||
+ 3 (get room)
|
|
||||||
+ 2 (feed fish)
|
|
||||||
+ 2 (put pebbles in bucket)
|
|
||||||
+ 3 (put baby in bucket)
|
|
||||||
+ 2 (turn crank [baby in bucket])
|
|
||||||
+ 2 (scare gary)
|
|
||||||
+ 2 (get arrow)
|
|
||||||
+ 3 (say haldo to dongolev)
|
|
||||||
+ 3 (jump in hay)
|
|
||||||
+ 2 (fall in mud puddle)
|
|
||||||
+ 2 (give trinket to brothers)
|
|
||||||
+ 2 (get super trinket)
|
|
||||||
+ 3 (win archery game)
|
|
||||||
+ 10 (get belt)
|
|
||||||
+ 5 (kill kerrek)
|
|
||||||
+ 7 (talk to knight once have belt, robe, and on fire)
|
|
||||||
+ 7 (get riches from jhonka)
|
|
||||||
+ 5 (throw baby)
|
|
||||||
+ 5 (deploy baby)
|
|
||||||
+ 1 (close drawer)
|
|
||||||
+ 10 (get robe)
|
|
||||||
+ 3 (wear robe)
|
|
||||||
+ 2 (get grease)
|
|
||||||
+ 10 (catch on fire)
|
|
||||||
+ 7 (throw sword at trogdor)
|
|
||||||
+ 3 (climb to top of cliff)
|
|
||||||
+ 5 (get trogshield)
|
|
||||||
======
|
|
||||||
137 points
|
|
||||||
|
|
||||||
|
|
||||||
deaths/endings implemented
|
|
||||||
==================
|
|
||||||
+1 Typing "die"
|
|
||||||
+2 Beating the game
|
|
||||||
+3 Cutting off arms, legs, and head
|
|
||||||
+4 kick/punch/kill Old Gary
|
|
||||||
+5 get arrow (while Dongolev shooting)
|
|
||||||
+6 walk on range (while Dongolev shooting)
|
|
||||||
+7 walk too close to Kerrek
|
|
||||||
+8 say "yes" when Jhonka asks if you stole riches
|
|
||||||
+9 fall off cliff
|
|
||||||
|
|
||||||
|
|
||||||
v0.84 sizes: lzsa zx02
|
|
||||||
============= ====== =====
|
|
||||||
QLOAD 5239 5122
|
|
||||||
MUSIC 4045 4045
|
|
||||||
VID_LOGO 7678 7370
|
|
||||||
TITLE 8950 8466
|
|
||||||
INTRO 13583 12871
|
|
||||||
PARSE_INPUT 3510 3249
|
|
||||||
INVENTORY 3122 3122
|
|
||||||
PEASANT1 19150 18208
|
|
||||||
PEASANT2 18254 17497
|
|
||||||
PEASANT3 18880 17927
|
|
||||||
PEASANT4 17610 16701
|
|
||||||
|
|
||||||
COPY_CHECK 2942 2834
|
|
||||||
GAME_OVER 2113 2074
|
|
||||||
MAP 2703 2556
|
|
||||||
ARCHERY 2112 2016
|
|
||||||
INSIDE 14157 13460
|
|
||||||
INN 9342 8938
|
|
||||||
TROGDOR 15657 14774
|
|
||||||
ENDING 17642 17038
|
|
||||||
CLIFF 13418 12648
|
|
||||||
|
|
||||||
Disk Maps, current
|
|
||||||
|
|
||||||
Disk1 Map (disk has 35 tracks, each 4k in size)
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
T 0 = Qboot / SAVES
|
|
||||||
T 1 = QLOAD 5037 bytes 2T (8192) 3k free
|
|
||||||
T 3 = MUSIC 4045 bytes 1T (4096) 0k free
|
|
||||||
T 4 = VID_LOGO 7343 bytes 2T (8192) 1k free
|
|
||||||
T 6 = TITLE 8500 bytes 3T (12288) 4k free
|
|
||||||
T 9 = INTRO 13628 bytes 4T (16384) 3k free
|
|
||||||
T 13 = PARSE_INP 3249 bytes 1T (4096) 1k free
|
|
||||||
T 14 = INVENTORY 3122 bytes 1T (4096) 1k free
|
|
||||||
T 15 = GAME_OVER 2074 bytes 1T (4096) 2k free
|
|
||||||
T 30 = COPY_CHECK 2834 bytes 1T (4096) 1k free
|
|
||||||
|
|
||||||
Disk2 Map (disk has 35 tracks, each 4k in size)
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
T 0 = WBOOT2
|
|
||||||
T 15 = PEASANT1 18205 bytes 5T (20480) 2k free
|
|
||||||
T 20 = PEASANT2 17194 bytes 5T (20480) 3k free
|
|
||||||
T 25 = PEASANT3 17924 bytes 5T (20480) 3k free
|
|
||||||
T 30 = PEASANT4 16698 bytes 5T (20480) 3k free
|
|
||||||
|
|
||||||
Disk3 Map (disk has 35 tracks, each 4k in size)
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
T 0 = WBOOT3
|
|
||||||
T 1 = MAP 2556 bytes 2T (8192) 6k free
|
|
||||||
T 3 = ARCHERY 2016 bytes 4T (16384) 14k free
|
|
||||||
T 7 = INSIDE 13457 bytes 4T (16384) 3k free
|
|
||||||
T 11 = INN 8935 bytes 4T (16384) 7k free
|
|
||||||
T 15 = TROGDOR 14771 bytes 4T (16384) 3k free
|
|
||||||
T 19 = ENDING 17037 bytes 5T (20480) 3k free
|
|
||||||
T 24 = CLIFF_BASE 6071 bytes 2T (8192) 2k free
|
|
||||||
T 26 = CLIMB 12448 bytes 4T (16384) 4k free
|
|
||||||
T 30 = HEIGHTS 14948 bytes 4T (16384) 1k free
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Disk Maps, Original
|
|
||||||
|
|
||||||
|
|
||||||
Disk1 Map (disk has 35 tracks, each 4k in size)
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
T 0 = Qboot
|
|
||||||
T 1 = QLOAD 5286 bytes 21S = 1T5S
|
|
||||||
T 3 = MUSIC 4045 bytes 16S = 1T0S
|
|
||||||
T 4 = VID_LOGO 7574 bytes 30S = 1T14S
|
|
||||||
T 6 = TITLE 8950 bytes 35S = 2T3S
|
|
||||||
T 9 = INTRO 13467 bytes 52S = 3T4S
|
|
||||||
T 14 = INVENTORY 3121 bytes 13S = 0T13S
|
|
||||||
T 15 = PEASANT1 17007 bytes 67S = 4T3S ; 80 is max
|
|
||||||
T 20 = PEASANT2 17941 bytes 71S = 4T7S ; 79 = 20224
|
|
||||||
T 25 = PEASANT3 18154 bytes 71S = 4T7S
|
|
||||||
T 30 = PEASANT4 15806 bytes 62S = 3T14S
|
|
||||||
|
|
||||||
Disk2 Map (disk has 35 tracks, each 4k in size)
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
T 0 = WBOOT
|
|
||||||
T 1 = COPY_CHECK 2942 bytes 12S = 0T12S
|
|
||||||
T 3 = GAME_OVER 2111 bytes 9S = 0T9S
|
|
||||||
T 4 = MAP 2703 bytes 11S = 0T11S
|
|
||||||
T 6 = ARCHERY 2112 bytes 11S = 0T11S
|
|
||||||
T 9 = INSIDE 14178 bytes 56s = 3T8S
|
|
||||||
T 14 = INN 6906 bytes 27S = 1T11S
|
|
||||||
T 19 = TROGDOR 11468 bytes 45S = 2T13S
|
|
||||||
T 24 = ENDING 17619 bytes 69S = 4T5S
|
|
||||||
T 29 = CLIFF 13024 bytes 51S = 3T3S
|
|
||||||
|
|
151
games/peasant/docs/NOTES
Normal file
151
games/peasant/docs/NOTES
Normal file
@@ -0,0 +1,151 @@
|
|||||||
|
Dialog issues:
|
||||||
|
Uncompressed LZSA ZX02
|
||||||
|
DIALOG_PEASANT1 7394 4002 3804
|
||||||
|
DIALOG_PEASANT2 6857 3943 3736
|
||||||
|
DIALOG_PEASANT3 5809 3411 3201
|
||||||
|
DIALOG_PEASANT4 6900 3851 3508
|
||||||
|
DIALOG_CLIFF 4768 2825 2644
|
||||||
|
DIALOG_INSIDE 10832 5741 3594
|
||||||
|
DIALOG_INN 1840
|
||||||
|
|
||||||
|
|
||||||
|
Inventory:
|
||||||
|
3CEE - 4a5f = D71 = 3441 bytes
|
||||||
|
Common parser:
|
||||||
|
4ac - 11af = D03 3331 bytes
|
||||||
|
4c2 - 156e = 10ac 4268 bytes
|
||||||
|
|
||||||
|
|
||||||
|
peasant3 18554 -> 22442
|
||||||
|
|
||||||
|
peasant2 18302
|
||||||
|
18043 (decompress fast moved)
|
||||||
|
15899 (much of hgr code moved to qload)
|
||||||
|
16653 (work on load/save support)
|
||||||
|
17191 (more work on priorities)
|
||||||
|
19326 (include common text)
|
||||||
|
19577 -- at release 0.75
|
||||||
|
19944 -- after all priorities added
|
||||||
|
20050 -- parse lookup table
|
||||||
|
20493 -- more parse code (release 0.76)
|
||||||
|
16995 -- move inventory to language card
|
||||||
|
17122 -- add all verbs in (+), optimize text box drawing (-)
|
||||||
|
17918 -- text parsing nearing completion
|
||||||
|
18208 -- mountain pass parsing working
|
||||||
|
18780 -- most dialog hooked up
|
||||||
|
17394 -- move loadsave to qload.inc
|
||||||
|
17100 -- move parse_input high and move p2 strings back in
|
||||||
|
17368 -- use lookup table for next room (and other changes)
|
||||||
|
17780 -- size as of the switch to dictionary word lookup
|
||||||
|
18012 -- hook up more of archery
|
||||||
|
18120 -- finish hooking up archery
|
||||||
|
17941 -- after most of text hooked up (more code was moved to qload)
|
||||||
|
17929 -- after redoing so background is always in PAGE1
|
||||||
|
18132 -- add in river animation code
|
||||||
|
18181 -- forgot the "climb fence" message
|
||||||
|
17497 -- use ZX02 compression instead of LZSA
|
||||||
|
|
||||||
|
|
||||||
|
partial save, can we fit in 4k?
|
||||||
|
102 lines ; inventory was 115?
|
||||||
|
only 2-38 36 => 113 lines
|
||||||
|
|
||||||
|
|
||||||
|
sprite routines:
|
||||||
|
14x14 sprite mask -> for drawing baby in ending
|
||||||
|
1x5 sprite -> intro, lake bubbles
|
||||||
|
1x8 sprite -> draw font
|
||||||
|
2x16 sprite -> inventory
|
||||||
|
7x28 sprite -> unused
|
||||||
|
7x28 sprite mask -> draw peasant
|
||||||
|
hgr_sprite -> generic
|
||||||
|
|
||||||
|
Notes
|
||||||
|
~~~~~
|
||||||
|
Some people would like actual S.A.M. support like the original game,
|
||||||
|
but that takes 9kB! Is there room in TROGDOR for that?
|
||||||
|
|
||||||
|
|
||||||
|
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
||||||
|
|
||||||
|
238, to 280 (6)
|
||||||
|
50 to 135 (85) 6*85=510
|
||||||
|
|
||||||
|
280x192
|
||||||
|
*4
|
||||||
|
1120x768
|
||||||
|
|
||||||
|
Our capture: 300x142 roughly
|
||||||
|
292x142 to center it
|
||||||
|
|
||||||
|
Odd is Orange
|
||||||
|
Even is blue
|
||||||
|
|
||||||
|
EO EO EO EO EO if draw black at odd, nothing
|
||||||
|
blue 10 10 10 10 10 if draw black at even, two-wide(?) black
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
10 10 10 10 10 blue
|
||||||
|
01 01 01 01 01 orange
|
||||||
|
|
||||||
|
EO EO
|
||||||
|
10 01 blue->orange has black gap
|
||||||
|
|
||||||
|
01 10 orange->blue has white gap
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
10 10 01 01 = blue
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
6|----c>>>-----------c------c-------|
|
||||||
|
5|-aaa----aaab>>>aaa---a-b-a---------|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
46, XRUN=2
|
||||||
|
|
||||||
|
46/7= 6R4 ; RUN of 0=1 wide, run of 1=2 wide
|
||||||
|
|
||||||
|
start at 4, end at 5
|
||||||
|
|
||||||
|
start at 4 (left) = $F0 1111 0000
|
||||||
|
end at 5 (Right) = $BF 1011 1111
|
||||||
|
=========
|
||||||
|
x011 0000
|
||||||
|
OR them!!!!
|
||||||
|
|
||||||
|
left_masks:
|
||||||
|
.byte $FF,$FE,$FC,$F8, $F0,$E0,$C0
|
||||||
|
|
||||||
|
right_masks:
|
||||||
|
.byte $81,$83,$87, $8F,$9F,$BF,$FF
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
v0.84 sizes: lzsa zx02
|
||||||
|
============= ====== =====
|
||||||
|
QLOAD 5239 5122
|
||||||
|
MUSIC 4045 4045
|
||||||
|
VID_LOGO 7678 7370
|
||||||
|
TITLE 8950 8466
|
||||||
|
INTRO 13583 12871
|
||||||
|
PARSE_INPUT 3510 3249
|
||||||
|
INVENTORY 3122 3122
|
||||||
|
PEASANT1 19150 18208
|
||||||
|
PEASANT2 18254 17497
|
||||||
|
PEASANT3 18880 17927
|
||||||
|
PEASANT4 17610 16701
|
||||||
|
|
||||||
|
COPY_CHECK 2942 2834
|
||||||
|
GAME_OVER 2113 2074
|
||||||
|
MAP 2703 2556
|
||||||
|
ARCHERY 2112 2016
|
||||||
|
INSIDE 14157 13460
|
||||||
|
INN 9342 8938
|
||||||
|
TROGDOR 15657 14774
|
||||||
|
ENDING 17642 17038
|
||||||
|
CLIFF 13418 12648
|
||||||
|
|
69
games/peasant/docs/disk_map.txt
Normal file
69
games/peasant/docs/disk_map.txt
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
|
||||||
|
Disk Maps, current
|
||||||
|
|
||||||
|
Disk1 Map (disk has 35 tracks, each 4k in size)
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
T 0 = Qboot / SAVES
|
||||||
|
T 1 = QLOAD 5037 bytes 2T (8192) 3k free
|
||||||
|
T 3 = MUSIC 4045 bytes 1T (4096) 0k free
|
||||||
|
T 4 = VID_LOGO 7343 bytes 2T (8192) 1k free
|
||||||
|
T 6 = TITLE 8500 bytes 3T (12288) 4k free
|
||||||
|
T 9 = INTRO 13628 bytes 4T (16384) 3k free
|
||||||
|
T 13 = PARSE_INP 3249 bytes 1T (4096) 1k free
|
||||||
|
T 14 = INVENTORY 3122 bytes 1T (4096) 1k free
|
||||||
|
T 15 = GAME_OVER 2074 bytes 1T (4096) 2k free
|
||||||
|
T 30 = COPY_CHECK 2834 bytes 1T (4096) 1k free
|
||||||
|
|
||||||
|
Disk2 Map (disk has 35 tracks, each 4k in size)
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
T 0 = WBOOT2
|
||||||
|
T 15 = PEASANT1 18205 bytes 5T (20480) 2k free
|
||||||
|
T 20 = PEASANT2 17194 bytes 5T (20480) 3k free
|
||||||
|
T 25 = PEASANT3 17924 bytes 5T (20480) 3k free
|
||||||
|
T 30 = PEASANT4 16698 bytes 5T (20480) 3k free
|
||||||
|
|
||||||
|
Disk3 Map (disk has 35 tracks, each 4k in size)
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
T 0 = WBOOT3
|
||||||
|
T 1 = MAP 2556 bytes 2T (8192) 6k free
|
||||||
|
T 3 = ARCHERY 2016 bytes 4T (16384) 14k free
|
||||||
|
T 7 = INSIDE 13457 bytes 4T (16384) 3k free
|
||||||
|
T 11 = INN 8935 bytes 4T (16384) 7k free
|
||||||
|
T 15 = TROGDOR 14771 bytes 4T (16384) 3k free
|
||||||
|
T 19 = ENDING 17037 bytes 5T (20480) 3k free
|
||||||
|
T 24 = CLIFF_BASE 6071 bytes 2T (8192) 2k free
|
||||||
|
T 26 = CLIMB 12448 bytes 4T (16384) 4k free
|
||||||
|
T 30 = HEIGHTS 14948 bytes 4T (16384) 1k free
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Disk Maps, Original
|
||||||
|
|
||||||
|
|
||||||
|
Disk1 Map (disk has 35 tracks, each 4k in size)
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
T 0 = Qboot
|
||||||
|
T 1 = QLOAD 5286 bytes 21S = 1T5S
|
||||||
|
T 3 = MUSIC 4045 bytes 16S = 1T0S
|
||||||
|
T 4 = VID_LOGO 7574 bytes 30S = 1T14S
|
||||||
|
T 6 = TITLE 8950 bytes 35S = 2T3S
|
||||||
|
T 9 = INTRO 13467 bytes 52S = 3T4S
|
||||||
|
T 14 = INVENTORY 3121 bytes 13S = 0T13S
|
||||||
|
T 15 = PEASANT1 17007 bytes 67S = 4T3S ; 80 is max
|
||||||
|
T 20 = PEASANT2 17941 bytes 71S = 4T7S ; 79 = 20224
|
||||||
|
T 25 = PEASANT3 18154 bytes 71S = 4T7S
|
||||||
|
T 30 = PEASANT4 15806 bytes 62S = 3T14S
|
||||||
|
|
||||||
|
Disk2 Map (disk has 35 tracks, each 4k in size)
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
T 0 = WBOOT
|
||||||
|
T 1 = COPY_CHECK 2942 bytes 12S = 0T12S
|
||||||
|
T 3 = GAME_OVER 2111 bytes 9S = 0T9S
|
||||||
|
T 4 = MAP 2703 bytes 11S = 0T11S
|
||||||
|
T 6 = ARCHERY 2112 bytes 11S = 0T11S
|
||||||
|
T 9 = INSIDE 14178 bytes 56s = 3T8S
|
||||||
|
T 14 = INN 6906 bytes 27S = 1T11S
|
||||||
|
T 19 = TROGDOR 11468 bytes 45S = 2T13S
|
||||||
|
T 24 = ENDING 17619 bytes 69S = 4T5S
|
||||||
|
T 29 = CLIFF 13024 bytes 51S = 3T3S
|
||||||
|
|
32
games/peasant/docs/memory_map.txt
Normal file
32
games/peasant/docs/memory_map.txt
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
Memory Map
|
||||||
|
~~~~~~~~~~
|
||||||
|
|
||||||
|
; notes -- VID_LOGO loads title at $9000 - $AFFF
|
||||||
|
|
||||||
|
; this describes current plan, currently peasant1/2/3/4 violate this
|
||||||
|
|
||||||
|
$00 (256B) Zero Page
|
||||||
|
$01 (256B) Stack
|
||||||
|
$02 (256B) Disk Lookup
|
||||||
|
$03 (256B) Disk Lookup, IRQ vectors
|
||||||
|
$04-$07 (1k) Text/GR page 1 (priority map)
|
||||||
|
$08-$0B (0.75k) Text/GR page 2. $08=boot, $09-$0A = qboot stage2
|
||||||
|
$0B-$1F (5.25k) QLOAD disk and common routines (5376 bytes, 4996 bytes used)
|
||||||
|
$20-$3F (8k) HGR Page 1 (shown)
|
||||||
|
$40-$5f (8k) HGR Page 2 (current image background)
|
||||||
|
$60-$9F (16k) Programs (we limit to 16k, 16384 bytes, $40 pages)
|
||||||
|
$A0-$AF (4k) peasant sprites
|
||||||
|
$B0-$B7 (2k) unused currently?
|
||||||
|
$B8-$BB (1k) Hi-res lookup tables
|
||||||
|
$BC-$BD (512B) temp area for load/save file marshalling
|
||||||
|
$BE (256B) unused(?)
|
||||||
|
$BF (256B) verb table
|
||||||
|
$C0-$CF (n/a) I/O
|
||||||
|
|
||||||
|
Language card (high 16k)
|
||||||
|
|
||||||
|
$D0-$ED (bank1) (7.5k) per-levelstrings (biggest is 6k currently)
|
||||||
|
$D0-$DF (bank2) (4k) inventory (3122 bytes)
|
||||||
|
$EE-$FF (both) (4.5k) parser code (4608 bytes, 4332 currently)
|
||||||
|
|
||||||
|
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
52
games/peasant/docs/points.txt
Normal file
52
games/peasant/docs/points.txt
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
|
||||||
|
POINTS IMPLEMENTED: (in order of implementation)
|
||||||
|
+ 10 (Talk Trogdor)
|
||||||
|
+ 1 (talk to archer)
|
||||||
|
+ 1 (talked to archer after trinket/mask)
|
||||||
|
+ 2 (move rock)
|
||||||
|
+ 1 (get pebbles)
|
||||||
|
+ 1 (get feed)
|
||||||
|
+ 5 (give riches)
|
||||||
|
+ 5 (give baby) [inn]
|
||||||
|
+ 3 (get room)
|
||||||
|
+ 2 (feed fish)
|
||||||
|
+ 2 (put pebbles in bucket)
|
||||||
|
+ 3 (put baby in bucket)
|
||||||
|
+ 2 (turn crank [baby in bucket])
|
||||||
|
+ 2 (scare gary)
|
||||||
|
+ 2 (get arrow)
|
||||||
|
+ 3 (say haldo to dongolev)
|
||||||
|
+ 3 (jump in hay)
|
||||||
|
+ 2 (fall in mud puddle)
|
||||||
|
+ 2 (give trinket to brothers)
|
||||||
|
+ 2 (get super trinket)
|
||||||
|
+ 3 (win archery game)
|
||||||
|
+ 10 (get belt)
|
||||||
|
+ 5 (kill kerrek)
|
||||||
|
+ 7 (talk to knight once have belt, robe, and on fire)
|
||||||
|
+ 7 (get riches from jhonka)
|
||||||
|
+ 5 (throw baby)
|
||||||
|
+ 5 (deploy baby)
|
||||||
|
+ 1 (close drawer)
|
||||||
|
+ 10 (get robe)
|
||||||
|
+ 3 (wear robe)
|
||||||
|
+ 2 (get grease)
|
||||||
|
+ 10 (catch on fire)
|
||||||
|
+ 7 (throw sword at trogdor)
|
||||||
|
+ 3 (climb to top of cliff)
|
||||||
|
+ 5 (get trogshield)
|
||||||
|
======
|
||||||
|
137 points
|
||||||
|
|
||||||
|
|
||||||
|
deaths/endings implemented
|
||||||
|
==================
|
||||||
|
+1 Typing "die"
|
||||||
|
+2 Beating the game
|
||||||
|
+3 Cutting off arms, legs, and head
|
||||||
|
+4 kick/punch/kill Old Gary
|
||||||
|
+5 get arrow (while Dongolev shooting)
|
||||||
|
+6 walk on range (while Dongolev shooting)
|
||||||
|
+7 walk too close to Kerrek
|
||||||
|
+8 say "yes" when Jhonka asks if you stole riches
|
||||||
|
+9 fall off cliff
|
Reference in New Issue
Block a user