Jump to content
sparkdrummer

The Compact Computer 40 (CC40)

Recommended Posts

Hi,

 

my name is Meinhard and I'm new to this forum. This is my first post!

 

Last year I was inspired by the work of Jim. So I decided to build my own "Mass Storage Device" for my TI-74 from the beginning. During the development I learned a lot of the Hexbus and it's communication. The result was a self printed case within an Arduino, a SD card reader and LEDs for operating states. I'ts powered from USB cable which powers the calculator too to save batteries. On the 1GB SD card is plenty of space for beautiful programs and data.

 

Now I'm very happy with it because it's fast and reliable. I want to say thank you Jim for your great work and ideas that you shared to all of us.

 

(I admit the colour of the box is a little bit strange. It should be only a printing test but everything fitted well so I decided it's ok for me.)

 

Meinhard

mass_storage_device.png

  • Like 6
  • Thanks 3

Share this post


Link to post
Share on other sites
3 hours ago, meinhardm said:

Hi,

 

my name is Meinhard and I'm new to this forum. This is my first post!

 

Last year I was inspired by the work of Jim. So I decided to build my own "Mass Storage Device" for my TI-74 from the beginning. During the development I learned a lot of the Hexbus and it's communication. The result was a self printed case within an Arduino, a SD card reader and LEDs for operating states. I'ts powered from USB cable which powers the calculator too to save batteries. On the 1GB SD card is plenty of space for beautiful programs and data.

 

Now I'm very happy with it because it's fast and reliable. I want to say thank you Jim for your great work and ideas that you shared to all of us.

 

(I admit the colour of the box is a little bit strange. It should be only a printing test but everything fitted well so I decided it's ok for me.)

 

Meinhard

mass_storage_device.png

Great! Will you be sharing your design and software? Perhaps a video demonstrating its function? I would love to replicate your project for my CC40.

Share this post


Link to post
Share on other sites
3 hours ago, meinhardm said:

Hi,

 

my name is Meinhard and I'm new to this forum. This is my first post!

 

Last year I was inspired by the work of Jim. So I decided to build my own "Mass Storage Device" for my TI-74 from the beginning. During the development I learned a lot of the Hexbus and it's communication. The result was a self printed case within an Arduino, a SD card reader and LEDs for operating states. I'ts powered from USB cable which powers the calculator too to save batteries. On the 1GB SD card is plenty of space for beautiful programs and data.

 

Now I'm very happy with it because it's fast and reliable. I want to say thank you Jim for your great work and ideas that you shared to all of us.

 

(I admit the colour of the box is a little bit strange. It should be only a printing test but everything fitted well so I decided it's ok for me.)

 

Meinhard

mass_storage_device.png

Cool to see another variant.  is your source radically different from the version I have in github, or can I merge in some of your stuff into the mainline codebase?

  • Like 1

Share this post


Link to post
Share on other sites

When in rains it pours! Here is my completed variant. I am from Alberta and some Canadians call this province the Texas of Canada. So, I dub my build the "Alberta Instruments Brain 2020". Here is a short Youtube video as well...

 

 

Cheers, Keith

Screen Shot 2020-03-12 at 12.16.14 AM.png

  • Like 6

Share this post


Link to post
Share on other sites

Nice work guys! Question: is the full Hexbus spec implemented or just saving and loading functionality? For example, can you list a program to the SD card for later viewing or printing? How about sequential or random file access from within a running Basic program? Can the SD card be read by a computer or is it in a proprietary format?

  • Thanks 1

Share this post


Link to post
Share on other sites

Old, save, and list all work. Have not tried accessing from within Basic or machine language programs yet. File format is readable on my mac, ie listed text files. PGM files are in "internal" format, ie binary Basic tokens.

 

Cheers, Keith

  • Like 1

Share this post


Link to post
Share on other sites
9 minutes ago, skullpin said:

Old, save, and list all work. Have not tried accessing from within Basic or machine language programs yet. File format is readable on my mac, ie listed text files. PGM files are in "internal" format, ie binary Basic tokens.

 

Cheers, Keith

Excellent! Please put me on the list for one should you ever decide to make a run.

Share this post


Link to post
Share on other sites

Hi at all,


thank you for your response and interest. Oh there are a lot of questions. I'll try to answer them.


@Vorticon:

>>> Will you be sharing your design and software?
 
That's no problem but first I have to clean the code, finish my user manual and the box is not quite perfect yet. The project is not ready. So please give me some time to finish everything.
 
>>> Perhaps a video demonstrating its function?
 
That's a very good idea. I guess I can do this very quick (I hope so).
 
>>>  is the full Hexbus spec implemented?
 
Unfortunately not. I have only implemented things that I need for my calculator.
For example you can "old", "save" and "verify" programs (a kind of binary file).
With "list" it writes a plain text file, the source code.
"delete" deletes a file, "run" starts a program directly from sd card.
Data files can be written "sequential" or "random" with "display" or "internal" mode from basic program or basic prompt.
But this data access is not tested fully. I have to write a test program...
Within the calc mode of the TI-74 you can use the "print" function to print the content of the display to the connected pc.
The device uses the sdFAT library to manage the SD access. So the SD card is formated with FAT32 and limited to 32GB. But this should be more than enough for the 7710 Bytes of RAM. The SD card can be mounted and accessed without any problems from a PC.
 
One example for things that are not implemented are master and slave modes (I haven't understood it yet and I don't know if the TI-74 supports this). My device is always slave.
 
 
@Jim:
 >>>  is your source radically different from the version I have...
 
First I had a short look to your code. But to be honest I didn't understand it.
My programming skills where (and still are) not the best.
So I decided to learn how the communication works and how to program a microcontroller.
I managed it, but now the capacity of the microprocessor is at the end. This problem I have to solve next.
So I'm not quite sure If you can use something from my code and yes the code is very different.

 

 

Meinhard

 

Share this post


Link to post
Share on other sites

I'm a bit at a loss on how to actually program the project at https://github.com/go4retro/HEXTIr to my Arduino in Windows.  Typically, I see a sketch for an Arduino file with a .ino extension.  I don't see that in the repo.

 

I use a Windows laptop for my Arduino programming if that helps... what do I need to do?  Can anyone please explain how?  Thanks!

 

I have a nice Uno (with a plastic bottom to protect it) and a shield like Jim posted.  I do plan on putting a male Hexbus header and Dockbus header on the top of the back in the proto area - that part looks easy to do from the pictures in here and in the repo.  I just got to get the thing programmed.

 

Share this post


Link to post
Share on other sites
On 11/5/2019 at 2:29 PM, skullpin said:

IMG_4101.JPG

This is the setup I have.  I plan on putting a male connector for both Dockbus and Hexbus on the proto area, of course denoting pin #1.  :)

Share this post


Link to post
Share on other sites
2 minutes ago, brain said:

I didn't convert it to an Arduino project.  You can use avrdude to program the raw AVR binary into the system.

 

 

Hi, Jim - could you please add build instructions?  There's no entry point- no "runme.bat" - no .bin file, etc.  I'm at a loss how to build it and would love an example if you could provide one.  Thanks!

 

Share this post


Link to post
Share on other sites

make CONFIG=config-arduino progall

 

You'll probably need to find make and avr-gcc and friends in your environment somewhere and make sure they are in your path.

Share this post


Link to post
Share on other sites
33 minutes ago, brain said:

make CONFIG=config-arduino progall

 

You'll probably need to find make and avr-gcc and friends in your environment somewhere and make sure they are in your path.

FYI, for others looking to do this, I found some steps for Windows, since WinAVR appears to be orphaned (and doesn't work well with 64 bit).

 

http://fab.cba.mit.edu/classes/863.16/doc/projects/ftsmin/windows_avr.html

 

Do you mind if I make a Windows-Install doc and upload it to your repo for a commit?  How about me uploading the binary when done?

Share this post


Link to post
Share on other sites

Pull and create a merge request for the install docs and I will merge.  I'd rather not put the binary in there, since it'll be in the obj directory, and those are specific to board.

 

Jim

 

Share this post


Link to post
Share on other sites
1 minute ago, brain said:

Pull and create a merge request for the install docs and I will merge.  I'd rather not put the binary in there, since it'll be in the obj directory, and those are specific to board.

 

Jim

 

I think a binary would still have value, if we name it properly.  A lot of folks are using an UNO - the binary should be cross compatible, as all of them use the 328P.  We can specifically name the binary in that manner - like HEXTIr-Uno-328P-v1.0-bin.  If someone else comes along and uses a Mega, or a Pro Mini (Microcenter sells those for like $4 - they use a 328P as well), we can just add those with the appropriate names and CPU.

 

Share this post


Link to post
Share on other sites
2 hours ago, brain said:

make CONFIG=config-arduino progall

 

You'll probably need to find make and avr-gcc and friends in your environment somewhere and make sure they are in your path.

 

Here's where I am so far:

1) Download Microchip's AVR Toolchain for Windows and install (this may not be needed with the Arduino IDE - I'm not sure)

2) Download Make 4.3 for Windows and put in path

3) Download Awk for Windows and put in path

