More work on CPU
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package gb
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"image"
|
||||
"image/color"
|
||||
)
|
||||
@@ -17,13 +18,28 @@ type Console struct {
|
||||
}
|
||||
|
||||
func NewConsole(path string) (*Console, error) {
|
||||
cartridge, err := InsertCartridge(path)
|
||||
cart, err := InsertCartridge(path)
|
||||
if err != nil {
|
||||
return &Console{}, err
|
||||
}
|
||||
|
||||
fmt.Println("Cartridge loaded:")
|
||||
fmt.Printf("\t Title : %s\n", cart.Title)
|
||||
fmt.Printf("\t Type : %02X (%s)\n", cart.Header.CartridgeType, cart.Mapper)
|
||||
fmt.Printf("\t ROM Size : %d KB\n", cart.ROMSize)
|
||||
fmt.Printf("\t RAM Size : %02X (%s)\n", cart.Header.RAMSize, cart.RAMSize)
|
||||
fmt.Printf("\t LIC Code : %02X (%s)\n", cart.Header.OldLicenseeCode, cart.Licensee)
|
||||
fmt.Printf("\t ROM Vers : %02X\n", cart.Header.MaskROMVersionNumber)
|
||||
fmt.Printf("\t Checksum : %02X ", cart.Checksum)
|
||||
if cart.Checksum == cart.Header.Checksum {
|
||||
fmt.Printf("(PASSED)\n")
|
||||
} else {
|
||||
fmt.Printf("(FAILED)\n")
|
||||
}
|
||||
|
||||
buffer := image.NewRGBA(image.Rect(0, 0, ConsoleWidth, ConsoleHeight))
|
||||
|
||||
bus := NewBus(cartridge)
|
||||
bus := NewBus(cart)
|
||||
console := Console{Bus: bus, CPU: NewCPU(bus), front: buffer}
|
||||
|
||||
return &console, nil
|
||||
|
||||
Reference in New Issue
Block a user