Lors de sa video Planet X3 Status Update - Part 3, David, The8bitGuy, a présenter une petite partie du code du jeu; j'ai reproduit ici cette partie :
[snip] JE >L3 CALL Draw_Unit_Working RET L3: MOV AL,Unit_Type[SI] CMP AL,1 ; builder JNE >L5 CALL Draw_Status_Builder RET L5: CMP AL,22 ; power station JNE >L6 CALL Draw_Status_Power_Station RET L6: CMP AL,23 ; Solar Panel JNE >L7 CALL Draw_Status_Solar_Panel RET L7: CMP AL,26 ; Missile Silo JNE >L8 CALL Draw_Status_Missile_Silo RET L8: CMP AL,20 ; headQuarters JNE >L9 CALL Draw_Status_HeadQuarters RET L9: CMP AL,27 JNE >L10 CALL Draw_Status_Smelter RET L10: RET Draw_Status_Smelter: MOV AL,Selected_Unit MOV AL,0 MOV SI,AX CMP Unit_AL[SI],8 JNE >L2 MOV SI,OFFSET Text_Smelter1 MOV DI,7552 CALL Write_Text MOV SI,OFFSET Text_Smelter2 MOV DI,7790 CALL Write_Text L2: RET Draw_Status_HeadQuarters: MOV SI,OFFSET Text_ComCen1 MOV DI,7550 CALL Write_Text MOV SI,OFFSET Text_ComCen2 MOV DI,7790 CALL Write_Text ; Display Number of unit MOV AL,Unit_Count_PlUnits MOV HexNum,AL MOV DI,7568 CALL Write_DecNum ; Display Number of Buildings MOV AL,Unit_Count_PlBldg MOV HexNum,AL CALL Write_DecNum RET Draw_Status_Missile_Silo: MOV SI,OFFSET Text_Missile6 MOV DI,7550 CALL Write_Text MOV SI,OFFSET Text_Missile7 MOV DI,7790 CALL Write_Text ; Find Target X Cordinate MOV AL,Selected_Unit MOV AH,0 MOV SI,AX MOV AL,Unit_Dest_X[SI] MOV HexNum,AL MOV DI,7794 CALL Write_DecNum ; Find Target Y Cordinate MOV AL,Selected_Unit MOV AH,0 MOV SI,AX MOV AL,Unit_Dest_Y[SI] MOV HexNum,AL MOV DI,7806 CALL Write_DecNum ; Check if Armed MOV AL,Selected_Unit MOV AH,0 MOV SI,AX CMP Unit_Gen_A[SI],0 JE >L1 MOV DI,7318 MOV SI,OFFSET Text_Missile8 CALL Write_Text L1: RET Draw_Status_Solar_Panel: MOV AL,Unit_Gen_A[SI] CMP AL,0 JE >L1 MOV HexNum,AL MOV DI,7804 CALL Write_DecNum MOV SI,OFFSET Text_ConPanel3 MOV SI,7550 CALL Write_Text MOV SI,OFFSET Text_ConPanel4 MOV DI,7790 CALL Write_Text RET L1: ; Not Connected MOV SI,OFFSET Text_ConPanel5 MOV DI,7550 CALL Write_Text MOV SI,OFFSET Text_ConPanel6 MOV DI,7790 CALL Write_Text RET Draw_Status_Power_Station: MOV AL,Unit_Gen_A[SI] MOV HexNum,AL MOV DI,7804 CALL Write_DecNum MOV SI,OFFSET Text_ConPanel1 MOV DI,7550 CALL Write_Text MOV SI,OFFSET Text_ConPanel2 MOV DI,7790 CALL Write_Text RET Draw_Status_Builder: MOV AL,Unit_Gen_C[SI] MOV Temp_A,AL CMP AL,0 JE >L5 MOV SI,OFFSET Text_Carrying MOV DI,7550 CALL Write_Text MOV DI,7328 CALL UnplotCursorSkip L5: RET Draw_Status_Browse: MOV DI,6590 MOV SI,OFFSET Text_BrowseMode CALL Write_Text MOV DI,7550 CALL Write_Title_Name MOV DI,6840 MOV AL,Selected_Tile MOV Temp_A,AL CALL UnplotCursorSkip RET Draw_Command_Window: CALL Clear_Command_Window MOV AL,Selected_Unit MOV AH,0 MOV SI,AX CMP Unit_Type[SI],0 ; is unit Dead? JNE >B0 RET B0: [snip]