X-Git-Url: http://cloudbase.mooo.com/gitweb/z180-stamp.git/blobdiff_plain/a2907f2e2b2725679d6b3b8d3231f3d94c325014..a4f40a904ef9475b007e650c2ac501d16346feb1:/z180/cfboot.180 diff --git a/z180/cfboot.180 b/z180/cfboot.180 index d8c39fd..083aa4c 100644 --- a/z180/cfboot.180 +++ b/z180/cfboot.180 @@ -64,15 +64,15 @@ sec_start: db 0 sec_cnt: db 7 part_id: db PARTID_CPM timeout: dw 10000 -stop_stage: db number_of_stages +stages: db number_of_stages done: db 0 result: db 0 ide_result: db 0,0 -o_part_id equ part_id - para -o_stop_stage equ stop_stage - para -o_done equ done - para -o_result equ result - para +o_part_id equ part_id - para +o_stages equ stages - para +o_done equ done - para +o_result equ result - para ;------------------------------------------------------------------------------- @@ -81,6 +81,9 @@ start: pop ix pop de loop: + dec (ix+o_stages) + jp m,stop + pop hl push de push hl @@ -91,9 +94,7 @@ continue: exx ld (ix+o_result),a or a - jr nz,stop - dec (ix+o_stop_stage) - jr nz,loop + jr z,loop stop: in a,(Idecmd) ;2 ld l,a ;1 @@ -133,7 +134,7 @@ part_start: stack: dw para dw continue -stages: +stage_table: if DO_WAIT_NBSY dw s_wait_not_bsy endif @@ -145,7 +146,7 @@ stages: dw s_find_partition dw s_read_sectors dw s_go -number_of_stages equ ($-stages)/2 +number_of_stages equ ($-stage_table)/2 if DO_WAIT_NBSY ;-------------------------------------------------------------------------------