-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Add skeleton driver for Sun E250 #14205
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
New systems marked not working ------------------------------ Enterprise 250 [ClawGrip, ArcadeHacker] New software list items marked not working ------------------------------------------ Solaris 8 10-00 Media - SPARC Platform Edition for Sun Computer Systems [ClawGrip] Sun Management Center 2.1.1 - February 2000 Revision A [ClawGrip] SunSolutions CD Volume 1 2000 [ClawGrip] Raptor GFX Open Windows for Solaris - Version 2.1 [ClawGrip]
src/devices/video/permedia2.cpp
Outdated
ROMX_LOAD( "raptor111.bin", 0x00000, 0x10000, CRC(ee21d1f4) SHA1(04845a2e0938b9ecd88934c148e637e6f00e2578), ROM_BIOS(1) ) // Tech-Source Inc. Raptor GFX // Half-size ROM? | ||
ROM_SYSTEM_BIOS( 2, "sparc_1_10", "15/Mar/1999 (Rev 1.10) for Solaris SPARC" ) | ||
ROMX_LOAD( "raptor110.bin", 0x00000, 0x20000, CRC(6a6f4ba4) SHA1(89df1a7bc52693e34b79587c16f2c2efb30bd3f1), ROM_BIOS(2) ) // Tech-Source Inc. Raptor GFX | ||
ROM_SYSTEM_BIOS( 3, "pc_99", "25/Feb/1999 for IBM PC Compatible" ) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A general question here: for PCI cards that can be flashed for different systems, should we split them into clone devices where each one has the BIOS options for a specific architecture? In this case, PERMEDIA2_PC and PERMEDIA2_SPARC?
Not suggesting anything specific about this PR here, it's just something that came to mind when I saw this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, these BIOSes shouldn't be in devices/video
, but rather be a PCI option that mounts a ROM (and derive from pc_vga.h
if the specific VGA family is not yet done, like in this case). Other than that, the two things should be subclassed to accomodate endianness at very least.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
By cursory glance at the HW reference manual, these are also AGP, not PCI
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Pickup these two files and plonk them in
src/devices/bus/pci
folder
- apply this patch:
diff --git a/scripts/src/bus.lua b/scripts/src/bus.lua
index 254b844bc89..c64d2c2678c 100644
--- a/scripts/src/bus.lua
+++ b/scripts/src/bus.lua
@@ -5937,6 +5937,8 @@ if (BUSES["PCI"]~=null) then
MAME_DIR .. "src/devices/bus/pci/opti82c861.h",
MAME_DIR .. "src/devices/bus/pci/pdc20262.cpp",
MAME_DIR .. "src/devices/bus/pci/pdc20262.h",
+ MAME_DIR .. "src/devices/bus/pci/permedia2.cpp",
+ MAME_DIR .. "src/devices/bus/pci/permedia2.h",
MAME_DIR .. "src/devices/bus/pci/promotion.cpp",
MAME_DIR .. "src/devices/bus/pci/promotion.h",
MAME_DIR .. "src/devices/bus/pci/riva128.cpp",
diff --git a/src/devices/bus/pci/pci_slot.cpp b/src/devices/bus/pci/pci_slot.cpp
index ae9d42afc63..4c105169e97 100644
--- a/src/devices/bus/pci/pci_slot.cpp
+++ b/src/devices/bus/pci/pci_slot.cpp
@@ -19,6 +19,7 @@
#include "opti82c861.h"
#include "oti_spitfire.h"
#include "pdc20262.h"
+#include "permedia2.h"
#include "promotion.h"
#include "riva128.h"
#include "rivatnt.h"
@@ -166,6 +167,8 @@ void pci_cards(device_slot_interface &device)
// assume all natively with class code 03
void agp_cards(device_slot_interface &device)
{
+ // 3Dlabs
+ device.option_add("permedia2", PERMEDIA2);
// nVidia
device.option_add("riva128", RIVA128);
device.option_add("riva128zx", RIVA128ZX);
- remove these
devices/video
files you created in this PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, thanks!!!!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done, thanks a lot!
#include "emu.h" | ||
#include "sun_fcnc_270_4373_07.h" | ||
|
||
DEFINE_DEVICE_TYPE(SUN_FCNC_270_4373_07, sun_fcnc_270_4373_07_device, "sun_fcnc_270_4373_07", "Sun Microsystems 270-4373-07 Gigabit Fiber Channel Network Card") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Isn't this a PCI card?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, do you have device ID/vendor ID for this? I can't find anything from the PCI databases ...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, sorry, and I don't have a PCI computer to plug it on.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Open the dump with a binary viewer, find a PCIR
string inside. What comes next tells us the exact device/vendor ID for this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For example, the Permedia 2 Fire GL 1000 PRO will have:

The first number is device ID=104c,Texas Instruments, the second is vendor ID=3d07 Permedia 2, which translates into this entry: https://admin.pci-ids.ucw.cz/read/PC/104c/3d07
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doesn't make any sense, that will decode as a Permedia 2 card ...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The actual BIOS is a 108e/2bad, which classifies as a Sun GEM card.
New systems marked not working
Enterprise 250 [ClawGrip, ArcadeHacker]
New software list items marked not working
Solaris 8 10-00 Media - SPARC Platform Edition for Sun Computer Systems [ClawGrip]
Sun Management Center 2.1.1 - February 2000 Revision A [ClawGrip]
SunSolutions CD Volume 1 2000 [ClawGrip]
Raptor GFX Open Windows for Solaris - Version 2.1 [ClawGrip]