# pce-sim405.cfg
#
# Example config file

section sim405 {
	section powerpc {
		model = "ppc405"

		# for linux 2.6
		uic_invert = 0x7f

		# for linux 2.4 (bug in linux)
		#uic_invert = 0x7e
	}

	# Multiple "ram" sections may be present
	section ram {
		# The linear base address
		address = 0x00000000

		# The size in bytes
		size = 0x04000000
		
		# The RAM image that is used to initialize the RAM
		file = "linux.bin"
	}

	# Multiple "rom" sections may be present
	section rom {
		# The file from which the rom code is loaded
		file = "sim405.rom"

		# The linear base address
		address = 0xffff0000

		# The rom size in bytes
		size = 65536
	}

	# load sections are processed after the emulator is set up.
	section load {
		format = "ihex"
		file = "sim405.ihex"
	}

	section load {
		format = "binary"
		file = "rom.bin"
		address = 0xffff0000
	}

	section device {
		type = "ds1743"
		address = 0xf0000000
		size = 8192
		file = "ds1743.bin"
	}

	# Up to two "serial" sections may be present. The first is
	# UART0, the second UART1. If the base addresses are changed,
	# linux won't find the UARTs
	section serial {
		address = 0xef600300
		irq = 0
		
		# Up to multichar characters are sent or received
		# without any transmission delay. For a real serial port
		# this value is 1 but larger values can speed up
		# transmission.
		multichar = 1

		# Not all character drivers are supported on
		# all platforms.
		#driver = "null"
		driver = "stdio:file=uart0.out"
		#driver = "tios:file=/dev/ttyS0"
	}

	section serial {
		address = 0xef600400
		irq = 1

		multichar = 1

		driver = "stdio:file=uart1.out"
	}

	section sercons {
		serial = 0
	}

	section slip {
		serial = 1
		interface = "tun0"
	}

	section disk {
		drive = 0
		type = "dosemu"
		file = "hda.img"
		readonly = 0
	}

	section pci_ata {
		pci_device = 4
		pci_irq = 31

		section device {
			model = "PCEDISK"
			channel = 0
			device = 0
			drive = 0
			multi_count_max = 16
		}
	}
}
