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:58] 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}} 
 +</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> 
  
  
-{{drawio>back2root:reverse-engineering:planet-x3:diagram1.png |}} 
  
  
back2root/reverse-engineering/planet-x3/memory-map.1673809139.txt.gz · Dernière modification : 2023/01/15 19:58 de frater