the_crayon_king Posted May 12, 2019 Share Posted May 12, 2019 (edited) So after driving myself crazy looking at what is going on it this circuit it appears That only four pins of the 71445 set color. Its confusing because the methods they use are hard to follow. On the data sheet it even has pins specified R, G, B someplace else. To put it short those pins do not matter for our uses; and will not give you RGB Looking at how A and B go to pin 2 and 14 of the 74153 we can deduce that B is a lower value, A is higher, and A and B is highest. Nothing (00) is black or blank idk; for my uses it doesn't matter. This is because without A or B being a logic one you won't have either of the burst amplitudes applied, aka no color so either white or black. That means to get color out you can only have 3 bit combinations on A/B 01, 10, and 11 ----------------------------------------------------------------------------------------------------------------- D C B A D = A3; C =A2; B=A1; A=A00101 RED0110 BLUE0111 GREEN0010 LIGHT BLUE0011 LIGHT GREEN1001 GRAY1000 BLACK0000 nc < ONE OF THESE MUST BE WHITE 0100 nc < ONE OF THESE MUST BE WHITE WHEN OTHERS PROBABLY AN ERROR OR BLANKING EITHER WAY NO COLOR ----------------------------------------------------------------------------------------------------------------- Somebody should validate this if they can confirm/deny. I am not too sure about white atm. I need binary or decimal values for the RGB color palette. Uh I may have mixed up light blue/green and full blue/green Edited May 12, 2019 by the_crayon_king Quote Link to comment Share on other sites More sharing options...
the_crayon_king Posted June 9, 2019 Author Share Posted June 9, 2019 (edited) So RGB should be able to be taken from the 9322 (C2) For my uses I am calling pin 12 = Di pin 9 = C pin 7 = A pin 4 = B D is inverted from how you would see it at the 74145 thus the "i" ------------------------------ truth table DCBA 1000 = 0 NC >1010 = 1 NC >1001 = 2 > blue light1011 = 3 > green light1100 = 4 NC > White ?1110 = 5 > red bright1101 = 6 > blue bright1111 = 7 > green bright0000 = 8 > black0010 = 9 > grey ------------------------------------ I could explain my logic but basically white is either 1000 or 1100. I did a first pass at trying to make a schematic for this: https://easyeda.com/hotdog6394/fairchild-chan-f-rgb TBH doing this with a FPGA would be far simpler. However, where is the fun in that ? Issues I am having is finding a pallet with decimal rgb values. I set 255 (714mv), 191 (534.8mv) and 0 (0). I only want to bother to set combinations of 3 specific values., so if someone has better values to shoot for let me know. This is the colors with what I have (randomly) chosen so far: [note this is not on the console (yet) just a color representation of what should be possible with the above circuit] Edited June 9, 2019 by the_crayon_king Quote Link to comment Share on other sites More sharing options...
e5frog Posted July 22, 2019 Share Posted July 22, 2019 How's this going? Quote Link to comment Share on other sites More sharing options...
e5frog Posted November 21, 2019 Share Posted November 21, 2019 I'm planning to attempt a build of the PCB. I'm very impressed by how you handle the electronics here - as it's not something I would have been able to do myself. RGB from a real machine, really cool... If you had written the table as /D C A B you would have gotten visible numbers from 0 to 9... Quote Link to comment Share on other sites More sharing options...
the_crayon_king Posted November 26, 2019 Author Share Posted November 26, 2019 (edited) On 11/21/2019 at 10:02 AM, e5frog said: I'm planning to attempt a build of the PCB. I'm very impressed by how you handle the electronics here - as it's not something I would have been able to do myself. RGB from a real machine, really cool... If you had written the table as /D C A B you would have gotten visible numbers from 0 to 9... I very confusedly wrote the above truth table; I think I was switching the bits to match their significance. I have fixed this to be written against the outputs of the 9322 Since nothing else matters. I had to basically reverse the 74145 outputs all the way back to the 9322 thus all the confusion. THIS should be how to write it. 9322>74145 (what it will see) > what color the schematic says 0000>1000 8 > black 0001>1010 9 > grey 0010>1001 > 0011>1011 > 0100>1100 > 0101>1110 > 0110>1101 > 0111>1111 > 1000>0000 0 NC > 1001>0010 1 NC > 1010>0001 2 > bg blue; boost a sel 1011>0011 3 > bg green; boost a&b sel 1100>0100 4 NC > 1101>0110 5 > fg red; b sel 1110>0101 6 > fg blue; a sel 1111>0111 7 > fg green; a&b sel when looking from 9322 out ***1 b sel higher voltage than a sel **1* a sel lower voltage than b sel **11 a+b sel highest voltage *0** space boost on (adds small amount of voltage) *1** space boost off For the transition from 9322 to the 74145 last two bits get swapped and 1st bit is inverted. This is only helpful if you are trying to reverse engineer what they were doing. Any unspecified thing could be the value for white. I would suspect that would use a NC (not connected) pin so 1000, 1001, or 1100. Those are the most likely, but the only was besides guessing would be to put up a white screen and measure the output pins of the 9322 to see what pins are actually on. 1000 actually makes the most sense since it does not have any chroma/burst XX01, XX10, XX11 would all be some sort of chroma or burst. Then it has X0XX inside of it which is an increased voltage from space boost. White should be the max voltage with no chroma so that is my logic there. Any of the pins from the 74145 being active (off) will only lower the voltage so that is why I think it would have to be a NC pin. Ill have to fix the schematic for the PCB that is on easyeda to match this updated information. As it were you would only have to swap A and B around from how I had it so that it reads DCBA. I should deff validate what I have before anyone attempts to use that. The parts would all remain the same it is only the wiring that would differ; it would be best to breadboard this first and use a color test screen to validate. Edited November 26, 2019 by the_crayon_king Quote Link to comment Share on other sites More sharing options...
e5frog Posted November 26, 2019 Share Posted November 26, 2019 Didn't know the was a problem with the table, just suggested to list it differently to make the bits follow the sequential order. I was busy working this weekend so I haven't tried anything yet, checking output for a white screen should be very easy. Quote Link to comment Share on other sites More sharing options...
the_crayon_king Posted December 10, 2019 Author Share Posted December 10, 2019 (edited) On 11/26/2019 at 7:47 AM, e5frog said: Didn't know the was a problem with the table, just suggested to list it differently to make the bits follow the sequential order. I was busy working this weekend so I haven't tried anything yet, checking output for a white screen should be very easy. I originally wrote this on the inputs of the 74145 not the outputs of the 9322 thus the confusion. I confused myself looking back at it, so it prompted a rewrite. As mentioned previously if you are attempting the analog version of this then you get much less color accuracy. The expected colors for analog are posted above. Sync should also be buffered along with all the other bits. The sync thing shouldn't be an issue in testing, at worst it should just shift the video over slightly. I just need to correct the schematic/PCB. Sync shouldn't be inverted but if it is that would add an inverter to the BOM. I wrote the code to do this in VHDL for a CPLD; I may be able to convert it to whatever you have on hand. In the code I just wrote white as the "else" since I have all the other color bit values anything else should be white. I would almost expect that on no signal (besides sync) the Fairchild would default to outputting a white screen. Since all of the color bits I defined afaik make the voltage lower. To clarify by analog I mean a non CPLD/FPGA solution. I do not know the proper term for such things. As long as you have a oscilloscope testing for the colors should be as easy as putting a solid color screen up and testing the 9322 pins outlined. You will see up and downs for active pins but the 0's should be steady. Edited December 10, 2019 by the_crayon_king Quote Link to comment Share on other sites More sharing options...
Kurt_Woloch Posted May 21, 2020 Share Posted May 21, 2020 Sorry for reviving this thread, but I think this is one of the best I could find... Since you took a deep look into the electronics, how would you explain the screenshot in this thread... There are colors shown which are not normally part of the pallette, such as purple, magenta, orange and yellow. Could those be some of the "undefined" colors, or is there a way to switch the pallette entirely? Maybe by putting out the color burst slightly late or yellow so that all the colors become a different shade? There still seem to be some "holes" in your definition... if I didn't get anything wrong... 0000>1000 8 > black 0001>1010 9 > grey (this sets b, so it could also be a color) 0010>1001 > (this sets a, so it could be a color as well) 0011>1011 > a sel, could be color 0100>1100 > b sel, could be color 0101>1110 > a and b sel, could be color 0110>1101 > a and b sel, could be color 0111>1111 > a and b sel, could be color 1000>0000 0 NC > this probably produces black?? 1001>0010 1 NC -> actually boost b sel, so this should produce a bright (or pastel) red. 1010>0001 2 > bg blue; boost a sel 1011>0011 3 > bg green; boost a&b sel 1100>0100 4 NC > this sets neither A nor B 1101>0110 5 > fg red; b sel 1110>0101 6 > fg blue; a sel 1111>0111 7 > fg green; a&b sel The question is how the colors shown above could be produced... if the picture only came about by the cartridge connector being loose and thus nonsensical software being executed, it should be possible to write software that produces the same colors. I'm not talking about hardware modifications here, just what could be produced with the stock hardware... which bits the CPU could flip to get results like this. My guess would be some of the pixels on the far left or right which normally aren't visible, but could affect the color burst being sent or something like this. Maybe the pallette is affected by more pixels per line than we know? Quote Link to comment Share on other sites More sharing options...
Kurt_Woloch Posted May 21, 2020 Share Posted May 21, 2020 I just looked at the schematics of the Channel F, and it seems like the 74146 chip near the bottom right converts a digital signal given by A0 through A3 to discrete outputs, which is a different one of its pins "light up" depending on which color it should be. On this chip, numbers 0 to 9 set a different output pin each while the combinations A through F are invalid and set no pin at all. The output pins you design as "NC" are actually not connected, so it doesn't matter if they "light up", only pins 2, 3 and 5 through 9 are connected and thus valid colors. Maybe "no pin" is also a valid color (probably white since this is the only missing color). Strangely, the colors have different numbers on the schematics... pins 2 through 6 produce color numbers 3 through 7, and pins 7 through 9 produce color numbers 9 through 11. Then, actually coming out of that chip, BG grey, FG green, FG red, BG green and BG blue actually produce the same value because they are switched together. Only FG blue and black produce different values, so this probably is only the luminance value produced there. There are surely some strange things going on, so it's entirely possible than the different combinations which are all "invalid" for the 74145 still have different effects on screen and also are affecting the burst if they appear in select locations. Quote Link to comment Share on other sites More sharing options...
e5frog Posted May 22, 2020 Share Posted May 22, 2020 The image shown above is most likely displaying other colors because of the crappy video signal, colors bleed, they have checkered pattern etc. It's a well known way of mixing colors on other vintage systems, using the limited quality of RF or composite video signals. I think they aimed for that effect in Alien Invasion where there's a checkered pattern of blue and green at the bottom. ... there could be some defective logic chip though, who knows. Quote Link to comment Share on other sites More sharing options...
the_crayon_king Posted May 23, 2020 Author Share Posted May 23, 2020 On 5/21/2020 at 3:29 PM, Kurt_Woloch said: I just looked at the schematics of the Channel F, and it seems like the 74146 chip near the bottom right converts a digital signal given by A0 through A3 to discrete outputs, which is a different one of its pins "light up" depending on which color it should be. On this chip, numbers 0 to 9 set a different output pin each while the combinations A through F are invalid and set no pin at all. The output pins you design as "NC" are actually not connected, so it doesn't matter if they "light up", only pins 2, 3 and 5 through 9 are connected and thus valid colors. Maybe "no pin" is also a valid color (probably white since this is the only missing color). Strangely, the colors have different numbers on the schematics... pins 2 through 6 produce color numbers 3 through 7, and pins 7 through 9 produce color numbers 9 through 11. Then, actually coming out of that chip, BG grey, FG green, FG red, BG green and BG blue actually produce the same value because they are switched together. Only FG blue and black produce different values, so this probably is only the luminance value produced there. There are surely some strange things going on, so it's entirely possible than the different combinations which are all "invalid" for the 74145 still have different effects on screen and also are affecting the burst if they appear in select locations. I am actually looking at the color codes before that 74145*. https://i.imgur.com/X14icKl.png If you look at this picture that I have doodled all over you can see the 74153 is making chroma and burst (another part of chroma). If you split that chroma from the luma (sync and colors) then you could feasibly get S-Video. I think it is like you said the reason they only use a few valid colors 4? instead of 8 is that they only need the luminance values which could be the same across different colors. The last I figured I had this: DCBA (9322) 0000 = 0 NC > possible white 0001 = 1 NC > If white does have burst then this is it. 0010 = 2 > blue light 0011 = 3 > green light 0100 = 4 NC > possible white 0101 = 5 > red bright 0110 = 6 > blue bright 0111 = 7 > green bright 1000 = 8 > black 1001 = 9 > grey 1100 = X > this is not a valid output but could be used for white maybe. white can be 0000 0100 1100 this is cause white has lack of burst and XX11 XX10 XX01 set burst amplitude. After sync is the burst period and you would have that before the color signal. -------------------------------------------------------------- So that was my understanding as well that white must be a floating pin in regards to the 74145. Also it may be important to mention that those outputs are active low. So the voltage goes DOWN when they are active not up further making a case for the floating pin thing. What confuses me is that they have connected pins that are high/low together directly but for now I am ignoring this. It is very possible that I messed up the colors when making a RGB design however the only reliable way to fix this is testing. It should still put out video regardless it would just be a matter of switching around the BCD connections. -------------------------------------------------------------- I actually got all the items together to test the fairchild and see some of this stuff so I may do that and update. Quote Link to comment Share on other sites More sharing options...
the_crayon_king Posted December 28, 2020 Author Share Posted December 28, 2020 Unfortunately, the second revision of the Fairchild needs a totally different solution than I have outlined here. The FCM9101 is the IC of interest on the model 2. Most if not all of the outputs appear to be 12V as well . So there needs to be at least a logic level shifter applied somewhere. I will figure out what I can. In the mean time if anyone has any info about that IC let me know. It is possible that I might be able to interface someplace else on the model 2. I was frankly caught off guard by how different the two boards are. Quote Link to comment Share on other sites More sharing options...
the_crayon_king Posted January 14, 2021 Author Share Posted January 14, 2021 So I do not know what colors are supposed to be what yet. The FCM9101 has three luma lines all tied together to make colors. All three digital. What does 3 bits come out to ? (7 but really 8 ) how many colors does the fairchild have ? 8. Coincidence I think not. Relevant pins are 35, 36, and 37. I am going to thumb around and I will get back when I get full video out. Sync and blank are also in these lines. Which I guess is good in the case of blank but it might be complicated to get sync back out of this cleanly. Quote Link to comment Share on other sites More sharing options...
the_crayon_king Posted January 15, 2021 Author Share Posted January 15, 2021 (edited) It won't let me edit. All you need to say for sync is if all bits are low then sync is low; else sync is high. You could get this sync with a 3 channel and gate. May only need a 2 channel. If you try to take sync without doing this logic then you will get glitches since it uses section of what is mostly sync or mostly blank for doing other things when video is active. The problem is that if one of the 8 states (000) is sync then I will need at least one more bit because that only leaves 7 for the rest of the 8 colors. Even with an extra bit that is only 16 possible states so yea I will brute force the logic here. Even if for some crazy reason I need 5 bits that is still only 32 states; which is still well within brute force territory. Even the Fairchild has a simple way to get sync. TF was the Intellivision trying to do? Edited January 15, 2021 by the_crayon_king Quote Link to comment Share on other sites More sharing options...
e5frog Posted January 17, 2021 Share Posted January 17, 2021 Very nice! Are there plans to clean the signal up and get rid of the characteristic shadows? Quote Link to comment Share on other sites More sharing options...
the_crayon_king Posted January 17, 2021 Author Share Posted January 17, 2021 (edited) 2 hours ago, e5frog said: Very nice! Are there plans to clean the signal up and get rid of the characteristic shadows? If you are talking about what you see on my TV that is most likely just something that TV does. Whatever the XRGB or a Datapath displays will be more representative of the actual video quality. There is not a decent clock for me to connect to atm which is another problem. Another problem is these signals are all 12V and my device maxes out at 5. There are a few different locations putting out video data. I think maybe the best bet is the DRAM inputs. Since at least 3 of the colors are inside of chroma info it might be hard to recover a digital signal from that. Or AFAIK 3 colors must share the same Y values with chroma being the difference between those and the three others. In the mean time S-Video or composite would be easy. All you need is an op amp. I will probably try to figure that out before the RGB just to have something besides RF to look at. I'm literally just going to separate Y/C measure the P-P of Y and then just amplify by an amount that gives me 2V p-p for Y; then amplify C by the same scale. Hopefully that amount is 6db and I can just use a THS7314 or something.. That same methodology can be used on most if not all 1st gen and second gen consoles. I just wanted to note that this is my third Fairchild. 2 have burnt up from? The last model seems the most robust. Howver, I am sort of afraid to work on this thing. The ground plane is a super tight tolerance and all the signals are 12V. The ground plane is also just raw metal with no covering Super sketchy. Link below shows location of chroma and luma: https://i.imgur.com/9slfrxB.jpg Edited January 17, 2021 by the_crayon_king Quote Link to comment Share on other sites More sharing options...
e5frog Posted January 18, 2021 Share Posted January 18, 2021 I did a composite solution that I currently use on one of mine. http://channelf.se/veswiki/index.php?title=Modding Just a lazy trial and error solution, amplifier ready and then poke around for a signal according to the schematic. Quote Link to comment Share on other sites More sharing options...
the_crayon_king Posted January 28, 2021 Author Share Posted January 28, 2021 (edited) On 1/18/2021 at 9:28 AM, e5frog said: I did a composite solution that I currently use on one of mine. http://channelf.se/veswiki/index.php?title=Modding Just a lazy trial and error solution, amplifier ready and then poke around for a signal according to the schematic. Getting RGB is more for the fun of it than anything else. I will make my own circuit for S-Video/Composite later I just got into the RGB portion first. So with white as one output and max red/blue as another output (the only two colors I put in) somehow, I get the color green. Somehow it is doing something by quickly switching colors to create other colors. I have never seen anything quite like this. Edited January 28, 2021 by the_crayon_king Quote Link to comment Share on other sites More sharing options...
e5frog Posted January 29, 2021 Share Posted January 29, 2021 On 1/28/2021 at 4:21 AM, the_crayon_king said: So with white as one output and max red/blue as another output (the only two colors I put in) somehow, I get the color green. Somehow it is doing something by quickly switching colors to create other colors. I have never seen anything quite like this. Haven't read much about it, there's perhaps a luma setting Y and then I and Q chroma signals. https://en.wikipedia.org/wiki/YIQ Quote Link to comment Share on other sites More sharing options...
the_crayon_king Posted January 30, 2021 Author Share Posted January 30, 2021 15 hours ago, e5frog said: Haven't read much about it, there's perhaps a luma setting Y and then I and Q chroma signals. https://en.wikipedia.org/wiki/YIQ Idk, I think I was off on where/when I was setting blank which was doing some weird things. I could get 5 colors the way I was doing things. However, I couldn't get anymore because the rest are differentiated with chroma. I tried to use chroma to do something but it was a non-starter. Anyway, all that time hasn't been wasted; I have learned a lot. The pins you need to attach to get RGB are pins 7, 8, 9, 10 of the FCM9101. Those have all of the color data inside of them. However, it can't just be used directly. I will have to do more research. Of all the consoles that I have gotten RGB out of this is the biggest pain so far. Assuming my channel F holds up it will be done sooner or later. Here is data not necessarily directed at anyone: The pulses of 0 to 1 or 1 to 0 last for variable amounts of time but they are all spaced out at 64us. That is why some colors can have the same codes but be different colors. So if it is 0 for 1us or longer; then if it is 1 for 1us; then the next part makes all the difference. If it goes to 0 then that means your upward pulse is 1us long so the bits = color 1 if it stays at 1 that means your pulse is greater than 1us so that means it is color 2. Sync is also somewhere inside of here I will have to go back through and see where/when. There might be a way to do this without a clock I will have to think about what data I have collected. Solid 1/0 , means during the color it is steady at 1/0 0 to 1/1 to 0 means that it is mostly in one state and then changes. color pin 7 pin 8 pin 9 pin 10 BITS ACTUAL TRANSITION TRIGGERED GREEN SOLID 1 SOLID 1 SOLID 1 SOLID 1 1111 1111 RED SOLID 1 SOLID 1 0 TO 1 0 TO 1 11XX 1111 BLUE 0 TO 1 0 TO 1 SOLID 1 SOLID 1 XX11 1111 LGREEN 0 TO 1 0 TO 1 0 TO 1 0 TO 1 XXXX 1111 LBLUE 0 TO 1 SOLID 0 0 TO 1 0 TO 1 X0XX 1011 GREY 0 TO 1 0 TO 1 0 TO 1 0 TO 1 XXXX 1111 BLACK 0 TO 1 SOLID 0 0 TO 1 0 TO 1 X0XX 1011 WHITE 1 TO 0 1 TO 0 SOLID 1 SOLID 1 XX11 0011 Quote Link to comment Share on other sites More sharing options...
the_crayon_king Posted January 30, 2021 Author Share Posted January 30, 2021 Sync is NOT inside those bits nor blank. Unless I am missing something... That just means sync/blank has to be taken from another spot so it is not a big deal just good to know. Quote Link to comment Share on other sites More sharing options...
the_crayon_king Posted January 31, 2021 Author Share Posted January 31, 2021 I could only look at one color closer before my AC adapter stopped working. I don't believe it fried the console. The adapter burning up most likely did not have anything to do with my modding. Black is going from 0000 to 0110 to 1111 then back to 0000 I think there is probably a combination of latches going on here but since the adapter stopped working I cannot make anymore progress till I sort that out (most likely by powering the power regs directly). If the Fairchild model 2 uses unregulated power or negative power someplace then that is going to be a pain. I think 0000 is most likely black and 0110 and 1111 are the setup to that. So 7 more combinations like that and I will have video. I don't know why the codes for say black repeat and codes for green stay the same. There is probably a setup at the very start of green that I have yet to capture. BLACK Quote Link to comment Share on other sites More sharing options...
e5frog Posted January 31, 2021 Share Posted January 31, 2021 (edited) Both model 1 and model 2 has the same two different AC-voltages going into the console. Model 1 requires some more power with all its logic-chips, model 2 requires less because of the custom integrated chips - so the latter PSU is physically smaller. There are model 1 looking consoles with a small PSU as well - these are the middle versions that have the new chips, which makes the motherboard look very empty. That also means they have the upgraded sound, and it seems there are versions with built-in speaker or sound via the antenna. Anyway, we have two levels of AC in which are rectified (diodes/bridge pack) and smoothed with electrolytic caps to result in over 7V/14V for the 5V/12V regulators. -5V is used for RAM - it's made in the console. They haven't been shy with the AC input voltages so there's more than enough voltage which makes regulators run quite warm, sometimes they aren't screwed into the metal cover (which works as a heat sink). I had a model 2 which had the regulators in sockets, don't know if it was the original construction but I guess it was a lot easier to swap them. You can hook up 12VDC and 5VDC directly, easiest is to use the legs of the capacitors after the regulators, either from two separate PSUs or a double voltage version like the ones used to externally hook up a harddrive - or even a PC PSU. These need to be stabilized of course, a USB charger is not recommended unless first checking it gives continous stable voltage. It's interesting work, keep it up. Edited January 31, 2021 by e5frog 1 Quote Link to comment Share on other sites More sharing options...
the_crayon_king Posted February 3, 2021 Author Share Posted February 3, 2021 On 1/31/2021 at 11:40 AM, e5frog said: Both model 1 and model 2 has the same two different AC-voltages going into the console. Model 1 requires some more power with all its logic-chips, model 2 requires less because of the custom integrated chips - so the latter PSU is physically smaller. There are model 1 looking consoles with a small PSU as well - these are the middle versions that have the new chips, which makes the motherboard look very empty. That also means they have the upgraded sound, and it seems there are versions with built-in speaker or sound via the antenna. Anyway, we have two levels of AC in which are rectified (diodes/bridge pack) and smoothed with electrolytic caps to result in over 7V/14V for the 5V/12V regulators. -5V is used for RAM - it's made in the console. They haven't been shy with the AC input voltages so there's more than enough voltage which makes regulators run quite warm, sometimes they aren't screwed into the metal cover (which works as a heat sink). I had a model 2 which had the regulators in sockets, don't know if it was the original construction but I guess it was a lot easier to swap them. You can hook up 12VDC and 5VDC directly, easiest is to use the legs of the capacitors after the regulators, either from two separate PSUs or a double voltage version like the ones used to externally hook up a harddrive - or even a PC PSU. These need to be stabilized of course, a USB charger is not recommended unless first checking it gives continous stable voltage. It's interesting work, keep it up. Thanks, that has me back in business for now. As far as I can tell there are 4 inputs from the ram (to the PPU); 3 luma/sync outputs (from the PPU), and 2 Chroma outputs (useless). The truth table for those bits are: BS 00 --- SYNC 01 ---BLACK/BLANK/BLUE 10 ---RED / GREEN 11 ---GRAY/WHITE The last bit of the three only seems used during white/gray. It would make sense that bit being one would be the difference between white/gray but that doesn't really happen in practice. I still have the possibility of digging something out from the RAM as they have color information too (the blue in the below picture is from RAM). The problem is the RAM outputs are happening much sooner than the PPU outputs. If you could delay the RAM to match the PPU then I am certain you could use the combination of logic to get all of the colors. Otherwise all of the colors might be in RAM and I just haven't been able to write the code in a correct enough manner yet (this is likely). The code(s) that differentiate black and blue are not happening at the same time as the color codes from above. That's why you see black where blue should be. I didn't put in the code to differentiate green/red yet. This is what I have so far. : Quote Link to comment Share on other sites More sharing options...
e5frog Posted February 3, 2021 Share Posted February 3, 2021 Nice work! Is gate delays in the vicinity of what is needed? (usually in the range of 6-33ns) If color information goes into the RAM it should be possible to pick it up earlier? When setting the color information in the software you set the color on port 1, column on port 4 and row on port 5. Color codes: green = $00 (%00000000) red = $40 (%01000000) blue = $80 (%10000000) bkg = $C0 (%11000000) I believe anything sent through the ports is inverted, you invert it before writing it to the port. Activation sequence for setting VRAM with this information is done with: $60 on port 0 (port 0 is on CPU pins 16,11,10,5,36,31,30,29 bit0-7) $40 to port 0 (keeps the bit 1 on joystick signals, zeroes - on the input of the port - the other bits) Then a delay is needed for the real machine (not in MESS emulation) before you try and change graphics again or there's garbage. So when there's a pulse on bit 5 (pin 31) of port 0, reading the data from ports 1, 4 and 5 at that pulse gives the color and coordinate. You'd need a video memory to plot in and then an output routine for the RGB/HDMI/whatever to draw these. Not sure how you do it, perhaps decoding the actual analog TV output is a better/easier and cheaper approach. Perhaps also an easier DIY method. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.