Jump to content
IGNORED

The Compact Computer 40 (CC40)


Recommended Posts

7 hours ago, Vorticon said:

I think I'm going to wait until you hardware gurus sort it out before I modify my cart. The last thing I want is kill my CC40 (the last one went for over $300 so... :lol:).

I would.  Using the pin numbers on those schematics would truly trash a cc-40

 

Link to comment
Share on other sites

I think we may be looking at the wrong schematic.  HM61256 is an SRAM IC, so that schematic matches the CC RAM Cart (there's no battery backup on this cart, but that's easy to just not stuff those components).

 

I think the cc40mech.pdf is the correct file to use, if the full ROM is 64kB is since.  The multi-cart only banks on 32kB images, and that's a 64kB image.  The fix would be as simple as leaving the switch 1 off, and putting a jumper wire from the 3rd pin from the left (under the PCB) to A15 on the ROM.  Here is a pic:

 

image.thumb.png.62e1b8d31dc91b0c7b6bd54e68fe84a9.png

The edge pin needed is the one *under* the PCB (bottom side), and the wire can be connected to any of the 3 pads circled at the top right of the PCB.  All can be done on the bottom side of the PCB.  I would then load the image up as many times as will fit in the ROM, burn it, and try.

 

  • Like 1
Link to comment
Share on other sites

I also have an email out to Mike Dudeck about getting a beat up Memo Processor cart if he has one.  I plan on desoldering the ROM and scanning it in so I can notate it and providing the scan to the community; MP was the only 32K cart.  (I also need to find some good software to actually do the notating, so if anyone has suggestions, let me know.)

 

It'll be trivial to make a 32K ROM to 27256 adapter for it and try to rule things out with the TI board.  Then, I can visit the multicart board again.  We're working on it, thanks so much for your patience.

 

Just as a FYI for the adapter I'm making to fit on the board.

 

HN61256P	27256
1 N/C		Vpp 	
2 A13		A12	
20 A11		E/CE
22 CE		G/OE
23 A12		A11
26 CS		A13

Vpp needs tied high or low
A11 goes to A11
A12 goes to A12
A13 goes to A13
CE goes to E/CE
CS goes to G/OE

 

Edit:  Attached two schematics from CB Wilson's stash.  One is a 61256 (32K) single cartridge.  One is a dual 16K or 32K one, looks like.

cbwilson.png

CC-40_2-16KX8_32Kx8_ROM_Module_Feb_1983.pdf CC-40_2K8KRAM_32KROM.pdf

Edited by acadiel
Added extra attachments
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

  • 2 weeks later...

I've just received my CC-40 512K Ram Cartridge and I  am having some problems understanding how to use the cartridge. How to select the banks and add additional memory.

 

I've used call addmem but it only adds 12k

 

Any help appreciated. Thanks

Link to comment
Share on other sites

I added a battery to the 512k RAM Cartridge and started to play with it. Every time I switch bank (using dip switch) the cc gets initialized and all memory is erased. This way, why do we need a 512k cart? How can I switch banks without loosing the information in that bank?

 

Am I missing something here?

Link to comment
Share on other sites

The 512kB cart does not use the paging lines for anything, though you can close some jumpers on the back (P25.2 and P25.3) to enable the paging bits to be used to select which of 4 banks of 32kB can be used at any time.  The two lines override the first 2 switches of the 4 switch selector.  Thus, the switches need to be "off" for this to work.

 

TO be fair, I created the RAM cart from the ROM cart design, adding in the pieces from the original RAM cart design for battery backup.  But, the original RAM cart I think was just 32kB, so did not bank.  I created the design as a 512kB design since the ROM cart used the 512kB size, and the AS6CX008 came in various sizes, including the 128kB SRAM option that would be of use if the paging bits were leveraged.

 

So, it might be that 128kB is the largest RAM really usable.

 

Jim

 

Link to comment
Share on other sites

Thanks. But in that case how can we use it? Every time I switch banks using the dip switches cc40 initializes clearing all memory. You only get 16k usable at any time. Having the 512k cart or the original 16k cart it's about the same. Am I missing something here?

 

Probably activating the two jumpers on the back and activating paging it would make it more usable. Have more memory available at one time.

 

Luis

Link to comment
Share on other sites

If the cc40 resets every time, you can't use it all.  I designed the cart, but I relied on others to test it.  It appears no one tried to use more than 32kB (the design should allow 32kB at once).

 

But, before we write it off, I think someone should test restarting the cc40 16 times, once for each DIP switch setting.

