Power On + SRAM clear now works.
This commit is contained in:
@@ -81,7 +81,7 @@ Header
|
|||||||
2 bytes - Length of author name
|
2 bytes - Length of author name
|
||||||
3 bytes - ZST size
|
3 bytes - ZST size
|
||||||
1 byte - Flag Byte
|
1 byte - Flag Byte
|
||||||
2 bits - Start from ZST/Power On/Reset
|
2 bits - Start from ZST/Power On/Reset/Power On + Clear SRAM
|
||||||
1 bit - NTSC or PAL
|
1 bit - NTSC or PAL
|
||||||
5 bits - Reserved
|
5 bits - Reserved
|
||||||
ZST size - ZST (no thumbnail)
|
ZST size - ZST (no thumbnail)
|
||||||
@@ -160,7 +160,7 @@ ZMV header types, vars, and functions
|
|||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
enum zmv_start_methods { zmv_sm_zst, zmv_sm_power, zmv_sm_reset };
|
enum zmv_start_methods { zmv_sm_zst, zmv_sm_power, zmv_sm_reset, zmv_sm_clear_all };
|
||||||
enum zmv_video_modes { zmv_vm_ntsc, zmv_vm_pal };
|
enum zmv_video_modes { zmv_vm_ntsc, zmv_vm_pal };
|
||||||
|
|
||||||
#define INT_CHAP_SIZE (cur_zst_size+4+8)
|
#define INT_CHAP_SIZE (cur_zst_size+4+8)
|
||||||
@@ -226,6 +226,11 @@ static void zmv_header_write(struct zmv_header *zmv_head, FILE *fp)
|
|||||||
flag &= ~BIT(7);
|
flag &= ~BIT(7);
|
||||||
flag |= BIT(6);
|
flag |= BIT(6);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case zmv_sm_clear_all:
|
||||||
|
flag |= BIT(7);
|
||||||
|
flag |= BIT(6);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (zmv_head->zmv_flag.video_mode)
|
switch (zmv_head->zmv_flag.video_mode)
|
||||||
@@ -287,7 +292,7 @@ static bool zmv_header_read(struct zmv_header *zmv_head, FILE *fp)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case BIT(7)|BIT(6):
|
case BIT(7)|BIT(6):
|
||||||
return(false);
|
zmv_head->zmv_flag.start_method = zmv_sm_clear_all;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -589,6 +594,9 @@ static void zmv_create(char *filename)
|
|||||||
asm_call(GUIDoReset);
|
asm_call(GUIDoReset);
|
||||||
ReturnFromSPCStall = 0;
|
ReturnFromSPCStall = 0;
|
||||||
break;
|
break;
|
||||||
|
case zmv_sm_clear_all:
|
||||||
|
powercycle(false);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
zst_save(zmv_vars.fp, false);
|
zst_save(zmv_vars.fp, false);
|
||||||
@@ -779,6 +787,10 @@ static bool zmv_open(char *filename)
|
|||||||
ReturnFromSPCStall = 0;
|
ReturnFromSPCStall = 0;
|
||||||
zst_sram_load(zmv_vars.fp);
|
zst_sram_load(zmv_vars.fp);
|
||||||
break;
|
break;
|
||||||
|
case zmv_sm_clear_all:
|
||||||
|
powercycle(false);
|
||||||
|
fseek(zmv_vars.fp, cur_zst_size, SEEK_CUR);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
zmv_open_vars.input_start_pos = ftell(zmv_vars.fp);
|
zmv_open_vars.input_start_pos = ftell(zmv_vars.fp);
|
||||||
|
|||||||
Reference in New Issue
Block a user