sec_cnt: db 7\r
part_id: db PARTID_CPM\r
timeout: dw 10000\r
-stop_stage: db number_of_stages\r
+stages: db number_of_stages\r
done: db 0\r
result: db 0\r
ide_result: db 0,0\r
\r
-o_part_id equ part_id - para\r
-o_stop_stage equ stop_stage - para\r
-o_done equ done - para\r
-o_result equ result - para\r
+o_part_id equ part_id - para\r
+o_stages equ stages - para\r
+o_done equ done - para\r
+o_result equ result - para\r
\r
;-------------------------------------------------------------------------------\r
\r
pop ix\r
pop de\r
loop:\r
+ dec (ix+o_stages)\r
+ jp m,stop\r
+\r
pop hl\r
push de\r
push hl\r
exx\r
ld (ix+o_result),a\r
or a\r
- jr nz,stop\r
- dec (ix+o_stop_stage)\r
- jr nz,loop\r
+ jr z,loop\r
stop:\r
in a,(Idecmd) ;2\r
ld l,a ;1\r
stack:\r
dw para\r
dw continue\r
-stages:\r
+stage_table:\r
if DO_WAIT_NBSY\r
dw s_wait_not_bsy\r
endif\r
dw s_find_partition\r
dw s_read_sectors\r
dw s_go\r
-number_of_stages equ ($-stages)/2\r
+number_of_stages equ ($-stage_table)/2\r
\r
if DO_WAIT_NBSY\r
;-------------------------------------------------------------------------------\r