Then, try to switch back to one of the previously set banks and see if it still resets.  If it does not, then the 16 times of resetting is to "format" all of the banks.

 

If it resets every time, even after the 16 "formats", then the best the cart can do is 128kB, with the jumpers on the back, but I don't think the internal OS uses the paging bits, so the extra RAM would only be usable with special programs.

 

 

Link to comment
Share on other sites

Since I'm in the process of going into yet another rabbit hole by having ordered a CC-40 from @arcadeshopper, I played a little in the last few days with my TI-74 to get started with CC40 thoughts :) 

 

I found an Arduino UNO from the bottom of a drawer and a SD card adapter shield, and built a HEXTIr. The SD card shield I have is from Seeedstudio. The PCB version of the shield is 4.2 and date is Nov 2013, and I think that sounds about right when I bought it. Soon that thing is retro in its own right... Anyway I had to edit the HEXTIr code a little to get it working with this setup, mainly in order to not try to detect the SD card presence (edited config.h). I also added a jumper to tie D10 and D4 together, in a lazy effort to get the chip select of the SD card to the right pin. The HEXTIr code uses by default pin D10 (i.e. PB2) for SD card select, while this shield uses D4 (PD4).  

In my build there's no pull up resistor on the D2 (PD2) pin (hex bus BAV signal), but it still worked. I compiled the HEXTIr firmware with the Arduino IDE. I kind of hate that IDE, but it is easy to get started. For good measure I enabled debugging by editing config.h:

#define CONFIG_UART_DEBUG

This was very useful, since otherwise it would have been hard to know if something is working. My main obstacle turned out to be a 2GB SD card, once I switched to a 32GB card it worked.

 

I used to have a pocket computer back in the day, for the life of me I can't remember the model but I believe it was a Sharp. The TI-74 brought back memories of that device and also made me wonder what happened to it, perhaps I gave it to my brother or something.

 

I also wanted to get a feel of what TMS7000 assembly looks like. I discovered that MAME supports the CC-40, so I compiled MAME, found the CC-40 ROMs and tested that. It took surprisingly little effort to compile and running MAME with

mame -window -debug

gave me a view of the assembly code on the CC-40.

 

I have no idea how to get the CC-40 cartridges loaded in MAME, I guess it wants some specific file names or something?

 

Another question: I was able to find and load the PC interface extension modules to the TI-74 (i.e. call poke, call peek etc.). I learned that these are loaded with LOAD.PGM, and it made me wonder how the LOAD.PGM itself works, as it somehow is able to load these machine code routines and make them visible to Basic. Also, is there a way to load all of the extensions in one go instead of manually loading them one by one? It feels that must be possible.

 

And finally, I assume someone has made an tokenizer and detokenizer for the TI-74/CC-40? I think I saw somewhere a mention of such a program, at least for Windows. Having it would make it possible to edit BASIC programs on a modern computer (and to take a look at what LOAD.PGM does). I am a Mac user, but I do have a windows box too.

 

Thanks for comments and advice already in advance!

IMG_7554 Large.jpeg

IMG_7553 Large.jpeg

  • Like 3
Link to comment
Share on other sites

On 4/17/2023 at 11:17 PM, brain said:

If the cc40 resets every time, you can't use it all.  I designed the cart, but I relied on others to test it.  It appears no one tried to use more than 32kB (the design should allow 32kB at once).

 

But, before we write it off, I think someone should test restarting the cc40 16 times, once for each DIP switch setting.

Then, try to switch back to one of the previously set banks and see if it still resets.  If it does not, then the 16 times of resetting is to "format" all of the banks.

 

If it resets every time, even after the 16 "formats", then the best the cart can do is 128kB, with the jumpers on the back, but I don't think the internal OS uses the paging bits, so the extra RAM would only be usable with special programs.

 

 

I've tested two times. The first time I restarted 16 times, once for each DIP switch setting and in the end I returned to the setting and it reset again. 

 

The other it was exactly the same but in each reset I executed the command CALL ADDMEM. And the result was exactly the same. It resets when you get back to the first setting (0000).

 

So, in face of this how can we use the card? How can we switch banks? Probably using assembly code? How can we take advantage of the extra RAM (512k)?

 

Now I have soldered the two jumpers on the back of the cartridge.

 

Thanks, any help appreciated.

 

Luis

Link to comment
Share on other sites

On 4/21/2023 at 9:48 AM, lmgvice said:

I've tested two times. The first time I restarted 16 times, once for each DIP switch setting and in the end I returned to the setting and it reset again. 

 

