mirror of https://github.com/stella-emu/stella.git
enhanced missile state display in debugger
updated 3E+ comments
This commit is contained in:
parent
8c7d8931f2
commit
1966a9b805
|
@ -1105,7 +1105,8 @@ void TiaWidget::loadConfig()
|
||||||
// M0 register info
|
// M0 register info
|
||||||
////////////////////////////
|
////////////////////////////
|
||||||
// enaM0
|
// enaM0
|
||||||
myEnaM0->setColor(state.coluRegs[0]);
|
myEnaM0->setColor(tia.resMP0() ? kBGColorLo : state.coluRegs[0]);
|
||||||
|
myEnaM0->setCrossed(tia.resMP0());
|
||||||
myEnaM0->setIntState(tia.enaM0() ? 1 : 0, false);
|
myEnaM0->setIntState(tia.enaM0() ? 1 : 0, false);
|
||||||
|
|
||||||
// posM0
|
// posM0
|
||||||
|
@ -1127,7 +1128,8 @@ void TiaWidget::loadConfig()
|
||||||
// M1 register info
|
// M1 register info
|
||||||
////////////////////////////
|
////////////////////////////
|
||||||
// enaM1
|
// enaM1
|
||||||
myEnaM1->setColor(state.coluRegs[1]);
|
myEnaM1->setColor(tia.resMP1() ? kBGColorLo : state.coluRegs[1]);
|
||||||
|
myEnaM1->setCrossed(tia.resMP1());
|
||||||
myEnaM1->setIntState(tia.enaM1() ? 1 : 0, false);
|
myEnaM1->setIntState(tia.enaM1() ? 1 : 0, false);
|
||||||
|
|
||||||
// posM1
|
// posM1
|
||||||
|
|
|
@ -32,16 +32,6 @@ class System;
|
||||||
Kind of a combination of 3F and 3E, with better switchability.
|
Kind of a combination of 3F and 3E, with better switchability.
|
||||||
B.Watson's Cart3E was used as a template for building this implementation.
|
B.Watson's Cart3E was used as a template for building this implementation.
|
||||||
|
|
||||||
The destination bank (0-3) is held in the top bits of the value written to
|
|
||||||
$3E (for RAM switching) or $3F (for ROM switching). The low 6 bits give
|
|
||||||
the actual bank number (0-63) corresponding to 512 byte blocks for RAM and
|
|
||||||
1024 byte blocks for ROM. The maximum size is therefore 32K RAM and 64K ROM.
|
|
||||||
|
|
||||||
D7D6 indicate the bank number (0-3)
|
|
||||||
D5D4D3D2D1D0 indicate the actual # (0-63) from the image/ram
|
|
||||||
|
|
||||||
ROM:
|
|
||||||
|
|
||||||
Note: In descriptions $F000 is equivalent to $1000 -- that is, we only deal
|
Note: In descriptions $F000 is equivalent to $1000 -- that is, we only deal
|
||||||
with the low 13 bits of addressing. Stella code uses $1000, I'm used to $F000
|
with the low 13 bits of addressing. Stella code uses $1000, I'm used to $F000
|
||||||
So, mask with top bits clear :) when reading this document.
|
So, mask with top bits clear :) when reading this document.
|
||||||
|
@ -49,17 +39,27 @@ class System;
|
||||||
In this scheme, the 4K address space is broken into four 1K ROM/512b RAM segments
|
In this scheme, the 4K address space is broken into four 1K ROM/512b RAM segments
|
||||||
living at 0x1000, 0x1400, 0x1800, 0x1C00 (or, same thing, 0xF000... etc.),
|
living at 0x1000, 0x1400, 0x1800, 0x1C00 (or, same thing, 0xF000... etc.),
|
||||||
|
|
||||||
|
The destination segment (0-3) is held in the top bits of the value written to
|
||||||
|
$3E (for RAM switching) or $3F (for ROM switching). The low 6 bits give
|
||||||
|
the actual bank number (0-63) corresponding to 512 byte blocks for RAM and
|
||||||
|
1024 byte blocks for ROM. The maximum size is therefore 32K RAM and 64K ROM.
|
||||||
|
|
||||||
|
D7D6 indicate the segment number (0-3)
|
||||||
|
D5D4D3D2D1D0 indicate the actual # (0-63) from the image/ram
|
||||||
|
|
||||||
|
ROM:
|
||||||
The last 1K ROM ($FC00-$FFFF) segment in the 6502 address space (ie: $1C00-$1FFF)
|
The last 1K ROM ($FC00-$FFFF) segment in the 6502 address space (ie: $1C00-$1FFF)
|
||||||
is initialised to point to the FIRST 1K of the ROM image, so the reset vectors
|
is initialised to point to the FIRST 1K of the ROM image, so the reset vectors
|
||||||
must be placed at the end of the first 1K in the ROM image.
|
must be placed at the end of the first 1K in the ROM image.
|
||||||
|
|
||||||
Note: This is DIFFERENT to 3E which switches in the UPPER bank and this bank is
|
Note: This is DIFFERENT to 3E which switches in the UPPER segment and this
|
||||||
fixed. This allows variable sized ROM without having to detect size.
|
segment is fixed. This allows variable sized ROM without having to detect size.
|
||||||
|
|
||||||
ROM switching (write of block+bank number to $3F) D7D6 upper 2 bits of bank #
|
ROM switching (write of segment+bank number to $3F) D7D6 upper 2 bits of bank #
|
||||||
indicates the destination segment (0-3, corresponding to $F000, $F400, $F800,
|
indicates the destination segment (0-3, corresponding to $F000, $F400, $F800,
|
||||||
$FC00), and lower 6 bits indicate the 1K bank to switch in. Can handle 64
|
$FC00), and lower 6 bits indicate the 1K bank to switch in.
|
||||||
x 1K ROM banks (64K total).
|
|
||||||
|
Can handle 64 x 1K ROM banks (64K total).
|
||||||
|
|
||||||
D7 D6 D5D4D3D2D1D0
|
D7 D6 D5D4D3D2D1D0
|
||||||
0 0 x x x x x x switch a 1K ROM bank xxxxxx to $F000
|
0 0 x x x x x x switch a 1K ROM bank xxxxxx to $F000
|
||||||
|
|
Loading…
Reference in New Issue