I think it is a plain tms9918 clone
After some work, I guess that I have the correct pinout of this VDP:
In the left side, I believe that pin 11 is NC, the +5V only goes to there for routing issues. In the right side pin 50, 51 and 53 are guessed from 315-5066 information. As the YM2220 is used in PAL (Sakhr AX-150) and NTSC (Victor HC-30/Yamaha SX-100), probably the pin 48 is used to choose between both systems.
The 315-5066 pinout were got from SMSPower forums.
Is its colour palette more like the TMS chips, or is it more like that of the MSX2? Since this is a Yamaha chip, it may well have the brighter palette associated with the MSX2.
Using COLORBAR.BAS, I compared with the image from Casio PV-7 and the only difference that I could spot was in color 14, which in the Victor HC-30 looks very close to white. To do this test, I used the the same LCD television and the RCA video output on both machines.
Internal Yamaha codes of the custom video chips they made:
315-5066: YM2217
315-5124: YM2602B
V9938: YM2701C / YM2302(C)
V9958: YM2703
I’m not a big fan of trying to speculatively attach meaning to numbers, but the YM2220 is closest to the YM2217 (315-5066) .
this is a test of the maskregisters
the subcharset mask where 9918 and 9118 are different
and it is still missing an answer on how a 9938 behaves on this
10 SCREEN 2,2 20 SPRITE $(0)="ldscktjhklstcdhpxksjdhksjhdskjhskjhsd" 30 FOR I = 0 TO 31 40 PUT SPRITE I,(I*8, I*5),I AND 15,0 50 NEXT 60 ON STRIG GOSUB 200 70 STRIG(0) ON 80 OPEN "grp:" AS #1 90 FOR I = 0 TO 2 100 LINE (255,I*64+63)-(0,I*64+32),I*2+3,BF : LINE (255,I*64+31)-(0,I*64+0),I*2+2,BF : PRESET(0,I*64),I 110 FOR C = 0 TO 255 : PRINT#1,CHR$(C); : NEXT 120 NEXT 130 FOR I = 0 TO 127 140 VPOKE(6144+I),I+128 150 VPOKE(6144+I+256),I+128 160 VPOKE(6144+I+512),I+128 170 NEXT 180 GOSUB 200 190 GOTO 190 200 VDP(3) = VDP(3) XOR 16 210 RETURN
press space to see the mask bit in action
ascii values of 128..255 get masked down to 0...127. "subcharset", masking within a charset.
on the 9918 this masking happens on both the pattern and the color addresses
openmsx has a new code for this, but 9118 9938 still have old strange code.
IDENT.BAS does this and much more
Look for its results in the previous page
so how does it look on the 9118 9938 2220?
so how does it look on the 9118 9938 2220?
I ran your code in Victor HC-30 (YM2220) and Casio PV-7 (TMS9118). Both looks the same.
A diagonal "line" of sprites with different colors, three color stripes each one with one third of screen, colored in light green, blue and cyan, and the same character patterns repeated three times in white. The other screen have the same line of sprites and the screen still is divided in three colored sections but the cyan is changed to red and some parts of the character patterns are black instead white.
A little more complete pinout description of 315-5066/YM2217 pinouts (SG-1000 II) :
http://www.smspower.org/forums/13455-Sega3155066PinoutsCusto...
Piter,
I found several info about 315-5124/YM2602B:
http://www43.tok2.com/home/cmpslv/Mark3/EnrM3.htm
At the bottom of the page, there is a test program of register #3 pf VDP. I convert it to MSX. Can you try on your Victor HC-30 and Casio PV-7 with a joystick (By using buttons A & B)? This program does not seem to work on a MSX's VDP.
@Piter Punk, the description sounds like it shows the same mess as seen in the emulator. where the foreground color randomly turns to color 0, taking the border color.
I am shocked. I hope the MSX2 doesnt have this trash (openmsx says it does)
if the msx2 has the same bug, then it could be that the 2220 did actively model that bug.
if not, then maybe the 2220 is a 9118 die in a different pinout?