The other it was exactly the same but in each reset I executed the command CALL ADDMEM. And the result was exactly the same. It resets when you get back to the first setting (0000).

 

So, in face of this how can we use the card? How can we switch banks? Probably using assembly code? How can we take advantage of the extra RAM (512k)?

 

Now I have soldered the two jumpers on the back of the cartridge.

 

Thanks, any help appreciated.

 

Luis

At this point, you can only use the card as a 32kB RAM expansion.  Until someone writes code to use the 2 software banking bits, only the 32kB will be useful.  Thanks for testing.  i will update the schematic to utilize only a 128kB SRAM and remove the DIP switches.

Link to comment
Share on other sites

On 4/2/2023 at 8:21 PM, acadiel said:

I also have an email out to Mike Dudeck about getting a beat up Memo Processor cart if he has one.  I plan on desoldering the ROM and scanning it in so I can notate it and providing the scan to the community; MP was the only 32K cart.  (I also need to find some good software to actually do the notating, so if anyone has suggestions, let me know.)

 

It'll be trivial to make a 32K ROM to 27256 adapter for it and try to rule things out with the TI board.  Then, I can visit the multicart board again.  We're working on it, thanks so much for your patience.

 

Just as a FYI for the adapter I'm making to fit on the board.

 

HN61256P	27256
1 N/C		Vpp 	
2 A13		A12	
20 A11		E/CE
22 CE		G/OE
23 A12		A11
26 CS		A13

Vpp needs tied high or low
A11 goes to A11
A12 goes to A12
A13 goes to A13
CE goes to E/CE
CS goes to G/OE

 

Edit:  Attached two schematics from CB Wilson's stash.  One is a 61256 (32K) single cartridge.  One is a dual 16K or 32K one, looks like.

cbwilson.png

CC-40_2-16KX8_32Kx8_ROM_Module_Feb_1983.pdf 9.04 MB · 3 downloads CC-40_2K8KRAM_32KROM.pdf 7.09 MB · 3 downloads

Any updates Jon?

Link to comment
Share on other sites

I finally got around to playing with hexti-r. What a cool device! I may be a little dumb but the only way I could get the setclock.pgm to work is list and edit the year=, month=, etc. lines and run the program. Is that how it is supposed to work? Works for me. Are there any recent firmware updates ( after 2020 I supose)? How do you do that?
Video of clock running:
https://youtu.be/6KqP3gpBKoI

 

Great work Gregory Mcgill and Jim Brain!

Edited by stagemanbob
  • Like 3
Link to comment
Share on other sites

On 4/29/2023 at 2:33 AM, acadiel said:

Not yet.  I just unpacked the Memo processor cart.  Just have to desolder the ROM and will scan and post pics on here, then adapt it for a 27256, and try ALDS on it.

 

Any news about the EA problem in multicart? How to solve this problem?

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...
On 5/24/2023 at 2:47 PM, lmgvice said:

Any news about the EA problem in multicart? How to solve this problem? Any new developments?

The wait is probably going to be as frustrating as it is exciting.  This is a hobby that a lot of us dedicate as much time to as possible, but family personal commitments come first.  Try to give a little more than a week between inquiries -- everyone here stays up with their projects and threads, but cannot always give updates.

 

  • Like 4
Link to comment
Share on other sites

  • 3 weeks later...

Hello!

 

This reply is aimed at @brain. I recently purchased (2) TI CC40s and (2) TI74 BASICALCs and wanted to start loading old TI cartridges for these machines and saving my own programs to mass storage. I see that @brain created some DIY ROM and RAM cartridges as well as the HEXTIr SD card HEXBUS interface. 

 

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. 

 

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. 

 

So, any tips on programming the ATMEGA328 with the TI866II Plus programmer or do I need to go ahead and compile my own .bin or .hex files from the source files with AVRDude or the ARDUINO IDE? 

 

I don't really do much with ARDUINO these days, so just wanted some help in getting the chip programmed for the HEXTIr v1.1 PCB.

 

Thanks for a reply and also much appreciated on developing these tools for the CC40 and TI74. I know ArcadeShopper sells the HEXTIr, but I believe the one he sells is based on an ARDUINO hat version and I would like to get the dedicated HEXTIr PCB up and running. Since I had to get a minimum of 5 PCBs when I ordered them, I might as well make all 5 of them up and offer them up for sale to other interested folks. Not to take anything away from ArcadeShopper. I do plan on making a YouTube video on my experience building the HEXTIr PCB so that others who might be interested in the project can see how it can be done. 

 

Regards,

 

Xenawise

Edited by Xenawise
  • Like 1
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...