4) Download Git BASH for Windows

5) Download the latest Arduino IDE to get avrdude and avr-gcc and put C:\Program Files (x86)\Arduino\hardware\tools\avr\bin in the path. 

 

On a side note, avrdude is already installed in the Arduino IDE.  It's located here:

C:\Program Files (x86)\Arduino\hardware\tools\avr\bin>

 

I can program it via a command line like this (I haven't checked syntax yet):

avrdude -v -V -carduino -patmega328p -C"C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -PCOM8 -b115200 -D -Uflash:w:D:\dev\hexbus.bin

 

However, the make is giving me fits, and am not sure how to get past this.

[email protected] MINGW64 /d/dev/HEXTIr-master
$ ./make.exe CONFIG=config-arduino
  CC     src/diskio.c
In file included from src/diskio.c:31:0:
src/config.h:26:10: fatal error: autoconf.h: No such file or directory
 #include "autoconf.h"
          ^~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:365: obj-m328p-arduino/src/diskio.o] Error 1

[email protected] MINGW64 /d/dev/HEXTIr-master
$ ./make.exe CONFIG=config-arduino progall
make: *** No rule to make target 'progall'.  Stop.

 

Share this post


Link to post
Share on other sites

That file is created by AWK, which you dloaded and installed, so not sure.

 

