Make the primary DIPSW index the model, followed by the DIP index, followed by the switch type
This commit is contained in:
parent
75f9d1c1d2
commit
c0dd42f185
1 changed files with 26 additions and 27 deletions
|
|
@ -784,11 +784,9 @@ ChipSet.SWITCH_TYPE = {
|
|||
EXPMEM: 6
|
||||
};
|
||||
|
||||
ChipSet.DIPSW = [{},{}];
|
||||
ChipSet.DIPSW[0][ChipSet.MODEL_5150] = {};
|
||||
ChipSet.DIPSW[1][ChipSet.MODEL_5150] = {};
|
||||
|
||||
ChipSet.DIPSW[0][ChipSet.MODEL_5150][ChipSet.SWITCH_TYPE.FLOPNUM] = {
|
||||
ChipSet.DIPSW = {};
|
||||
ChipSet.DIPSW[ChipSet.MODEL_5150] = [{},{}];
|
||||
ChipSet.DIPSW[ChipSet.MODEL_5150][0][ChipSet.SWITCH_TYPE.FLOPNUM] = {
|
||||
MASK: 0xC0,
|
||||
VALUES: {
|
||||
1: 0x00,
|
||||
|
|
@ -809,7 +807,7 @@ ChipSet.DIPSW[0][ChipSet.MODEL_5150][ChipSet.SWITCH_TYPE.FLOPNUM] = {
|
|||
* warning in their iAPX 86,88 User's Manual, p. S-27, that "[t]he 8087 should not be tied to the CPU's NMI
|
||||
* (non-maskable interrupt) line.")
|
||||
*/
|
||||
ChipSet.DIPSW[0][ChipSet.MODEL_5150][ChipSet.SWITCH_TYPE.FPU] = {
|
||||
ChipSet.DIPSW[ChipSet.MODEL_5150][0][ChipSet.SWITCH_TYPE.FPU] = {
|
||||
MASK: 0x02,
|
||||
VALUES: {
|
||||
0: 0x00, // 0 means an FPU is NOT installed
|
||||
|
|
@ -817,7 +815,7 @@ ChipSet.DIPSW[0][ChipSet.MODEL_5150][ChipSet.SWITCH_TYPE.FPU] = {
|
|||
},
|
||||
LABEL: "Coprocessor"
|
||||
};
|
||||
ChipSet.DIPSW[0][ChipSet.MODEL_5150][ChipSet.SWITCH_TYPE.MONITOR] = {
|
||||
ChipSet.DIPSW[ChipSet.MODEL_5150][0][ChipSet.SWITCH_TYPE.MONITOR] = {
|
||||
MASK: 0x30,
|
||||
VALUES: {
|
||||
0: 0x00,
|
||||
|
|
@ -833,7 +831,7 @@ ChipSet.DIPSW[0][ChipSet.MODEL_5150][ChipSet.SWITCH_TYPE.MONITOR] = {
|
|||
},
|
||||
LABEL: "Monitor Type"
|
||||
};
|
||||
ChipSet.DIPSW[0][ChipSet.MODEL_5150][ChipSet.SWITCH_TYPE.LOWMEM] = {
|
||||
ChipSet.DIPSW[ChipSet.MODEL_5150][0][ChipSet.SWITCH_TYPE.LOWMEM] = {
|
||||
MASK: 0x0C,
|
||||
VALUES: {
|
||||
16: 0x00,
|
||||
|
|
@ -843,7 +841,7 @@ ChipSet.DIPSW[0][ChipSet.MODEL_5150][ChipSet.SWITCH_TYPE.LOWMEM] = {
|
|||
},
|
||||
LABEL: "Base Memory (16Kb Increments)"
|
||||
};
|
||||
ChipSet.DIPSW[1][ChipSet.MODEL_5150][ChipSet.SWITCH_TYPE.EXPMEM] = {
|
||||
ChipSet.DIPSW[ChipSet.MODEL_5150][1][ChipSet.SWITCH_TYPE.EXPMEM] = {
|
||||
MASK: 0x1F, // technically, this mask should be 0x0F for ROM revisions prior to 5150_REV3, and 0x1F on 5150_REV3
|
||||
VALUES: {
|
||||
0: 0x00,
|
||||
|
|
@ -880,12 +878,11 @@ ChipSet.DIPSW[1][ChipSet.MODEL_5150][ChipSet.SWITCH_TYPE.EXPMEM] = {
|
|||
LABEL: "Expansion Memory (32Kb Increments)"
|
||||
};
|
||||
|
||||
ChipSet.DIPSW[0][ChipSet.MODEL_5160] = {};
|
||||
ChipSet.DIPSW[1][ChipSet.MODEL_5160] = {};
|
||||
ChipSet.DIPSW[0][ChipSet.MODEL_5160][ChipSet.SWITCH_TYPE.FLOPNUM] = ChipSet.DIPSW[0][ChipSet.MODEL_5150][ChipSet.SWITCH_TYPE.FLOPNUM];
|
||||
ChipSet.DIPSW[0][ChipSet.MODEL_5160][ChipSet.SWITCH_TYPE.FPU] = ChipSet.DIPSW[0][ChipSet.MODEL_5150][ChipSet.SWITCH_TYPE.FPU];
|
||||
ChipSet.DIPSW[0][ChipSet.MODEL_5160][ChipSet.SWITCH_TYPE.MONITOR] = ChipSet.DIPSW[0][ChipSet.MODEL_5150][ChipSet.SWITCH_TYPE.MONITOR];
|
||||
ChipSet.DIPSW[0][ChipSet.MODEL_5160][ChipSet.SWITCH_TYPE.LOWMEM] = {
|
||||
ChipSet.DIPSW[ChipSet.MODEL_5160] = [{},{}];
|
||||
ChipSet.DIPSW[ChipSet.MODEL_5160][0][ChipSet.SWITCH_TYPE.FLOPNUM] = ChipSet.DIPSW[ChipSet.MODEL_5150][0][ChipSet.SWITCH_TYPE.FLOPNUM];
|
||||
ChipSet.DIPSW[ChipSet.MODEL_5160][0][ChipSet.SWITCH_TYPE.FPU] = ChipSet.DIPSW[ChipSet.MODEL_5150][0][ChipSet.SWITCH_TYPE.FPU];
|
||||
ChipSet.DIPSW[ChipSet.MODEL_5160][0][ChipSet.SWITCH_TYPE.MONITOR] = ChipSet.DIPSW[ChipSet.MODEL_5150][0][ChipSet.SWITCH_TYPE.MONITOR];
|
||||
ChipSet.DIPSW[ChipSet.MODEL_5160][0][ChipSet.SWITCH_TYPE.LOWMEM] = {
|
||||
MASK: 0x0C,
|
||||
VALUES: {
|
||||
64: 0x00,
|
||||
|
|
@ -895,11 +892,10 @@ ChipSet.DIPSW[0][ChipSet.MODEL_5160][ChipSet.SWITCH_TYPE.LOWMEM] = {
|
|||
},
|
||||
LABEL: "Base Memory (64Kb Increments)"
|
||||
};
|
||||
ChipSet.DIPSW[1][ChipSet.MODEL_5160][ChipSet.SWITCH_TYPE.EXPMEM] = ChipSet.DIPSW[1][ChipSet.MODEL_5150][ChipSet.SWITCH_TYPE.EXPMEM];
|
||||
ChipSet.DIPSW[ChipSet.MODEL_5160][1][ChipSet.SWITCH_TYPE.EXPMEM] = ChipSet.DIPSW[ChipSet.MODEL_5150][1][ChipSet.SWITCH_TYPE.EXPMEM];
|
||||
|
||||
ChipSet.DIPSW[0][ChipSet.MODEL_ATT_6300] = {};
|
||||
ChipSet.DIPSW[1][ChipSet.MODEL_ATT_6300] = {};
|
||||
ChipSet.DIPSW[0][ChipSet.MODEL_ATT_6300][ChipSet.SWITCH_TYPE.LOWMEM] = {
|
||||
ChipSet.DIPSW[ChipSet.MODEL_ATT_6300] = [{},{}];
|
||||
ChipSet.DIPSW[ChipSet.MODEL_ATT_6300][0][ChipSet.SWITCH_TYPE.LOWMEM] = {
|
||||
MASK: 0x8F,
|
||||
VALUES: {
|
||||
128: 0x01, // "0111xxx1"
|
||||
|
|
@ -909,7 +905,7 @@ ChipSet.DIPSW[0][ChipSet.MODEL_ATT_6300][ChipSet.SWITCH_TYPE.LOWMEM] = {
|
|||
},
|
||||
LABEL: "Base Memory (128Kb Increments)"
|
||||
};
|
||||
ChipSet.DIPSW[0][ChipSet.MODEL_ATT_6300][ChipSet.SWITCH_TYPE.FPU] = {
|
||||
ChipSet.DIPSW[ChipSet.MODEL_ATT_6300][0][ChipSet.SWITCH_TYPE.FPU] = {
|
||||
MASK: 0x10,
|
||||
VALUES: {
|
||||
0: 0x00,
|
||||
|
|
@ -917,7 +913,7 @@ ChipSet.DIPSW[0][ChipSet.MODEL_ATT_6300][ChipSet.SWITCH_TYPE.FPU] = {
|
|||
},
|
||||
LABEL: "Coprocessor"
|
||||
};
|
||||
ChipSet.DIPSW[1][ChipSet.MODEL_ATT_6300][ChipSet.SWITCH_TYPE.FLOPTYPE] = {
|
||||
ChipSet.DIPSW[ChipSet.MODEL_ATT_6300][1][ChipSet.SWITCH_TYPE.FLOPTYPE] = {
|
||||
MASK: 0x01,
|
||||
VALUES: {
|
||||
0: 0x00,
|
||||
|
|
@ -925,8 +921,8 @@ ChipSet.DIPSW[1][ChipSet.MODEL_ATT_6300][ChipSet.SWITCH_TYPE.FLOPTYPE] = {
|
|||
},
|
||||
LABEL: "Floppy Type"
|
||||
};
|
||||
ChipSet.DIPSW[1][ChipSet.MODEL_ATT_6300][ChipSet.SWITCH_TYPE.FLOPNUM] = ChipSet.DIPSW[0][ChipSet.MODEL_5150][ChipSet.SWITCH_TYPE.FLOPNUM];
|
||||
ChipSet.DIPSW[1][ChipSet.MODEL_ATT_6300][ChipSet.SWITCH_TYPE.MONITOR] = ChipSet.DIPSW[0][ChipSet.MODEL_5150][ChipSet.SWITCH_TYPE.MONITOR];
|
||||
ChipSet.DIPSW[ChipSet.MODEL_ATT_6300][1][ChipSet.SWITCH_TYPE.FLOPNUM] = ChipSet.DIPSW[ChipSet.MODEL_5150][0][ChipSet.SWITCH_TYPE.FLOPNUM];
|
||||
ChipSet.DIPSW[ChipSet.MODEL_ATT_6300][1][ChipSet.SWITCH_TYPE.MONITOR] = ChipSet.DIPSW[ChipSet.MODEL_5150][0][ChipSet.SWITCH_TYPE.MONITOR];
|
||||
|
||||
/*
|
||||
* 8041 Keyboard Controller I/O ports (MODEL_ATT_6300)
|
||||
|
|
@ -2430,7 +2426,8 @@ ChipSet.prototype.addDIPSwitches = function(iDIP, sBinding)
|
|||
*/
|
||||
ChipSet.prototype.findDIPSwitch = function(iDIP, iSwitch)
|
||||
{
|
||||
var switchTypes = ChipSet.DIPSW[iDIP][this.model|0];
|
||||
var switchDIPs = ChipSet.DIPSW[this.model|0];
|
||||
var switchTypes = switchDIPs && switchDIPs[iDIP];
|
||||
if (switchTypes) {
|
||||
for (var iType in switchTypes) {
|
||||
var switchGroup = switchTypes[iType];
|
||||
|
|
@ -2473,8 +2470,9 @@ ChipSet.prototype.getDIPLegacyBits = function(iDIP)
|
|||
ChipSet.prototype.getDIPSwitches = function(iType, fInit)
|
||||
{
|
||||
var value = null;
|
||||
for (var iDIP = 0; iDIP < ChipSet.DIPSW.length; iDIP++) {
|
||||
var switchTypes = ChipSet.DIPSW[iDIP][this.model] || ChipSet.DIPSW[iDIP][this.model|0] || ChipSet.DIPSW[iDIP][ChipSet.MODEL_5150];
|
||||
var switchDIPs = ChipSet.DIPSW[this.model] || ChipSet.DIPSW[this.model|0] || ChipSet.DIPSW[ChipSet.MODEL_5150];
|
||||
for (var iDIP = 0; iDIP < switchDIPs.length; iDIP++) {
|
||||
var switchTypes = switchDIPs[iDIP];
|
||||
if (switchTypes) {
|
||||
var switchGroup = switchTypes[iType];
|
||||
if (switchGroup) {
|
||||
|
|
@ -2639,8 +2637,9 @@ ChipSet.prototype.parseDIPSwitches = function(sBits, bDefault)
|
|||
*/
|
||||
ChipSet.prototype.setDIPSwitches = function(iType, value, fInit)
|
||||
{
|
||||
var switchDIPs = ChipSet.DIPSW[this.model] || ChipSet.DIPSW[this.model|0] || ChipSet.DIPSW[ChipSet.MODEL_5150];
|
||||
for (var iDIP = 0; iDIP < ChipSet.DIPSW.length; iDIP++) {
|
||||
var switchTypes = ChipSet.DIPSW[iDIP][this.model] || ChipSet.DIPSW[iDIP][this.model|0] || ChipSet.DIPSW[iDIP][ChipSet.MODEL_5150];
|
||||
var switchTypes = switchDIPs[iDIP];
|
||||
if (switchTypes) {
|
||||
var switchGroup = switchTypes[iType];
|
||||
if (switchGroup) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue