Skip to content

Commit

Permalink
atari800: add atari 400/800 computer support
Browse files Browse the repository at this point in the history
  • Loading branch information
JoeMatt committed Jan 4, 2022
1 parent 4cb80a6 commit 8768615
Show file tree
Hide file tree
Showing 5 changed files with 204 additions and 56 deletions.
21 changes: 21 additions & 0 deletions Cores/Atari800/Atari800Core/Source/ATR800GameCore.m
Original file line number Diff line number Diff line change
Expand Up @@ -816,6 +816,27 @@ int UI_SelectCartType(int k)
}
}

if([[_currentCore systemIdentifier] isEqualToString:@"com.provenance.atari8bit"])
{
// TODO: improve detection using MD5 lookup
switch (k)
{
case 2: return CARTRIDGE_STD_2;
case 4: return CARTRIDGE_STD_4;
case 8: return CARTRIDGE_STD_8;
case 16: return CARTRIDGE_STD_16;
case 32: return CARTRIDGE_XEGS_32;
case 40: return CARTRIDGE_BBSB_40;
case 64: return CARTRIDGE_XEGS_07_64;
case 128: return CARTRIDGE_XEGS_128;
case 256: return CARTRIDGE_XEGS_256;
case 512: return CARTRIDGE_XEGS_512;
case 1024: return CARTRIDGE_ATMAX_1024;
default:
return CARTRIDGE_NONE;
}
}

