Closed ktownsend-personal closed 1 month ago
I got it figured out. It was a good learning experience. While tracing signals I finally noticed that A11 was only present on the 8031 but not the other two chips or on the 20-pin header. Then it dawned on me... when I was soldering that pin header on I managed to get one segment of pins way out of position and in my fight to desolder it one of the pads came off. I knew at the time it would probably be a problem, but then completely forgot about it. I added a bodge wire to fix it and now I am getting the serial response. đź‘Ť
Now I can play with it and see what it can do. This weekend I plan to assemble the forth extender board. My uncle gave me a Forth book 3 decades ago and he will love to hear about it.
Just for fun, I am also going to see if I can use another kit I bought at VCF (CHIP computer) to act as a serial terminal into this 8031 kit.
Glad you got it figured out! When assembling the expansion PCB, be sure to follow the instructions closely on placing the 24 pin socket as it and the RAM are narrow and the PCB will take standard .600 or narrow .300 packaged RAM / socket. I've seen it twice where folks had soldered the socket in the wrong set of pads, but one admitted to not using the instructions when assembling. The other? Another local friend who assembled his just before I got the instructions online. :)
If you have trouble with connecting C.H.I.P., remember that the serial port on it is connected to the USB Serial dongle for powering the computer. I'm not 100% sure how to connect to that and would have to ask Vince Briel.
Chatted with Vince... You can make any pins a serial port so here you can use 3 of the pins on the block of pins next to the VGA connector on CHIP as your serial port.
In CTERM.BAS, change: 10 SERIAL 31,30,0,300 to: 10 SERIAL 8,9,0,9600
Where the command is: SERIAL T,R,0,BAUD
This makes P8 Transmit, P9 Receive, and Gnd is the ground wire for your serial port communicationa.
You'll need 9600 for CamelForth. BASIC-52 will autobaud when you connect by pressing the space bar, but CamelForth is hard coded to 9600 baud.
I haven't tried it yet, but will. Save the file with a different name afterwards like 8031TERM.BAS
Nice! Thanks for asking Vince about the serial. I suspected the GPIO could be used for serial but hadn't looked at it yet. I was also considering using clips on the TX/RX pins feeding the USB module, since they are accessible via the pin header used to mount it. I may still try that just to see if it will work, but ultimately I will use the GPIO pins for serial because it is a cleaner option with standard dupont wires.
Good to know the CamelForth is fixed at 9600 baud. I didn't realize the BASIC-52 was able to auto-negotiate the baud rate. What range is it capable of?
Thanks for the tip on the narrow socket. I noticed the dual width option, and looking at the traces it's clear which way to install it...but I can definitely see how one might get it in the wrong position. After I mangled the pad on the pin header of the main board trying to fix a placement mishap, I definitely don't want to have to fight with desoldering a socket if I can avoid it.
I've really enjoyed soldering these kits together. It's bringing back memories and dusting off my old skills...and teaching me some new things in the process. Thanks for having these at the VCF! That was my first VCF and I had a blast. I had no idea it existed until I happened to hear Adrian Black mention that he was going to be there in one of his videos. I'm looking forward to getting more connected with the local retro computer community. I have several restoration projects queued up, like a couple of Apple II+ machines I've had in storage for 30-ish years, two Apple IIc machines with monitors I got at VCF, two original cocktail table games from 1979 and 1981 (Space Invaders & Pac Man) my wife's father bought new for his vending business, an Intellivision my wife had as a kid, plus a Commodore 64 with Commodore monitor and a very old 8-track recorder that belonged to her uncle. Restoring all these machines has been a hobby-in-waiting for a long time and I'm excited to finally get it started. Going to VCF was a great catalyst to get me going. I found and joined the DFW Retro Computing group on Facebook yesterday, and also found mention of a meet and greet October 19th that I am planning to attend. (links are for others that may stumble on this, as I'm sure you're already aware of these things)
I watched some of your videos yesterday and enjoyed the "bad caps class". Especially the bit about older packages. Even though my original electronics training was 34 years ago, those old confusing packages were already out of favor and I wasn't aware of them. I suspect I may find some of those in that 8-track recorder. I had no idea caps could look like resistors, or used to have color bands and dots, even on other package styles.
Looks like you may need a 2.2K resistor inline with Receive on the CHIP (I/O pin 9) to keep from overdriving the 3.3v input with the 5v TTL signalling.
Thanks. I hadn’t noticed yet the CHIP was 3.3V. Didn’t get a chance to try it out last night like I planned, which turns out to have been beneficial because I probably would have assumed both kits were 5V after the work I did making a bluetooth to PS/2 adapter and using 5V from PS/2 port to power it. I definitely need to add GPIO voltage spec verification to my mental checklist. For the ESP32 I found a reference that its GPIO are 5V tolerant as long as the ESP is powered 3.3V, which is handy for that adapter to wire the PS/2 directly to GPIO. I wonder if the propeller chip might have 5V tolerance? Not going to risk it in this case, but may see what I can discover in the spec sheet.
I was surprised inline resistor rather than a divider, but then found this interesting post that supports the inline resistor approach on the Propeller controller because the design of the GPIO itself effectively results in a divider, although there is some small capacitance characteristic to watch for that will affect high speed signals. It mentions 3.3k, so I may try that for lower current and see if it works.
Had a 2.2k handy, so I just used that. The TX voltage from CHIP is down to 3.3V as expected and serial is working at 300 baud, but not 9600 or even 1200. At higher baud rates most of the data is not displayed until the tail of the data. The results displayed for the same inputs are consistent, so I suspect the terminal program speed or the BASIC serial handler or a lack of serial buffering are the issue rather than RC filtering caused by adding the resistor. More research needed.
I built the Forth expansion board a few minutes ago and it's working nicely. Using my regular PC to connect to it to get the 9600 baud. It's interesting that the active ROM is managing the serial. I initially imagined more of an outer layer managing the serial independently of either ROM but I guess in this architecture the ROM has to handle everything, which does make sense now that I've become aware of it.
Is it normal for CamelForth to ignore backspaces? I mis-type a lot and it's frustrating to not be able to backspace LOL
Is there a way to switch back to BASIC or is reset the only way back? If there is a way back to BASIC without reset, does it remember the loaded program?
The CamelForth program initializes the serial port on its own. I haven't asked the creator if he could add in the code for auto-detect or if there was an entry point to use that would leave the existing serial port settings intact.
Reset is the only way back to BASIC-52 as I don't know of a way to exit out of CF. As for backspaces, try different terminal emulation or other backspace methods like Ctrl-H.
I finally got a chance to hook it all back up and test using CTRL-H to backspace in Forth. That definitely works. Interesting that it doesn't accept the backspace character. Thanks for your help!
Just remembered a question. Is it normal for the USB to TTL adapter to get very hot? I used my FLIR and found the temp of the little 3-legged U2 is over 300F, enough to cause a burn if touched directly. The edge of the board is very hot to handle. This much heat seems unusual, but figured I'd ask in case that's just the way its designed. The whole device just plugged into USB without anything on serial pins started out drawing 0.11A and climbed slowly to 0.16A. That seems like a lot for this device. I may look for a more efficient one, but it's working fine for now and just wanted to see if you have the same experience with others of this design or if it's unusual.
I bought your kit at VCFSW a few weeks ago and finally got a chance to assemble it today. Unfortunately I'm not getting any response on serial. With my scope I see what looks like normal activity on the data and bus lines, and I see my incoming serial data from the USB to TTL device on pin 10 of the 8031, but the chip is not responding with any serial data. Do you have any tips to troubleshoot this board?