Jump to content
IGNORED

The Compact Computer 40 (CC40)


Recommended Posts

On 6/22/2023 at 5:03 PM, Xenawise said:

I had some PCB's made at JLCPCB of the ROM, RAM and HEXTIr projects from the files on the GITHUB pages for these respective projects. The first PCB's for the RAM and ROM carts were too thick (I went with the standard 1.6mm thickness) to fit into the cartridge connector on the CC40, so I had to make more at 0.8mm thickness which just arrived and these fit in the cartridge connector just fine. 

Hmm, I thought I wrote somewhere that they have to be .8mm-1.0mm to fit.  I'll have to add it.  Feel free to pull and merge some text in the README.md file

 

Quote

I have also built-up the HEXTIr PCB and now am having problems programming the ATMEGA328 chip. I am using a TI866II Plus programmer and tried the .bin and .hex files from the GITHUB but no dice. Well, I expect the power LED to light up to indicate the microcontroller is working, but I get no LED at all. I have not tried to hook it up to the CC40 yet as I wanted to make sure the HEXTIr was working before I took that step. 

DId you try to program the files from the https://github.com/go4retro/HEXTIr/tree/master/obj-m328 directory?  The single PCB design I have in there is different from the Arduino configs.  Also, which PCB design did you use? v1 or v1.1?

 

Jim

 

Quote

 

 

Link to comment
Share on other sites

13 hours ago, brain said:

DId you try to program the files from the https://github.com/go4retro/HEXTIr/tree/master/obj-m328 directory?  The single PCB design I have in there is different from the Arduino configs.  Also, which PCB design did you use? v1 or v1.1?

I used the v1.1 PCB design. Just as a side note, the HEXBUS filter capacitor values are not called out in the schematic (C3, C4, C8, C9, C10, C11) and I assume they are supposed to be 180pf as in other official HEXBUS peripherals. Also, C1 and C2 are not called out around the crystal but obviously these should be 22pf if this design is based on the Arduino. R1 is not called out and again I assume this is 10K for the Reset pull-up. And finally, the 7805L regulator. Is this a regular 78L05 or is it really a 7805L regulator? Coming from the two CR2032 coin cells, this would be around 6.2-6.3V with fresh cells, but the dropout voltage for a standard 78L05 is right around 1.4V or so, I have to believe this is a low dropout voltage regulator that needs to go here so a standard 78L05 would not be a great solution here. Your comments on this would be much appreciated.

 

Also I did use those files from the link provided. I also tried the latest release files 9.3.3.0. One question is the Fuses. I can see in some of the object files that these look to be:

 

LFUSE = 0xFF

HFUSE = 0xDF

EFUSE = 0xF9

 

The TL866II Plus programmer can program the FLASH, EEPROM, FUSES and LOCK BITS. I gather that since there is no EEPROM file that the EEPROM is not programmed at all. I use the .bin and/or .hex file(s) for the FLASH, and I set the FUSES as mentioned above.

 

One question is if programmed correctly, does the Power LED light up when power is applied and nothing else connected to the HEXTIr? No SD card inserted and nothing connected to the HEXBUS connectors? Or do you have to a SD card inserted and/or have the HEXTIr hooked up to a CC40 or TI74 for the Power LED to light up?

 

I may have gotten some Chinese knock off ATMEGA328 chips, and that might be problem why this is not working. I tend to doubt that, but it is a possibility. 

 

Thanks again for your comments Jim. I really am looking forward to getting your HEXTIr working.

 

Regards,

 

Xenawise

Link to comment
Share on other sites

No worries.  Time grew short tonight to grab the PCB and try it out, but will do so MOnday evening.  Yes, teh LED should light, so let me see if I have messed up the build.  I focused my last attention on the Arduino build, and could have broken the regular one.

 

Jim

  • Like 1
Link to comment
Share on other sites

12 hours ago, Xenawise said:

I used the v1.1 PCB design. Just as a side note, the HEXBUS filter capacitor values are not called out in the schematic (C3, C4, C8, C9, C10, C11) and I assume they are supposed to be 180pf as in other official HEXBUS peripherals. Also, C1 and C2 are not called out around the crystal but obviously these should be 22pf if this design is based on the Arduino. R1 is not called out and again I assume this is 10K for the Reset pull-up. And finally, the 7805L regulator. Is this a regular 78L05 or is it really a 7805L regulator? Coming from the two CR2032 coin cells, this would be around 6.2-6.3V with fresh cells, but the dropout voltage for a standard 78L05 is right around 1.4V or so, I have to believe this is a low dropout voltage regulator that needs to go here so a standard 78L05 would not be a great solution here. Your comments on this would be much appreciated.

 

Also I did use those files from the link provided. I also tried the latest release files 9.3.3.0. One question is the Fuses. I can see in some of the object files that these look to be:

 

LFUSE = 0xFF

HFUSE = 0xDF

EFUSE = 0xF9

 

The TL866II Plus programmer can program the FLASH, EEPROM, FUSES and LOCK BITS. I gather that since there is no EEPROM file that the EEPROM is not programmed at all. I use the .bin and/or .hex file(s) for the FLASH, and I set the FUSES as mentioned above.

 

One question is if programmed correctly, does the Power LED light up when power is applied and nothing else connected to the HEXTIr? No SD card inserted and nothing connected to the HEXBUS connectors? Or do you have to a SD card inserted and/or have the HEXTIr hooked up to a CC40 or TI74 for the Power LED to light up?

 

