Skip to content

Commit

Permalink
ELF arguments to main corrected
Browse files Browse the repository at this point in the history
TV Type set to either NTSC or PAL. Defaults to NTSC

ARM clock speed set correctly
  • Loading branch information
JetSetIlly committed May 20, 2024
1 parent f3f6008 commit d7c71fd
Showing 1 changed file with 14 additions and 5 deletions.
19 changes: 14 additions & 5 deletions hardware/memory/cartridge/elf/elf.go
Original file line number Diff line number Diff line change
Expand Up @@ -236,11 +236,20 @@ func (cart *Elf) reset() {
}

// set arguments for initial execution of ARM program
cart.mem.args[argAddrSystemType-argOrigin] = argSystemType_NTSC
cart.mem.args[argAddrClockHz-argOrigin] = 0xef
cart.mem.args[argAddrClockHz-argOrigin+1] = 0xbe
cart.mem.args[argAddrClockHz-argOrigin+2] = 0xad
cart.mem.args[argAddrClockHz-argOrigin+3] = 0xde
systemType := argSystemType_NTSC
switch cart.env.TV.GetSpecID() {
case "NTSC":
systemType = argSystemType_NTSC
case "PAL":
systemType = argSystemType_PAL
default:
systemType = argSystemType_NTSC
}

binary.LittleEndian.PutUint32(cart.mem.args[argAddrSystemType-argOrigin:], uint32(systemType))
binary.LittleEndian.PutUint32(cart.mem.args[argAddrClockHz-argOrigin:], uint32(cart.arm.Clk))
binary.LittleEndian.PutUint32(cart.mem.args[argAddrFlags-argOrigin:], uint32(0x00))

cart.arm.SetInitialRegisters(argOrigin)
}

Expand Down

0 comments on commit d7c71fd

Please sign in to comment.