;25.01.2006 ;19:06 ;28c64B only ! ;(c)MTs DivIDE 8K ReFlasher ;MFC (v2) utility org 55296 ent $ START ld hl,(38394) ld (hl),1 call U_ROPN jp c,RET ld hl,16384 ld bc,6912 call CTI ld hl,BUFFER ld bc,1280 call CTI call 9526 call #1700 FLASH di ld a,128 out (227),a call FLASHDIS ld de,16384 ld hl,0 ld bc,6912 call FLASHIT ld de,BUFFER ld bc,1280-1 call FLASHIT ld bc,1 call FLASHENA xor a out (227),a call U_BEEP call U_SHADE jp RET ;28c64B ;dovoluje ochranu proti zapisu ;disable write protection FLASHDIS ld a,#69 ld (#1B86),a ex (sp),hl ex (sp),hl ld a,#96 ld (#0479),a ex (sp),hl ex (sp),hl ld a,#20 ld (#1B86),a ex (sp),hl ex (sp),hl ld a,#69 ld (#1B86),a ex (sp),hl ex (sp),hl ld a,#96 ld (#0479),a ex (sp),hl ex (sp),hl ld a,#08 ld (#1B86),a ld bc,1024 WAITIK dec bc ld a,b or c jr nz,WAITIK ret ;enable write protection FLASHENA ld a,#69 ld (#1B86),a ex (sp),hl ex (sp),hl ld a,#96 ld (#479),a ex (sp),hl ex (sp),hl ld a,#28 ld (#1B86),a ex (sp),hl ex (sp),hl FLASHIT ld a,(de) ld (hl),a push bc call WAIT pop bc jr nz,RETE inc hl inc de dec bc ld a,b or c jr nz,FLASHIT ret WAIT ld b,128 DECB djnz DECB ld bc,768 WAIT1 cp (hl) ret z dec bc inc b dec b jr nz,WAIT1 inc c dec c jr nz,WAIT1 or 255 ret CTI call U_RBYTE jr nc,DALE1 or a jr nz,RET DALE1 ld (hl),a inc hl dec bc ld a,b or c jr nz,CTI ret RETE xor a out (227),a call U_BEEPER call U_SHADE ld hl,T_WRITE jr RETALL RET ld hl,0 RETALL ld bc,1 jp U_RET T_WRITE defm "Flash write " defm 'error!' A0END equ $-START BUFFER defs 1280 ;delka max 2816 bytes! U_RET equ 38346 U_ROPN equ 38355 U_RBYTE equ 38358 U_INKEY equ 38373 U_PMESAG equ 38376 U_SHADE equ 38370 U_BEEP equ 38405 U_BEEPER equ 38408