Adding unenhanced Apple IIe

This commit is contained in:
Ivan Izaguirre 2019-10-21 00:06:28 +02:00 committed by Iván Izaguirre
parent d5433ad8d9
commit 5a3dcc60bb
5 changed files with 43 additions and 5 deletions

View File

@ -107,8 +107,6 @@ Only valid on SDL mode
### Command line options
```
-base64a
setup a Base64A clone
-charRom string
rom file for the character generator (default "<internal>/Apple2rev7CharGen.rom")
-disk string
@ -129,6 +127,8 @@ Only valid on SDL mode
slot for the 16kb language card. -1 for none
-mhz float
cpu speed in Mhz, use 0 for full speed. Use F5 to toggle. (default 1.0227142857142857)
-model string
set base model. Models available 2plus, 2e, 2enh, base64a (default "2e")
-mono
emulate a green phosphor monitor instead of a NTSC color TV. Use F6 to toggle.
-panicss

View File

@ -22,6 +22,22 @@ func newApple2plus() *Apple2 {
return &a
}
func newApple2e() *Apple2 {
var a Apple2
a.Name = "Apple IIe"
a.mmu = newMemoryManager(&a)
a.cpu = core6502.NewCMOS65c02(a.mmu)
// Set the io in 0xc000
a.io = newIoC0Page(&a)
a.mmu.setPages(0xc0, 0xc0, a.io)
addApple2SoftSwitches(a.io)
addApple2ESoftSwitches(a.io)
return &a
}
func newApple2eEnhanced() *Apple2 {
var a Apple2

View File

@ -85,8 +85,8 @@ func MainApple() *Apple2 {
)
model := flag.String(
"model",
"2plus",
"set base model. Models available 2plus, 2e, base64a",
"2e",
"set base model. Models available 2plus, 2e, 2enh, base64a",
)
profile := flag.Bool(
"profile",
@ -110,6 +110,17 @@ func MainApple() *Apple2 {
charGenMap = charGenColumnsMap2Plus
case "2e":
a = newApple2e()
if *romFile == defaultInternal {
*romFile = "<internal>/Apple2e.rom"
}
if *charRomFile == defaultInternal {
*charRomFile = "<internal>/Apple IIe Video Unenhanced - 342-0133-A - 2732.bin"
}
a.isApple2e = true
charGenMap = charGenColumnsMap2e
case "2enh":
a = newApple2eEnhanced()
if *romFile == defaultInternal {
*romFile = "<internal>/Apple2e_Enhanced.rom"

View File

@ -43,6 +43,9 @@ func newSDLJoysticks() *sdlJoysticks {
j.paddle[2] = 128
j.paddle[3] = 128
// To enter Apple IIe on self test mode
//j.keys[1] = true
return &j
}

File diff suppressed because one or more lines are too long