comparison vm.h @ 120:66ca475e2a5a src

- provide the means to make copies of the VM to try certain operations on a copy and merge the changes back on success - do not trigger an assertion when falling off a program chain, but stop the VM
author mroi
date Wed, 12 Mar 2003 11:38:11 +0000
parents b6834e6359cf
children d09a81cf65ce
comparison
equal deleted inserted replaced
119:bd8601b74c3d 120:66ca475e2a5a
111 #define HL_BTNN_REG registers.SPRM[8] 111 #define HL_BTNN_REG registers.SPRM[8]
112 /* Parental Level */ 112 /* Parental Level */
113 #define PTL_REG registers.SPRM[13] 113 #define PTL_REG registers.SPRM[13]
114 114
115 /* Initialisation & destruction */ 115 /* Initialisation & destruction */
116 vm_t* vm_new_vm(); 116 vm_t *vm_new_vm();
117 void vm_free_vm(vm_t *vm); 117 void vm_free_vm(vm_t *vm);
118 118
119 /* IFO access */ 119 /* IFO access */
120 ifo_handle_t *vm_get_vmgi(vm_t *vm); 120 ifo_handle_t *vm_get_vmgi(vm_t *vm);
121 ifo_handle_t *vm_get_vtsi(vm_t *vm); 121 ifo_handle_t *vm_get_vtsi(vm_t *vm);
125 125
126 /* Basic Handling */ 126 /* Basic Handling */
127 void vm_start(vm_t *vm); 127 void vm_start(vm_t *vm);
128 void vm_stop(vm_t *vm); 128 void vm_stop(vm_t *vm);
129 int vm_reset(vm_t *vm, const char *dvdroot); 129 int vm_reset(vm_t *vm, const char *dvdroot);
130
131 /* copying and merging - useful for try-running an operation */
132 vm_t *vm_new_copy(vm_t *vm);
133 void vm_merge(vm_t *target, vm_t *source);
134 void vm_free_copy(vm_t *vm);
130 135
131 /* regular playback */ 136 /* regular playback */
132 void vm_position_get(vm_t *vm, vm_position_t *position); 137 void vm_position_get(vm_t *vm, vm_position_t *position);
133 void vm_get_next_cell(vm_t *vm); 138 void vm_get_next_cell(vm_t *vm);
134 139