I may have gotten some Chinese knock off ATMEGA328 chips, and that might be problem why this is not working. I tend to doubt that, but it is a possibility. 

 

Thanks again for your comments Jim. I really am looking forward to getting your HEXTIr working.

 

Regards,

 

Xenawise

I think the caps are 82pF, but I will check.  Sreid specced those, from TI data sheets, but let me check my notes.

C1/C2 are 18-22 pF, just like Arduino, if you select a 12-18pF parallel cap crystal.

R1 is 10K (good catches, nag me to update the schem)

The 7805 would actually be something like: https://www.digikey.com/en/products/detail/texas-instruments/LM2931AZ-5-0-LFT1/3640755  I think I just used the '05 footprint since it was handy.

 

I'll check the Makefile for the fuses.

 

Jim

  • Like 1
Link to comment
Share on other sites

As noted, some of the defines were not correct for the new PCB.  Fixed that.

 

But, still not working.  Eventually, I moved back to the Arduino build, still not working.

 

A few possibilities:

 

a) my cc40 has hexbus issues (need to pull out a second unit)

b) the current build has issues (need to roll back and try an older build)

 

I'm going to try (b) first, as it's simpler, but time grew short in the evenings and this sort of debugging is not done well late at night when I'm tired.  This weekend is a holiday one in US, and I've got some time with no interruptions this evening.  Sunday as well.

 

Jim

  • Like 1
Link to comment
Share on other sites

Hey Jim, been out for some July 4th vacation so a little catch-up for me here, I am not sure what is needed to compile the files, I assume AVRDUDE or the ARDUINO IDE to compile the files into a useable .HEX or .BIN file to program into the AMEGA328P.

 

I can't help on the Arduino version of HEXTIr. I don't have the required sketch and parts for that. Has anyone stepped in to help with that part? Perhaps ArcadeShopper since I believe he sells the Arduino version of the HEXTIr right?

 

Any word on how things are progressing on the dedicated version of the HEXTIr code?

 

Thanks again for all the effort!

 

Xenawise

Link to comment
Share on other sites

I'm still having issues with my test environment, but, assuming the latest Arduino build is working, I made the pin mapping changes and recompiled and pushed to the repo.  Feel free to try and report back.

 

To address my test env issues, I need to get a logic analyzer on the bus, and that won't happen until this weekend.

  • Like 1
Link to comment
Share on other sites

Well, I programmed the latest .BIN file you uploaded to the repo and tried it out. I can say that power LED does now light up, and the HEXTIr is drawing some current now! (It was not drawing anything before) It's drawing about 10ma and 0.05watts so it must be doing something (maybe just the power draw of the power LED). Now I need to cobble together a HEXBUS cable so I can use it with the CC40 and see if I can get it to "see" the HEXTIr...

 

All in all, I think this is progress!

 

Again, appreciate the time and work you are putting into this. 

 

Xenawise

 

  • Like 1
Link to comment
Share on other sites

  • 2 months later...
  • 3 weeks later...
1 hour ago, Vorticon said:

Has anyone tried chaining the SD drive to other Hexbus components? I tried chaining mine to the RS232 peripheral, and it works fine but the RS232 locks up when access is attempted with an OPEN statement and the drive is present.

Does it do that with the RS-232 before it, after it, or both when in the address chain? Curious to see if there is a difference (and there probably won't be, but this would confirm it).

Link to comment
Share on other sites

1 hour ago, Vorticon said:

Has anyone tried chaining the SD drive to other Hexbus components? I tried chaining mine to the RS232 peripheral, and it works fine but the RS232 locks up when access is attempted with an OPEN statement and the drive is present.

You'd need to change the address of the built-in RS232 in the HEXTIr before putting it into a chain.  They are no doubt fighting for the address.

Link to comment
Share on other sites

Someone might have to write some code to do it, but it looks like you open a channel to the rs232 and in the open, use "se dev=21".  then, to make it permanent, you'd need to open device 21 and use "st" in the open. 

 

But, I'll admit that code is not well tested.  Anotehr way to do it is to change the line in serial.cpp and compile and load a new firmware:  The line is:

 

https://github.com/go4retro/HEXTIr/blob/51ea22df26cbc6beedb13e90dd0e530246948a9c/src/serial.cpp#L560

  reg_add(DEV_SER_START, ser_dev, DEV_SER_END, ops);

 

which can be switched to:

 

  reg_add(DEV_SER_START, 21, DEV_SER_END, ops);

 

Link to comment
Share on other sites

So the DE command does not seem to work to change the device number.

Issuing OPEN #255,"20.DE=21" does not throw any errors. However, when I try to close #255 immediately afterward I don't get the expected error, telling me that the device number was not changed. And sure enough issuing after that a OPEN #255,"21.ST" immediately gives a file error. I can still however open device 20.

Link to comment
Share on other sites

2 minutes ago, Vorticon said:

So the DE command does not seem to work to change the device number.

Issuing OPEN #255,"20.DE=21" does not throw any errors. However, when I try to close #255 immediately afterward I don't get the expected error, telling me that the device number was not changed. And sure enough issuing after that a OPEN #255,"21.ST" immediately gives a file error. I can still however open device 20.

Read my comment again.  It's "se dev=21" 

 

Jim

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...