dos33fsprogs/games/peasant/NOTES
2021-09-27 00:33:24 -04:00

109 lines
2.1 KiB
Plaintext

peasant2 18302
18043 (decompress fast moved)
15899 (much of hgr code moved to qload)
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
$00 Zero Page
$01 Stack
$02 Disk Lookup
$03 Disk Lookup, IRQ vectors
$04-$07 Text/GR page 1 (priority map)
$08-$0B Text/GR page 2. $08=boot, $09-$0A = qboot stage2
$0B-$1F QLOAD disk routines and HGR drawing routines
$20-$3F HGR Page 1
$40-$5f HGR Page 2
$60-$?? Programs (roughly 22k available?)
$B8-$BB Hi-res lookup tables
$BC temp area for load/save files
$BD-$BF ???
$C0-$CF I/O
$D0-$DF (BANK2) Mockingboard music/PT3-routines
Disk1 Map (disk has 35 tracks, each 4k in size)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
T 0 = Qboot
T 1 = QLOAD 4813 bytes 19S = 1T3S
T 3 = VID_LOGO 6911 bytes 27S = 1T11S
T 5 = TITLE 9662 bytes 38S = 2T6S
T 8 = INTRO 16040 bytes 63S = 3T15S
T 12 = COPY_CHECK 4922 bytes 20S = 1T4S
T 14 = PEASANT1 22501 bytes 79S = 4T15S ; 88 is max?
T 19 = PEASANT2 ; 79 = 20224
T 24 = PEASANT3
T 29 = PEASANT4
Disk2 Map (disk has 35 tracks, each 4k in size)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
T 19 = TROGDOR 13673 bytes
T 24 = ENDING 19690 bytes 77S = 4T13S
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