BEFORE READING: Please note that all bytes in the hex editor are reversed. For example, if you were to see 05 A0, it would actually be A005. Also note that FFFF/0000 ENDS the pointer and should not be put between enemys/PLMs being added; they should just continue right into the next enemy/PLM. ================================================== ADDING PLMS TO YOUR ROM ================================================== PLM banks start at $8F:8000 PLM banks end at $8F:FFF0 Used PLM bank ends at $8F:E990 Empty PLM bank starts at $8F:EA00 Banks avaliable: 351. Approx possible PLMs to create: 936. PLMs consist of four groups of two bytes (eight bytes total) Looking at the PLM in room 795FF in a hex editor (using the PLM pointer and Lunar Address to find the offset) you'll find this: DB EE 0E 09 04 00 00 00 Here's a break down: DB EE: PLM used 0E 09: Location in room -0E: x cordinate. First nyble is screen, second is distance from edge (works like tiles) -09: y-cordinate. Works the same. 04 00: Low(04), High(00) 00 00: End pointer ================================================== MAKING AN ENEMY SET POINTER TO YOUR ROM ================================================== Enemy banks start at $B4:8000 Enemy banks end at $B4:FFF0 Used Enemy banks end at $B4:F4B0 Empty Enemy banks start at $B4:F4C0 Avaliable banks: 179. Approx possible enemies to create: 716. Again, using SMILE and Lunar Address to gather the location w/ a breakdown. BF DC 01 00 FF FF BF DC: Enemy used 01 00: Palette FF FF: End pointer ================================================== MAKING AN ENEMY POP/ALLOWED POINTER ================================================== Banks start at $A1:8000 Banks end at $A1:FFF0 Used end at $A1:EBC0 Free starts at $A1:EBE0 Avaliable banks: 322 Approx possible pop/allowed to create: 322. What this pointer actually does is store the info for an enemies speed, orientation, etc. (but not the DNA!). BF DC 73 01 B8 00 02 00 01 28 00 00 04 00 04 00 FF FF BF DC: Enemy used 73 01: x position -73: x cordinate screen number -01: x position in pixels from screen edge B8 00: y position -B8: y position in pixels from scrren edge -00: y cordinate scrren number 02 00: Orientation 01 28: Special 00 00: Blank space between enemy location and speed (?) 04 00: Speed 04 00: Speed 2 FF FF: End pointer ================================================== ADDING DOORS TO YOUR ROM ================================================== ---Doors Bank--- Bank starts at $83:8000 Bank ends at $83:FFF0 Used ends at $83:AD60 Free starts at $83:AD70 Avaliable banks: 1320 Approx possible doors to create: 1760 ---Pointers Bank--- Bank starts at $8F:8000 Bank ends at $8F:FFF0 Used ends at $8F:E990 Free starts at $8F:E9A0 Avaliable banks: 357. Approx possible door pointers to create: 2856. Controls the number of doors inside a room. First line of bytes are the actual doors, while the second row of bytes are the door pointer (reversed of course) FD 92 00 05 4E 06 04 00 00 80 00 00 FD 92: Room door leads to 00: Bitflag 05: Direction 4E: Xi 06: Yi 04: X 00: Y 00 80: Distance from door 00 00: Scroll pointer All of the above can be edited directly in SMILE. Bank $8F:8000 contains how doors are grouped into a pointer. 16 89 22 89 2E 89 3A 89 00 00 16 89: Door $00 22 89: Door $01 2E 89: Door $02 3A 89: Door $03 00 00: End pointer