Update for MAME 0.256, add Apple II ROM custom rom support.

This commit is contained in:
Kelvin Sherlock 2023-06-28 14:59:15 -04:00
parent 79617329e8
commit d84c5d7be3
32 changed files with 710 additions and 14 deletions

View File

@ -49,6 +49,8 @@
@"2img", @"2mg", @"chd", @"dc", @"do", @"dsk", @"hd", @"hdv", @"image", @"nib", @"po", @"wav", @"woz", @"iso", @"raw",
// st, etc.
@"mfm", @"st", @"msa", @"stx", @"ipf",
//
@"rom", @"bin",
// not supported/relevant.
// @"mfi", @"dfi", @"hfe", @"d77" @"d88", @"1dd", @"cqm", @"cqi", @"td0", @"imd",
nil

View File

@ -21,6 +21,7 @@ typedef struct Media {
unsigned midiin;
unsigned midiout;
unsigned picture;
unsigned rom;
uint64_t floppy_mask;
} Media;
@ -35,6 +36,7 @@ typedef enum {
MediaType_Cassette,
MediaType_Picture,
MediaType_MIDI,
MediaType_ROM,
} MediaType;
struct Media MediaFromDictionary(NSDictionary *);

View File

@ -26,6 +26,7 @@ struct Media MediaFromDictionary(NSDictionary *dict) {
_(midiin);
_(midiout);
_(picture);
_(rom);
return m;
#undef _
@ -52,6 +53,7 @@ void MediaAdd(Media *dest, const Media *src) {
_(midiin);
_(midiout);
_(picture);
_(rom);
#undef _
@ -81,6 +83,7 @@ BOOL MediaEqual(const Media *lhs, const Media *rhs) {
_(midiin);
_(midiout);
_(picture);
_(rom);
_(floppy_mask);
@ -352,6 +355,9 @@ MediaType ClassifyMediaFile(id file) {
//case _x3('c', 'q', 'm'): // copyQM
//case _x3('c', 'q', 'i'): // copyQM
case _x3('r', 'o', 'm'):
case _x3('b', 'i', 'n'):
return MediaType_ROM;
}
return MediaTypeUnknown;

View File

@ -332,6 +332,7 @@
_data[kIndexMidiIn] = [MediaCategory categoryWithTitle: @"MIDI (In)"];
_data[kIndexMidiOut] = [MediaCategory categoryWithTitle: @"MIDI (Out)"];
_data[kIndexPicture] = [MediaCategory categoryWithTitle: @"Picture"];
_data[kIndexROM] = [MediaCategory categoryWithTitle: @"ROM"];
for (unsigned i = 0; i < CATEGORY_COUNT; ++i) {
[_data[i] setCategory: i];
@ -339,7 +340,6 @@
}
_root = [NSMutableArray new];
}
@ -347,7 +347,7 @@
-(void)rebuildArgs {
static char* prefix[] = {
"flop", "flop", "hard", "cdrm", "cass", "disk", "bitb", "min", "mout", "pic"
"flop", "flop", "hard", "cdrm", "cass", "disk", "bitb", "min", "mout", "pic", "rom",
};
static_assert(SIZEOF(prefix) == CATEGORY_COUNT, "Missing item");
NSMutableArray *args = [NSMutableArray new];
@ -441,17 +441,10 @@ x = media.name; cat = _data[index]; delta |= [cat setItemCount: x]
_(floppy_5_25, kIndexFloppy525);
_(pseudo_disk, kIndexDiskImage);
_(bitbanger, kIndexBitBanger);
// disable midi for now - it's either a midi file (which auto-plays too soon to be useful)
// or a midi device ("default" for first one).
// So we should build a device list (and pre-populate the default one)
// another approach is a separate utility to act as a midi/serial input converter
// and midi file / serial converter so the modem/serial port could be used.
#if 1
_(midiin, kIndexMidiIn);
_(midiout, kIndexMidiOut);
#endif
_(picture, kIndexPicture);
_(rom, kIndexROM);
if (delta) {
[self rebuildRoot];
@ -782,6 +775,7 @@ static NSString *kDragType = @"private.ample.media";
case kIndexMidiIn:
case kIndexMidiOut:
case kIndexBitBanger:
case kIndexROM:
default: break;
}
@ -836,6 +830,7 @@ static NSString *kDragType = @"private.ample.media";
case MediaType_CDROM: ix = kIndexCDROM; break;
case MediaType_Picture: ix = kIndexPicture; break;
case MediaType_ROM: ix = kIndexROM; break;
case MediaType_MIDI: // ix = kIndexMidiIn; break;
case MediaTypeError:
case MediaTypeUnknown:
@ -873,7 +868,7 @@ static NSString *kDragType = @"private.ample.media";
}
static NSString * BookmarkStrings[] = {
@"flop_525", @"flop_35", @"hard", @"cdrm", @"cass", @"disk", @"bitb", @"midiin", @"midiout", @"pic"
@"flop_525", @"flop_35", @"hard", @"cdrm", @"cass", @"disk", @"bitb", @"midiin", @"midiout", @"pic", @"rom",
};
static_assert(SIZEOF(BookmarkStrings) == CATEGORY_COUNT, "Missing item");

View File

@ -142,6 +142,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>

View File

@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>

View File

@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>

View File

@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>

View File

@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>

View File

@ -171,6 +171,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>

View File

@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>

View File

@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>

View File

@ -142,6 +142,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>

View File

@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>

View File

@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>

View File

@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>

View File

@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>

View File

@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>

View File

@ -8,6 +8,8 @@
<string>Laser 3000</string>
<key>media</key>
<dict>
<key>cass</key>
<integer>1</integer>
</dict>
<key>resolution</key>
<array>

View File

@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>

View File

@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>

View File

@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>

View File

@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>

View File

@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>

View File

@ -236,6 +236,18 @@
<key>description</key>
<string>Apple II Parallel Printer Interface Card</string>
</dict>
<dict>
<key>value</key>
<string>a2romfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
</dict>
<dict>
<key>value</key>
<string>a2romint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC))</string>
</dict>
<dict>
<key>value</key>
<string>a2scsi</string>

