Outils pour utilisateurs

Outils du site


back2root:reverse-engineering:planet-x3:memory-map

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
back2root:reverse-engineering:planet-x3:memory-map [2023/01/15 19:59] fraterback2root:reverse-engineering:planet-x3:memory-map [2023/01/15 20:18] (Version actuelle) frater
Ligne 1: Ligne 1:
-====== Planet X3 - Memory Map ======+====== Planet X3 - Part 4 - Memory Map ======
  
  
 +<WRAP group>
 +<WRAP half column center 15%>
 {{drawio>back2root:reverse-engineering:planet-x3:diagram1.png}} {{drawio>back2root:reverse-engineering:planet-x3:diagram1.png}}
 +</WRAP>
 +<WRAP half column>
 +<code asm>
 +main: CALL Timer_Setup_CustomHandler ; Timer_Setup_CustomHandler
 +
 + MOV word ptr [g_Seg_Data],DS ; preserve DS Segment
 +
 + MOV AX,DS
 + ADD AX,0x1000                ; Allocate map Segment (at +0x1000) 
 + MOV [g_Seg_GameMap],AX
 + MOV CX,0x8000                ; map Segment 32Kb
 + CALL mem_clear                ; clear map Memory segment
 +
 + SHR CX,0x1
 + SHR CX,0x1
 + SHR CX,0x1
 + SHR CX,0x1                    ; CX = CX [0x8000] div 16 = 0x800
 + ADD AX,CX
 + MOV [g_Seg_Gfx],AX            ; Allocate graphic Segment (at +0x1800)
 + MOV CX,0xffff                ; Audio Seg : 64Kb
 + CALL mem_clear                ; void mem_clear(void)
 +
 + ADD AX,0x1000
 + MOV [g_Seg_Audio],AX          ; Allocate Temp Segment (at +0x2800)
 + MOV CX,0xc000                ; Temp Size : 48Kb
 + CALL mem_clear                ; void mem_clear(void)
 +
 + SHR CX,0x1
 + SHR CX,0x1
 + SHR CX,0x1
 + SHR CX,0x1
 + ADD AX,CX                    ; 0xc00
 + MOV [g_Seg_Temp],AX          ; temp segment (all above)
 +</code>
 +
 +</WRAP>
 +</WRAP>
 +
 +
 +
  
  
back2root/reverse-engineering/planet-x3/memory-map.1673809146.txt.gz · Dernière modification : 2023/01/15 19:59 de frater