|
Joined: Mar 2002
Posts: 1,368 Likes: 120
Very Senior Member
|
Very Senior Member
Joined: Mar 2002
Posts: 1,368 Likes: 120 |
Sean is your Top Gun LCD panel still working? If so, is it possible to light up a single icon by probing a column pin + a segment pin?
In other words, I want to know which LCD matrix position is wired to which game gfx.
|
|
|
|
Joined: May 2010
Posts: 1,051
Very Senior Member
|
OP
Very Senior Member
Joined: May 2010
Posts: 1,051 |
I bought a PIC16LF1907 that has an LCD driver that can do 3V, 1/4 duty, 1/3 bias panels like the SM510 does. The hassle is connecting the 41 pins! The game uses an elastomeric connector between the panel and the PCB, and the pads are 1.2mm pitch. I should have bought one of these: http://www.aliexpress.com/item/2pcs...pitch-FPC-adapter-plate/32251428401.htmlbut instead I cut off the Top Gun PCB and I'm in the process of soldering wires to the traces. When that's done, I'll be able to drive each of the 33 segments on the 4 commons. Then I can map the pins to the segments, and I can drive the segments to get pictures of them.
|
|
|
|
Joined: Mar 2002
Posts: 1,368 Likes: 120
Very Senior Member
|
Very Senior Member
Joined: Mar 2002
Posts: 1,368 Likes: 120 |
Great looking forward to it! Top Gun is responsive and seems playable, you can 'move around' and shoot, and hear the sound effects. G&W Mickey & Donald is using SM510 opcodes I don't fully understand and are documented differently across different SM510 series datasheets. It can mean either a mistake in the datasheet, or they differ between SM510 and SM511. (opcodes are: LB x and SBM)
Last edited by hap; 07/09/15 11:41 PM.
|
|
|
|
Joined: Jun 2001
Posts: 520 Likes: 33
Senior Member
|
Senior Member
Joined: Jun 2001
Posts: 520 Likes: 33 |
Great looking forward to it! Top Gun is responsive and seems playable, you can 'move around' and shoot, and hear the sound effects. G&W Mickey & Donald is using SM510 opcodes I don't fully understand and are documented differently across different SM510 series datasheets. It can mean either a mistake in the datasheet, or they differ between SM510 and SM511. (opcodes are: LB x and SBM) Top Gun and M&D use the same cpu, and I suspect it's called a SM54C. OG.
|
|
|
|
Joined: May 2010
Posts: 1,051
Very Senior Member
|
OP
Very Senior Member
Joined: May 2010
Posts: 1,051 |
Hap- Have you looked at any of Paul Robson's stuff? He was going to do a retrochallenge on the Watchman a couple of years ago, and he's got 20 blog posts, some info and some code: http://watchdev.blogspot.com/OG- I figured that SM510 was the name marketing used and CMS54C was what the designers used. Top Gun's top metal says CMS54C (actually, the first C looks more like a [, and the S is under the CM) and underneath it looks like it says KMS598. Likewise, TMNT (assumed SM511 from ROM and RAM sizes and melody ROM) says KMS 73B and KMS 774. The G&W die shot says CMS54C over CMS565. I'm guessing the numbers 598 and 565 are the ROM IDs; they are repeated in a different location on the 2 dies.
|
|
|
|
Joined: Oct 2014
Posts: 11
Member
|
Member
Joined: Oct 2014
Posts: 11 |
G&W Mickey & Donald is using SM510 opcodes I don't fully understand and are documented differently across different SM510 series datasheets. It can mean either a mistake in the datasheet, or they differ between SM510 and SM511. (opcodes are: LB x and SBM) The 1990 Sharp Microcomputer Data Book lists both MCUs and LB does indeed differ between SM510 and SM511. cYa, Tauwasser
|
|
|
|
Joined: Mar 2002
Posts: 1,368 Likes: 120
Very Senior Member
|
Very Senior Member
Joined: Mar 2002
Posts: 1,368 Likes: 120 |
Paul's Watchman: yeah, the blog posts showing the development process was a fun read. The source code is not that useful to me, looks like he didn't finish the project? Also, I removed Java a long time ago and won't reinstall it. =p
SBM opcode I assume I have right. I think I will get the LB x one right eventually too, after some trial & error.
|
|
|
|
Joined: Oct 2014
Posts: 11
Member
|
Member
Joined: Oct 2014
Posts: 11 |
Shouldn't it literally just be void sm510_base_device::op_lb()
{
// LB x: load BM/BL with 4-bit immediate value (partial)
m_bm = (m_bm & 0x04) | (m_param & 0x03);
m_bl = ((m_param >> 3) ^ (m_param >> 2)) & 0x01;
m_bl = (m_bl << 1) | m_bl;
m_bl <<= 2;
m_bl |= (m_param >> 2) & 0x03);
}
void sm511_device::op_lb()
{
// LB xy: load BL with y, BM with x; 2-bit immediate value each
// B_M1 <= I_2 in 1990 Sharp Microcontroller Data Book p.170 is a typo I think
m_bm = (m_bm & 0x04) | (m_param & 0x03);
m_bl = (m_bl & 0x0C) | ((m_param >> 2) & 0x03);
} Did you try this naïve implementation already and saw that it failed, or what seems to be the issue? I think p170 in the data book must be a typo when it assigns B_M2 <= I2 instead of B_M2 <= I1... EDIT: I think op_incb and op_decb also need attention. They currently skip the next instruction when they overflow. However, I think what the datasheet means is that B_L cannot overflow using these ops. INCB 64 Skip if B_L=F_H; B_L <= B_L + 1 I read that as:
if (m_bl != 0xF)
m_bl = (m_bl + 1) & 0xF;
cYa, Tauwasser
Last edited by Tauwasser; 07/10/15 08:53 PM.
|
|
|
|
Joined: Mar 2002
Posts: 1,368 Likes: 120
Very Senior Member
|
Very Senior Member
Joined: Mar 2002
Posts: 1,368 Likes: 120 |
incb/decb are correct. The skip means it skips the next instruction on that condition, for example:
loop: ... incb jump to loop
Yeah, I tried implementing LB x literally, but it doesn't work. The most I got from it was setting BL only (so: m_bl=m_op&0xf, don't alter BM). Mickey&Donald is playable for a few seconds that way.
|
|
|
|
Joined: Mar 2002
Posts: 1,368 Likes: 120
Very Senior Member
|
Very Senior Member
Joined: Mar 2002
Posts: 1,368 Likes: 120 |
Sean could you post your SM511 raw2good conversion script? TMNT die looks good, but there are 2 obscured parts(smudge).
|
|
|
3 members (AJR, Dodg, 1 invisible),
289
guests, and
1
robot. |
Key:
Admin,
Global Mod,
Mod
|
|
Forums9
Topics9,320
Posts121,930
Members5,074
|
Most Online1,283 Dec 21st, 2022
|
|
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!
|
|
|
|