mirror of
https://github.com/ksherlock/ample.git
synced 2026-01-22 16:16:02 +00:00
macintosh lc support
This commit is contained in:
@@ -21,6 +21,9 @@ MACHINES = (
|
||||
"zijini",
|
||||
# China Education Computer
|
||||
"cec2000", "cece", "cecg", "ceci", "cecm",
|
||||
|
||||
# macintosh...
|
||||
"maclc"
|
||||
)
|
||||
|
||||
|
||||
@@ -32,5 +35,9 @@ SLOTS = (
|
||||
"rs232",
|
||||
"gameio",
|
||||
"printer",
|
||||
"modem"
|
||||
"modem",
|
||||
|
||||
# mac nubus
|
||||
"nb1", "nb2", "nb3", "nb4", "nb5", "nb6", "nb7",
|
||||
"nb8", "nb9", "nba", "nbb", "nbc", "nbd", "nbe",
|
||||
)
|
||||
|
||||
@@ -7,6 +7,18 @@ import xml.etree.ElementTree as ET
|
||||
|
||||
from machines import MACHINES, SLOTS
|
||||
|
||||
# macintosh errata:
|
||||
# maclc has scsi:1 - scsi:7 and lcpds slots, but none are currently configurable.
|
||||
# maciifx has scsi:1 - scsi:7 (not configurable)
|
||||
# maciifx has "nb9", "nba" - "nbe" as configurable nubus slots
|
||||
#
|
||||
# w/ nubus, can specify video card which may have different resolution.
|
||||
#
|
||||
# Inside Macintosh: Devices chapter 2 explains the Nubus slot name scheme
|
||||
# (essentially $01-$0e; $0 and $f are reserved)
|
||||
#
|
||||
|
||||
|
||||
# don't allow these for now. generally because they add floppy/hard drives
|
||||
# but don't work with normal disk images
|
||||
DISABLED = set((
|
||||
@@ -43,6 +55,9 @@ def find_machine_media(parent):
|
||||
"apple2_cass": "cass",
|
||||
"floppy_5_25": "flop_5_25",
|
||||
"floppy_3_5": "flop_3_5",
|
||||
# mac
|
||||
"scsi_hdd": "hard",
|
||||
"cdrom": "cdrm",
|
||||
}
|
||||
media = {}
|
||||
for x in parent.findall("./device"):
|
||||
@@ -68,6 +83,9 @@ def find_machine_media(parent):
|
||||
|
||||
if mname == "apple2c" and slot == "sl6": slot = None
|
||||
|
||||
# hack for now - these are scsi:1-7 slots but slot option isn't adjustable.
|
||||
if mname == "maclc" and slot == "scsi": slot = None
|
||||
|
||||
if slot: continue
|
||||
# skip slot devices -- they'll be handled as part of the device.
|
||||
#if ":" in tag and tag[0] not in "0123456789": continue
|
||||
@@ -196,7 +214,9 @@ for m in machines:
|
||||
|
||||
# node = machine.find('display[@tag="screen"]')
|
||||
node = machine.find('./display')
|
||||
data["resolution"] = [int(node.get("width")), int(node.get("height")) * 2]
|
||||
hscale = 2
|
||||
if m in ("maclc"): hscale = 1
|
||||
data["resolution"] = [int(node.get("width")), int(node.get("height")) * hscale]
|
||||
|
||||
mm = {}
|
||||
for x in root.findall("machine[@isdevice='yes']"):
|
||||
|
||||
@@ -24,6 +24,8 @@ iie_clones_children = ["mprof3", "prav8c", "spectred", "zijini"]
|
||||
cec_children = ["cec2000", "cece", "cecg", "ceci", "cecm"]
|
||||
agat_children = ["agat7", "agat9"]
|
||||
|
||||
mac_nubus_children = ["maclc"]
|
||||
|
||||
tree = [
|
||||
("Apple I", "apple1", apple1_children),
|
||||
("Apple ][", "apple2", apple2_children),
|
||||
@@ -36,6 +38,7 @@ tree = [
|
||||
("Laser", "laser128", laser_children),
|
||||
("Agat", "agat7", agat_children),
|
||||
("China Education Computer", None, cec_children),
|
||||
("Macintosh (NuBus)", "maclc", mac_nubus_children)
|
||||
]
|
||||
|
||||
env = {'DYLD_FALLBACK_FRAMEWORK_PATH': '../embedded'}
|
||||
|
||||
@@ -62,12 +62,18 @@ ym2608
|
||||
a2grapplerplus
|
||||
a2pic
|
||||
|
||||
# .227
|
||||
a2parprn
|
||||
a2suprterm
|
||||
a2uniprint
|
||||
ccs7710
|
||||
|
||||
#.228
|
||||
aprissi
|
||||
|
||||
# macintosh
|
||||
maclc
|
||||
egret
|
||||
""".splitlines()
|
||||
|
||||
#
|
||||
@@ -79,6 +85,7 @@ aprissi
|
||||
#
|
||||
|
||||
ROMS = [x for x in ROMS if x != ""]
|
||||
ROMS = [x for x in ROMS if x[0] != "#"]
|
||||
ROMS.sort()
|
||||
|
||||
data = {}
|
||||
|
||||
Reference in New Issue
Block a user