Page 2 of 2

Posted: Wed 13 Feb, 2008 7:53 pm
by King Harold
Oh, that wouldn't be very nice ;)
This is my code for LDIR:

Code: Select all

case 0xB0:  //LDIR
    Write(DE, Read(HL));
    DE++;
    HL++;
    BC--;
    flags[Flags.flags.PV] = BC != 0;
    flags[Flags.flags.N] = false;
    flags[Flags.flags.H] = false;
    if (BC != 0)
        PC -= 2;
    break;
edit: oh poo I found the problem, it wasn't hanging at all it was just going too slow (omg) (yes I know I'm stupid)

Posted: Wed 13 Feb, 2008 8:12 pm
by Dwedit
Does it boot past that point?

Posted: Wed 13 Feb, 2008 8:21 pm
by King Harold
Well it stops at 00A6 approximately, where it loops back to 00A0

I tried disassembling it but the disassembler didn't eat it (maybe its too large or something?)

Posted: Wed 13 Feb, 2008 8:29 pm
by Dwedit
It's in a loop waiting for the LCD controller to return bit 7 clear.

Here's the Listing File of the bootloader so you don't need a disassembly.

Posted: Wed 13 Feb, 2008 8:44 pm
by King Harold
Thanx
I'll go fix my LCD lol

edit: well it gets weirder, it gets all through it but then somehow manages to get stuck at 0029

Posted: Wed 13 Feb, 2008 11:25 pm
by Dwedit
That is weird, since 0029 is a bunch of nops.

Posted: Thu 14 Feb, 2008 9:51 am
by King Harold
Yes I know
I'll have to look at that.. the nop code could hardly be broken since there is no code..

edit: well it's not really dead, it's alternating between something else and 0029 but that is still odd