Do you see any errors in the error console? Which browser are you using? I'll do my best to replicate your results.
/** Erases a sector
*
* Given a page, the sector will be erased
* @warning Do not use this directly
*
* @param page Page in the sector to be erased
*/
void flashErase(unsigned char page) __naked
{
page;
#ifdef SDCC
__asm
di
ld hl,#__flashErase_start
ld bc,#(__flashErase_end-__flashErase_start)
ld de,#0xf000
ldir
pop bc
pop hl
push hl
push bc
push hl
call #0xF000
pop hl
ei
ret
__endasm;
#endif
void _flashErase(byte page)
{
char *f1 = (void*)0x6AAA; // Page 2
char *f2 = (void*)0x5555; // Page 1
byte *spot = (byte*)0x4444;
char oldpage = Port_Mem_B1;
// Dont' do something stupid
if(page > 0x67)
return;
//ASSERT(page < 0x08 || page > 0x67, "flashErase: Page out of range!");
// Electro-Disco -- Thanks PongOS!
Port_Mem_B1 = 0x02;
*f1 = 0xAA;
Port_Mem_B1 = 0x01;
*f2 = 0x55;
Port_Mem_B1 = 0x02;
*f1 = 0x80;
*f1 = 0xAA;
Port_Mem_B1 = 0x01;
*f2 = 0x55;
Port_Mem_B1 = page;
*spot = 0x30;
while(*spot != 0xFF)
{}
Port_Mem_B1 = oldpage;
}
f000: call $390f
f003: pop af
f004: pop bc
f005: ld e,l
f006: push de
f007: push bc
f008: call $379c
f00b: pop af
f00c: pop de
f00d: ld a,$3f
f00f: sub e
f010: jr nc,$3
f012: ld l,$3
f014: ret
f015: ld l,e
f016: ret
f017: ld l,$30
f019: ret
f01a: cpl
f01b: ld h,l
f01c: ld (hl),h
f01d: ld h,e
f01e: cpl
f01f: ld h,e
f020: ld l,a
f021: ld l,(hl)
f022: ld (hl),h
f023: ld (hl),d
f024: ld h,c
f025: ld (hl),e
f026: ld (hl),h
f027: nop
f028: ld a,($50)
f02b: cp $ff
f02d: ret nz
f02e: ld de,$f000
f031: ld hl,$307e
f034: ld bc,$45
f037: ldir
f039: call $f000
f03c: ret
f03d: ld a,$aa
f03f: ld ($aaa),a
f042: ld a,$55
f044: ld ($555),a
f047: ld a,$90
f049: ld ($aaa),a
f04c: ld a,($0)
f04f: cp $c2
Uncaught RangeError: Maximum call stack size exceeded
i6_read_normal
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
z8_interrupt_fire
timer_expired
z8_step
Advertisement
Advertisement