View File

@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>

View File

@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>

View File

@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>

View File

@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>

View File

@ -531,6 +531,7 @@ https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/KeyVa
_(midiin);
_(midiout);
_(picture);
_(rom);
#undef _
for (Slot *s in _children) {

View File

@ -22,11 +22,12 @@ enum {
kIndexMidiIn,
kIndexMidiOut,
kIndexPicture, // computer eyes -pic, .png only.
kIndexROM,
// kIndexPrintout // -prin, .prn extension only?
kIndexLast
};
#define CATEGORY_COUNT 10
#define CATEGORY_COUNT 11
static_assert(kIndexLast == CATEGORY_COUNT, "Invalid Category Count");

View File

@ -254,7 +254,12 @@ def find_media(parent, include_slots=False):
# n.b. - floppies are 5.25" 360k or 180k. not bootable, not usable from prodos
# without special prodos file or loading driver into pc transporter ram.
if parent.get("name") == "pcxport":
media.get["floppy_5_25"] = media.get("floppy_5_25", 0) + 2
media["floppy_5_25"] = media.get("floppy_5_25", 0) + 2
# special case for a2romusr
if parent.get("name") == "a2romusr":
media["rom"] = media.get("rom", 0) + 1
if not media: return None
return media
@ -280,6 +285,7 @@ DEVICE_REMAP = {
'35hd': '3.5" HD',
'35dd': '3.5" DD',
'35sd': '3.5" SD',
'a2romusr': 'ROM',
}
DEVICE_MEDIA = {
'cdrom': 'cdrom',
@ -294,6 +300,7 @@ DEVICE_MEDIA = {
'aplcdsc': 'cdrom',
# 'null_modem': 'bitbanger',
# 'rs232_sync_io': 'bitbanger',
'a2romusr': 'rom',
}
DEVICE_EXCLUDE = set([
@ -323,6 +330,7 @@ def make_device_options(slot):
for option in slot.findall("./slotoption"):
name = option.get("name")
devname = option.get("devname")
if name in DEVICE_EXCLUDE: continue
device = None
@ -387,7 +395,6 @@ def make_devices():
for name in names:
m = submachines[name]
# print(" {}".format(name))
slots = make_device_slots(m)
if slots:
devices.append({
@ -491,6 +498,7 @@ def make_smartport(machine):
def fix_machine_description(x, devname):
#
x = x.replace(", www.dreher.net","")
x = x.replace("))", ")") # Apple II ROM Card (Integer BASIC))
return x
def make_slot(m, slotname, nodes):