macintosh lc support

This commit is contained in:
Kelvin Sherlock 2021-01-17 00:56:42 -05:00
parent 2046eed6f4
commit bfa371ec0c
8 changed files with 139 additions and 2 deletions

View File

@ -112,6 +112,8 @@
B6D6DE3B24FACF4F00661A5F /* Defaults.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6D6DE3A24FACF4F00661A5F /* Defaults.plist */; };
B6D6DE3E24FADF8B00661A5F /* LaunchWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = B6D6DE3C24FADF8B00661A5F /* LaunchWindow.xib */; };
B6D6DE4124FADFAC00661A5F /* LaunchWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = B6D6DE4024FADFAC00661A5F /* LaunchWindowController.m */; };
B6DD1FE825B407E7004A3242 /* maclc.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6DD1FE725B407E6004A3242 /* maclc.plist */; };
B6DD1FE925B407E7004A3242 /* maclc.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6DD1FE725B407E6004A3242 /* maclc.plist */; };
B6DDECC025057A550093587A /* drag-handle-4x10.png in Resources */ = {isa = PBXBuildFile; fileRef = B6DDECBD25057A550093587A /* drag-handle-4x10.png */; };
B6DDECC125057A550093587A /* drag-handle-4x10.png in Resources */ = {isa = PBXBuildFile; fileRef = B6DDECBD25057A550093587A /* drag-handle-4x10.png */; };
B6DDECC225057A550093587A /* drag-handle-4x10@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B6DDECBE25057A550093587A /* drag-handle-4x10@2x.png */; };
@ -352,6 +354,7 @@
B6D6DE3D24FADF8B00661A5F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchWindow.xib; sourceTree = "<group>"; };
B6D6DE3F24FADFAC00661A5F /* LaunchWindowController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LaunchWindowController.h; sourceTree = "<group>"; };
B6D6DE4024FADFAC00661A5F /* LaunchWindowController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LaunchWindowController.m; sourceTree = "<group>"; };
B6DD1FE725B407E6004A3242 /* maclc.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = maclc.plist; sourceTree = "<group>"; };
B6DDECBD25057A550093587A /* drag-handle-4x10.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "drag-handle-4x10.png"; sourceTree = "<group>"; };
B6DDECBE25057A550093587A /* drag-handle-4x10@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "drag-handle-4x10@2x.png"; sourceTree = "<group>"; };
B6DDECBF25057A550093587A /* drag-handle-4x10@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "drag-handle-4x10@3x.png"; sourceTree = "<group>"; };
@ -457,6 +460,7 @@
B61099FA24F5F370005CB652 /* uniap2en.plist */,
B61099EE24F5F36E005CB652 /* uniap2pt.plist */,
B6109A0224F5F371005CB652 /* uniap2ti.plist */,
B6DD1FE725B407E6004A3242 /* maclc.plist */,
B63C1F1125B147E10016A611 /* CheatSheet.html */,
);
path = Resources;
@ -731,6 +735,7 @@
B6109A4124F5F377005CB652 /* apple2cp.plist in Resources */,
B6BA258524E99BEB005FB8FF /* MainMenu.xib in Resources */,
B6109A3A24F5F377005CB652 /* prav82.plist in Resources */,
B6DD1FE825B407E7004A3242 /* maclc.plist in Resources */,
B6109A2024F5F377005CB652 /* apple2euk.plist in Resources */,
B6109A2F24F5F377005CB652 /* uniap2ti.plist in Resources */,
B6DDECD42505A86E0093587A /* eject-hover-16x16@3x.png in Resources */,
@ -833,6 +838,7 @@
B6E4B5DE24FDE2670094A35C /* mprof3.plist in Resources */,
B6E4B5DF24FDE2670094A35C /* basis108.plist in Resources */,
B6DDECD52505A86E0093587A /* eject-hover-16x16@3x.png in Resources */,
B6DD1FE925B407E7004A3242 /* maclc.plist in Resources */,
B6E4B5E024FDE2670094A35C /* agat7.plist in Resources */,
B6E4B5E124FDE2670094A35C /* elppa.plist in Resources */,
B6E4B5E224FDE2670094A35C /* apple2gsr1.plist in Resources */,

View File

@ -0,0 +1,77 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>value</key>
<string>maclc</string>
<key>description</key>
<string>Macintosh LC</string>
<key>ram</key>
<array>
<dict>
<key>intValue</key>
<integer>2097152</integer>
<key>description</key>
<string>2M</string>
<key>value</key>
<string>2M</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>intValue</key>
<integer>4194304</integer>
<key>description</key>
<string>4M</string>
<key>value</key>
<string>4M</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>intValue</key>
<integer>6291456</integer>
<key>description</key>
<string>6M</string>
<key>value</key>
<string>6M</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>intValue</key>
<integer>8388608</integer>
<key>description</key>
<string>8M</string>
<key>value</key>
<string>8M</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>intValue</key>
<integer>10485760</integer>
<key>description</key>
<string>10M</string>
<key>value</key>
<string>10M</string>
<key>default</key>
<false/>
</dict>
</array>
<key>media</key>
<dict>
<key>flop_3_5</key>
<integer>2</integer>
<key>hard</key>
<integer>2</integer>
<key>cdrm</key>
<integer>1</integer>
</dict>
<key>resolution</key>
<array>
<integer>640</integer>
<integer>480</integer>
</array>
</dict>
</plist>

View File

@ -377,5 +377,20 @@
</dict>
</array>
</dict>
<dict>
<key>description</key>
<string>Macintosh (NuBus)</string>
<key>value</key>
<string>maclc</string>
<key>children</key>
<array>
<dict>
<key>description</key>
<string>Macintosh LC</string>
<key>value</key>
<string>maclc</string>
</dict>
</array>
</dict>
</array>
</plist>

View File

@ -68,8 +68,10 @@
<string>cmsscsi</string>
<string>d2fdc</string>
<string>diskii13</string>
<string>egret</string>
<string>keytronic_pc3270</string>
<string>m68705p3</string>
<string>maclc</string>
<string>qsound</string>
<string>votrax</string>
<string>ym2608</string>

View File

@ -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",
)

View File

@ -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']"):

View File

@ -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'}

View File

@ -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 = {}