if([[_currentCore systemIdentifier] isEqualToString:@"com.provenance.5200"])
{
NSArray *One_Chip_16KB = @[@"a47fcb4eedab9418ea098bb431a407aa", // A.E. (Proto)
Expand Down
112 changes: 56 additions & 56 deletions Cores/Atari800/PVAtari800.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -319,101 +319,101 @@
026953E91431737E003A07D4 /* atari800 */ = {
isa = PBXGroup;
children = (
9491E464198C11A10075135C /* act */,
94DEA012171918D200073397 /* emuos.c */,
026953E214317379003A07D4 /* afile.c */,
0269541814317864003A07D4 /* antic.c */,
9491E45C1989B1CA0075135C /* artifact.c */,
026953E514317379003A07D4 /* atari.c */,
026953F414317689003A07D4 /* binload.c */,
026953EB14317649003A07D4 /* cartridge.c */,
026953ED14317649003A07D4 /* cassette.c */,
0269542B14317A53003A07D4 /* cfg.c */,
0269544C14318515003A07D4 /* colours_external.c */,
0269544E14318515003A07D4 /* colours_ntsc.c */,
0269545014318515003A07D4 /* colours_pal.c */,
0269545214318515003A07D4 /* colours.c */,
0269543F14317B21003A07D4 /* compfile.c */,
0269541B1431793F003A07D4 /* cpu.c */,
94DEA00F171918A200073397 /* crc32.c */,
94DEA010171918A200073397 /* crc32.h */,
9491E460198B0A8C0075135C /* cycle_map.c */,
0269541E1431797A003A07D4 /* devices.c */,
94DEA012171918D200073397 /* emuos.c */,
02695421143179A2003A07D4 /* esc.c */,
026953F7143176AE003A07D4 /* gtia.c */,
02695425143179E9003A07D4 /* ide.c */,
94DEA0091719186E00073397 /* img_tape.c */,
94DEA00A1719186E00073397 /* img_tape.h */,
02E763C61431958E008050EA /* input.c */,
02695412143177EF003A07D4 /* log.c */,
026953F9143176AE003A07D4 /* memory.c */,
0269543714317AC8003A07D4 /* monitor.c */,
0269543C14317B11003A07D4 /* mzpokeysnd.c */,
0269543114317A76003A07D4 /* pbi_bb.c */,
0269542E14317A63003A07D4 /* pbi_mio.c */,
0269543414317AAF003A07D4 /* pbi_scsi.c */,
026953FD143176E6003A07D4 /* pbi.c */,
0269542814317A43003A07D4 /* pia.c */,
02695400143176F4003A07D4 /* pokey.c */,
02695402143176F4003A07D4 /* pokeysnd.c */,
0269544214317B42003A07D4 /* remez.c */,
0269540F143177DF003A07D4 /* rtime.c */,
02695449143184CD003A07D4 /* screen.c */,
026954061431770E003A07D4 /* sio.c */,
0269540C1431775C003A07D4 /* sndsave.c */,
02669C741435806A0002A11B /* sound_oss.c */,
9491E45A1989AF050075135C /* sound.c */,
02E763AF143194CF008050EA /* statesav.c */,
94DEA00B1719186E00073397 /* sysrom.c */,
94DEA00C1719186F00073397 /* sysrom.h */,
026953EA143175F0003A07D4 /* config.h */,
0269541814317864003A07D4 /* antic.c */,
0269541914317864003A07D4 /* antic.h */,
9491E45C1989B1CA0075135C /* artifact.c */,
9491E45D1989B1CA0075135C /* artifact.h */,
026953E214317379003A07D4 /* afile.c */,
02E763C014319545008050EA /* ui_basic.c */,
02E763C214319545008050EA /* ui.c */,
026954091431771D003A07D4 /* util.c */,
026953E314317379003A07D4 /* afile.h */,
026953E414317379003A07D4 /* akey.h */,
026953E514317379003A07D4 /* atari.c */,
0269541914317864003A07D4 /* antic.h */,
9491E45D1989B1CA0075135C /* artifact.h */,
026953E614317379003A07D4 /* atari.h */,
026953F414317689003A07D4 /* binload.c */,
026953F514317689003A07D4 /* binload.h */,
026953EB14317649003A07D4 /* cartridge.c */,
026953EC14317649003A07D4 /* cartridge.h */,
026953ED14317649003A07D4 /* cassette.c */,
026953EE14317649003A07D4 /* cassette.h */,
0269542B14317A53003A07D4 /* cfg.c */,
0269542C14317A53003A07D4 /* cfg.h */,
0269544C14318515003A07D4 /* colours_external.c */,
0269544D14318515003A07D4 /* colours_external.h */,
0269544E14318515003A07D4 /* colours_ntsc.c */,
0269544F14318515003A07D4 /* colours_ntsc.h */,
0269545014318515003A07D4 /* colours_pal.c */,
0269545114318515003A07D4 /* colours_pal.h */,
0269545214318515003A07D4 /* colours.c */,
0269545314318515003A07D4 /* colours.h */,
0269543F14317B21003A07D4 /* compfile.c */,
0269544014317B21003A07D4 /* compfile.h */,
0269541B1431793F003A07D4 /* cpu.c */,
026953EA143175F0003A07D4 /* config.h */,
0269541C1431793F003A07D4 /* cpu.h */,
9491E460198B0A8C0075135C /* cycle_map.c */,
94DEA010171918A200073397 /* crc32.h */,
9491E461198B0A8C0075135C /* cycle_map.h */,
0269541E1431797A003A07D4 /* devices.c */,
0269541F1431797A003A07D4 /* devices.h */,
02252B371437A377001F3BF4 /* emuos.h */,
02695421143179A2003A07D4 /* esc.c */,
02695422143179A2003A07D4 /* esc.h */,
026953F7143176AE003A07D4 /* gtia.c */,
026953F8143176AE003A07D4 /* gtia.h */,
02695424143179E9003A07D4 /* ide_internal.h */,
02695425143179E9003A07D4 /* ide.c */,
02695426143179E9003A07D4 /* ide.h */,
02E763C61431958E008050EA /* input.c */,
94DEA00A1719186E00073397 /* img_tape.h */,
02E763C71431958E008050EA /* input.h */,
02695412143177EF003A07D4 /* log.c */,
02695413143177EF003A07D4 /* log.h */,
026953F9143176AE003A07D4 /* memory.c */,
026953FA143176AE003A07D4 /* memory.h */,
0269543714317AC8003A07D4 /* monitor.c */,
0269543814317AC8003A07D4 /* monitor.h */,
0269543C14317B11003A07D4 /* mzpokeysnd.c */,
0269543D14317B11003A07D4 /* mzpokeysnd.h */,
026954061431770E003A07D4 /* sio.c */,
026954071431770E003A07D4 /* sio.h */,
02E763AF143194CF008050EA /* statesav.c */,
02E763B0143194CF008050EA /* statesav.h */,
026953FD143176E6003A07D4 /* pbi.c */,
026953FE143176E6003A07D4 /* pbi.h */,
0269543414317AAF003A07D4 /* pbi_scsi.c */,
0269543514317AAF003A07D4 /* pbi_scsi.h */,
0269543114317A76003A07D4 /* pbi_bb.c */,
0269543214317A76003A07D4 /* pbi_bb.h */,
0269542E14317A63003A07D4 /* pbi_mio.c */,
0269542F14317A63003A07D4 /* pbi_mio.h */,
0269542814317A43003A07D4 /* pia.c */,
0269543514317AAF003A07D4 /* pbi_scsi.h */,
026953FE143176E6003A07D4 /* pbi.h */,
0269542914317A43003A07D4 /* pia.h */,
02695400143176F4003A07D4 /* pokey.c */,
02695401143176F4003A07D4 /* pokey.h */,
02695402143176F4003A07D4 /* pokeysnd.c */,
02695403143176F4003A07D4 /* pokeysnd.h */,
0269544214317B42003A07D4 /* remez.c */,
0269544314317B42003A07D4 /* remez.h */,
0269540C1431775C003A07D4 /* sndsave.c */,
0269540D1431775C003A07D4 /* sndsave.h */,
02695449143184CD003A07D4 /* screen.c */,
02695410143177DF003A07D4 /* rtime.h */,
0269544A143184CD003A07D4 /* screen.h */,
02669C741435806A0002A11B /* sound_oss.c */,
9491E45A1989AF050075135C /* sound.c */,
026954071431770E003A07D4 /* sio.h */,
0269540D1431775C003A07D4 /* sndsave.h */,
02669C751435806A0002A11B /* sound.h */,
0269540F143177DF003A07D4 /* rtime.c */,
02695410143177DF003A07D4 /* rtime.h */,
02E763C014319545008050EA /* ui_basic.c */,
02E763B0143194CF008050EA /* statesav.h */,
94DEA00C1719186F00073397 /* sysrom.h */,
02E763C114319545008050EA /* ui_basic.h */,
02E763C214319545008050EA /* ui.c */,
02E763C314319545008050EA /* ui.h */,
026954091431771D003A07D4 /* util.c */,
0269540A1431771D003A07D4 /* util.h */,
9491E464198C11A10075135C /* act */,
);
name = atari800;
sourceTree = "<group>";
Expand Down
1 change: 1 addition & 0 deletions Cores/Atari800/PVAtari800/Core.plist
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
<key>PVSupportedSystems</key>
<array>
<string>com.provenance.5200</string>
<string>com.provenance.8bit</string>
</array>
<key>PVProjectName</key>
<string>Atari 800</string>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ public enum SystemIdentifier: String {
case Atari2600 = "com.provenance.2600"
case Atari5200 = "com.provenance.5200"
case Atari7800 = "com.provenance.7800"
case Atari8bit = "com.provenance.atari8bit"
case AtariJaguar = "com.provenance.jaguar"
case ColecoVision = "com.provenance.colecovision"
case DS = "com.provenance.ds"
Expand Down
125 changes: 125 additions & 0 deletions PVLibrary/PVLibrary/Resources/systems.plist
Original file line number Diff line number Diff line change
Expand Up @@ -3249,6 +3249,131 @@
</dict>
</array>
</dict>
<dict>
<key>PVRequiresMouse</key>
<false/>
<key>PVRequiresKeyboard</key>
<true/>
<key>PVManufacturer</key>
<string>Atari</string>
<key>PVSystemName</key>
<string>Atari 8bit Computer</string>
<key>PVSystemShortName</key>
<string>Atari8bit</string>
<key>PVReleaseYear</key>
<string>1982</string>
<key>PVBit</key>
<string>8</string>
<key>PVPortable</key>
<false/>
<key>PVSystemIdentifier</key>
<string>com.provenance.atari8bit</string>
<key>PVDatabaseID</key>
<string>4</string>
<key>PVRequiresBIOS</key>
<true/>
<key>PVBIOSNames</key>
<array>
<dict>
<key>Description</key>
<string>BIOS for the BASIC interpreter</string>
<key>MD5</key>
<string>0bac0c6a50104045d902df4503a4c30b</string>
<key>Name</key>
<string>ataribas.rom</string>
<key>Size</key>
<integer>0</integer>
</dict>
<dict>
<key>Description</key>
<string>BIOS for Atari XL/XE OS</string>
<key>MD5</key>
<string>06daac977823773a3eea3422fd26a703</string>
<key>Name</key>
<string>ATARIXL.ROM</string>
<key>Size</key>
<integer>0</integer>
</dict>
<dict>
<key>Description</key>
<string>BIOS for Atari 400/800 PAL</string>
<key>MD5</key>
<string>eb1f32f5d9f382db1bbfb8d7f9cb343a</string>
<key>Name</key>
<string>ATARIOSA.ROM</string>
<key>Size</key>
<integer>0</integer>
</dict>
<dict>
<key>Description</key>
<string>BIOS for Atari 400/800 NTSC</string>
<key>MD5</key>
<string>a3e8d617c95d08031fe1b20d541434b2</string>
<key>Name</key>
<string>ATARIOSB.ROM</string>
<key>Size</key>
<integer>0</integer>
</dict>
</array>
<key>PVSupportedExtensions</key>
<array>
<string>a52</string>
</array>
<key>PVControlLayout</key>
<array>
<dict>
<key>PVControlType</key>
<string>PVButtonGroup</string>
<key>PVControlSize</key>
<string>{180,180}</string>
<key>PVGroupedButtons</key>
<array>
<dict>
<key>PVControlType</key>
<string>PVButton</string>
<key>PVControlTitle</key>
<string>1</string>
<key>PVControlFrame</key>
<string>{{10,70},{60,70}}</string>
<key>PVControlTint</key>
<string>#f96763</string>
</dict>
<dict>
<key>PVControlType</key>
<string>PVButton</string>
<key>PVControlTitle</key>
<string>2</string>
<key>PVControlFrame</key>
<string>{{90,70},{60,70}}</string>
<key>PVControlTint</key>
<string>#f96763</string>
</dict>
</array>
</dict>
<dict>
<key>PVControlType</key>
<string>PVStartButton</string>
<key>PVControlTitle</key>
<string>Reset</string>
<key>PVControlSize</key>
<string>{60,42}</string>
</dict>
<dict>
<key>PVControlType</key>
<string>PVSelectButton</string>
<key>PVControlTitle</key>
<string>Start</string>
<key>PVControlSize</key>
<string>{60,42}</string>
</dict>
<dict>
<key>PVControlType</key>
<string>PVDPad</string>
<key>PVControlSize</key>
<string>{180,180}</string>
</dict>
</array>
</dict>
<dict>
<key>PVManufacturer</key>
<string>Nintendo</string>
Expand Down

0 comments on commit 8768615

Please sign in to comment.