Sylvanian Melodies ASM RB1
aus RHWiki, der freien Romhacking-Enzyklopädie
| Inhaltsverzeichnis |
Deutsche Version
PNT - Pointertabelle
TBLn - Tabelle mit Werten mit je n Bytes pro Eintrag
- 0344 - RBG-Werte aus Liste D001 / D00B laden
- 0353 - Tilemaproutine 9800
- bc = xy e = Index
- Index in PNT @ 1F:4000 zu Daten im RLE-Format
- 0358 - Tilemaproutine 9C00 (?)
- bc = xy e = Index
- Index in PNT @ 1F:4000 zu Daten im RLE-Format
- 0366 - Spritebereich leeren
- 0369 - Bildschirm 9800 leeren (00)
- 0379 - Grafik laden
- a = Index
- Index in PNT @ 00:1670 zeigt auf [Bank][Quelle][Ziel]
- 0397 - Farbüberblendung
- a = Modus (0 - 3)
- 0 = von weiß blenden
- 1 = nach weiß blenden
- 2 = von schwarz blenden
- 3 = nach schwarz blenden
- 03AB - BG-Paletten laden
- a = Index
- Index in PNT @ 0F:4000 auf Palettennummern
- 03B0 - OBJ-Paletten laden
- a = Index
- Index in PNT @ 0F:4F98 auf Palettennummern
- 03B5 - Große Charaktersprites animieren (?)
- 03C5 - OAM-Symbol laden
- a = Index hl = Ziel in VRAM
- Index in PNT @ 07:4000
- 040B - Farbmaproutine 9800
- bc = xy e = Index
- Index in PNT @ 19:4000 zu Daten im RLE-Format
- 048C - Knopfdruckabfrage (?)
- 0890 - Grafik dekomprimieren
- 0A39 - Hauptroutine +1
- 0A41 - Unterroutine +1
- 0B89 - testet ob hl im Bildschirmbereich ist und korrigiere Zeilenanfangsoffsets zu einer Zeile tiefer
- hl = BG-Bildschirmoffset
- a = 0 Bildschirm 9800
- a<> 0 Bildschirm 9C00
- 0BC4 - testet ob aktuelle Zeile (hl) im Bildschirmbereich ist und korrigiert hl wenn nicht
- hl = BG-Bildschirmoffset
- a = 0 Bildschirm 9800
- a<> 0 Bildschirm 9C00
- 11D6 - Farbübertragung von DE00/DE40
- 1CE9 - Hauptroutine aus Mainloop aufrufen @
- Bank: [C5C0] + 00:1D6C
- Call: [C5C0]*2+00:1D12
- C5C0:
- 2B = Outro
- 2C = Credits
- C5C0:
English Version
PNT - pointer table
TBLn - table with specific values with n bytes per entry
- 0344 - transfer rbg values from palette list D001 / D00B
- 0353 - tilemap routine 9800
- bc = xy e = index
- index in PNT @ 1F:4000 in RLE format
- 0358 - tilemap routine 9C00 (?)
- bc = xy e = index
- index in PNT @ 1F:4000 in RLE format
- 0366 - clear sprite area
- 0369 - clear(00) Screen 9800
- 0379 - gfx load
- a = index
- index in PNT @ 00:1670 points to [Bank][source][destination]
- 0397 - palette fading
- a = Mode (0 - 3)
- 0 = fade from white
- 1 = fade to white
- 2 = fade from black
- 3 = fade to black
- 03AB - bg palette load
- a = index
- index in PNT @ 0F:4000 to palette numbers
- 03B0 - obj palette load
- a = index
- index in PNT @ 0F:4F98 to palette numbers
- 03B5 - animates big character animation (?)
- 03C5 - OAM Symbol load
- a = index hl = destination in VRAM
- index in PNT @ 07:4000
- 040B - colormap routine 9800
- bc = xy e = index
- index in PNT @ 19:4000 in RLE format
- 048C - get key press information (?)
- 0890 - gfx decomp
- 0A39 - main routine +1
- 0A41 - inner routine +1
- 0B89 - check if hl is in current screen and reset line start to one line lower
- hl = bg screen offset
- a = 0 screen 9800
- a<> 0 screen 9C00
- 0BC4 - check if current line is in screen and correct if not
- hl = bg screen offset
- a = 0 screen 9800
- a<> 0 screen 9C00
- 11D6 - color transfer from DE00/DE40
- 1CE9 - in main loop calling main routines @
- Bank: [C5C0] + 00:1D6C
- Call: [C5C0]*2+00:1D12
- C5C0:
- 2B = outro
- 2C = credits
- C5C0:

