It has been a while since I had time to work on the TX8 but the past two days I managed to squeeze a few hours in.
The last time working on the system I got the new TMS9929A devices in and they all seemed to be working. At the time I did not have a display connected so I assumed that when I could read and write data properly to the VRAM that the VDP was working. Unfortunately that was not the case. After finally building a SCART RGB cable for the system I could see that the monitor was getting a proper sync but the displayed pattern did not make any sense at all.
After playing around (using BASIC) I noticed that the display memory seemed non linear. When writing a sequence of data to the display area I could see on the display that different segments of the display getting updated in a non linear way. Obviously that was not what I expected.
I went back to the schematic and studied the VDP section and actually had to study it for a while before I caught my mistake. Can you spot the error ?
The data sheet is extremely clear on how to connect the VRAM and I missed it. Look at the AD0 to AD7 pins of the VDP. I have mistakenly reversed the naming. This was probably done very early on the design process and I never caught it even though I spent months mulling over the schematic.
Bah, never mind, mistakes were made but it is a rather complex design with a lot of different buses and signals.
After fixing this error (cutting and replacing traces) the system started up as expected.
The BASIC that I am running is a 65C02 enhanced version of ehBasic. ehBasic was written by Lee Davison and is a derivative of Microsoft BASIC. It is a bit slow and I wold have preferred an integer BASIC but it has proven instrumental in debugging the hardware.
In the next update I will talk a little about implementing the keyboard driver.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.