Maybe doa  make clean and then try again.

 

 

Edited by brain

Share this post


Link to post
Share on other sites
1 minute ago, brain said:

Already in the path..

 

[email protected] MINGW64 /d/dev/HEXTIr-master
$ awk --version
GNU Awk 5.0.0, API: 2.0 (GNU MPFR 4.0.2, GNU MP 6.2.0)
Copyright (C) 1989, 1991-2019 Free Software Foundation.

 

Share this post


Link to post
Share on other sites
29 minutes ago, brain said:

OK, new Makefile pushed to repo.

Much better!

 

[email protected] MINGW64 /d/dev/HEXTIr-master
$ ./make.exe CONFIG=config-arduino
  MKDIR  obj-m328p-arduino/src/
  CONF2H config-arduino
  CC     src/diskio.c
  CC     src/ff.c
  CC     src/hexbus.c
  CC     src/led.c
  CC     src/main.c
  CC     src/sdcard.c
  CC     src/spi.c
  CC     src/timer.c
  CC     src/uart.c
  CPP    config.h
  AS     src/crc7asm.S
  LINK   obj-m328p-arduino/HEXTIr.elf
  BIN    obj-m328p-arduino/HEXTIr.bin
  HEX    obj-m328p-arduino/HEXTIr.hex
  SIZE   obj-m328p-arduino/HEXTIr.elf
obj-m328p-arduino/HEXTIr.elf  :
section                      size      addr
.data                          14   8388864
.text                       12344         0
.bss                          878   8388878
.stab                         204         0
.stabstr                       58         0
.comment                       17         0
.note.gnu.avr.deviceinfo       64         0
Total                      101941

Will try flashing it next.   Thanks!

Share this post


Link to post
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.

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...