Looking at my "scrolls.block" file, there are two sections.
firstly, at offset 0, for $92 bytes, there are $49 words. Strangelt allowing us to define 73 scrolls.
The first six of these offset values are as follows;
00 00 , 00 26 , 00 4E , 00 8A , 00 B3 , 00 CC ...
These relate to which scroll (which we will give an arbitary numbering system, starting at 'scroll 1') occurs at what offset within the data block.
This data block starts with offset 0 being thefore $92 bytes into the "scrolls.block" file.
ie.
Offset
0092 - scroll 1 (offset given 0000)
00B8 - scroll 2 (offset given 0026)
00E0 - scroll 3 (offset given 004E)
011C - scroll 4 (offset given 008A)
0146 - scroll 5 (offset given 00B4)
015E - scroll 6 (offset given 00CC)
...
The remaining $CA2 bytes contain the actual scroll data. i.e. what each one reads, and how it is laid out.
In my editor, I change the actual scroll data one at a time, adding in new bytes if needed, and capping the end. (ie. limiting the scroll data to $CA2 bytes, and forcing a termination byte at the end if required.)
I then simply update the header data, by reading through my scroll data, and writing in the updated offset values accordingly. This ensures the two stay correctly linked.
Given that each scroll has at least one "start new line" and must have an "end" (termination) byte, updaint the header is quite easy to do. if I dont find 74 scrolls worth of data, thne remainder offset values would be set to "0" to prevent any confusion. (so the remaining scrolls will simply look the same as 'scroll 1')
for defining each individual scroll, there is a standard layout. 3 bytes of info. followed by the ASCII data. The scroll is then terminated with an $FF value.
E.g:
FC 1E 04 - Start line Byte , X position, y Position
54 48 45 20 4B 45 59 - ascii text (the key)
FC 1F 05 - Start line Byte , X position, y Position
41 42 4F 56 45 - ascii text above
FC 1E 06 - Start line Byte , X position, y Position
44 4F 54 48 20 4C 49 45 - ascii text (doth lie)
FC 1F 07 - Start line Byte , X position, y Position
42 45 4C 4F 57 - ascii text (below)
FF - Termination
x position and y position limits i cannot remember, but can find from my editor later.
Somewhere it must also be defined that for tower/dungeon 2-6, the "scroll 1" starts at a particular offset. (althogth i do not know where.
Maybe if we can work out the offsets for each "scroll 1" we can find it, and adjust that also!