RTC Module and Arduino to simulate vintage RTC?

Love it. That 64 pin processor was bigger than a Cadillac. The Workspace Pointer Register for context switching is a great design. A true 16bit processor. And being able to map the parallel devices directly to the memory bus makes for awesome homebrew potential.
It it an official unit or did you build it from scratch?
I haven't touched one this century but a chip kit is waiting for me in my ebay basket.

I have my original TI-99/4A since I was 14. (I'm 51 now!) and it's still hooked up and running. Hard drives, 8mb RAM Disk, Raspberry Pi Interface and hooked up to the Internet now! We have come a long way since 1981!

I along with others have made quite a few new hardware for it over the last 20 years.

1 Like

I've emulated chips using FPGAs and lookup tables but I have only used them for modern applications.
Your project idea makes me wonder about tracking down speed bottlenecks and making the 99 run super fast.

Does that mean you no longer use that cutting edge video coprocessor?
What do you do on the internet with it?

One of the upgrades for the TI that came out about 10 years ago was the F18A video processor. gave us a lot more colors and better resolution as well as being backwards compatible. 80 column as well.

Sweet. So no major code changes.
I've got 1 project on the board and a couple in the wings aaaaaand a honey-do list, so it will be a while before I get to it, but I'll find you when I do. I was planning on using acrylic and stacking pin headers to make a visible wire-wrapped backplane and using red/green bi-color LEDs to show the data propagation.

So the BENCHMARQ bq3287AMT?

You can get the bare chip brand new for $4.26:

Just put it on a board with a battery holder and a good crystal and you have a replacement for the bq3287.

Better get a handful, they are going out of stock

for this particular project using the National Semiconductors MM58167AN is actually not really a real time clock but but a metal gate array for CMOS but when used with a bus microprocessor based system it functions as a real time clock. This is according to the Datasheet.

The TI project I am working on requires 5 address signals and 8 interrupt signals. I was trying to find a suitable replacement but have you to find a current 'Active' chip that has the same. The pin configuration does not have to be the same as I can take care of that on a PCB with the signal routing.

I have found a supply of the chips, but I would still like to see if I can use a more readily and up-to-date chip to accomplish the same exact function as the MM58167AN

Ultimately your homebrew chip replacement is going to need to:

  • read and write to and 8 pin bus in parallel
  • read from a 5 pin bus in parallel
  • read and/or set a few digital pins
  • provide the user access to a fixed byte array of size 52 that acts at the chip's RAM
  • translate data to and from the RTC clock module

Did I miss any functions?

An Uno would do the job nicely, but a Nano would make for a neater package and you can probably find a place to stash it inside and still close the case.

Yes that is exactly what is going to be needed for the functionality. May take me a while to get it all figured out. I do plan on using a Nano as it's small, 5v. I have used them many times on various projects that I have done for this vintage beast.

Sounds easy enough, especially given the 160ns response time.
Keep this thread open, I'd love to help.

56 bits for the array as the chip has that for RAM. I know you can set an array size as far as how many integers are in the array itself and you can get the sizeof the array. I did not know you can set the actual size in bytes for the array. i'll have to look that up. I probably will also need to set other arrays of values to mimic the chip

byte my_ram[56];

Because the data comes in and goes out in Byte sized chunks. No need for Integers.

I misread, it's 56 bits.

byte my_ram[7]; 
//or 
int my_ram[2];

The byte array saves RAM, but that will not be a concern for this project. It also allows for faster fine grain operations with the 8bit MCU.
The int array may take a bit less code, but again this is not a concern for this project given its extremely limited scope.

Two ints on a Nano is only 32 bits. And for compatibility with 32 bit processors, use of int16_t would be preferred

1 Like

I hate stepping down from higher languages. I always make simple mistakes like this.
You are absolutely correct.

Also, I'm leaning toward the 8bit option. Any thoughts?

Take a look at or don't overlook:


https://robotdyn.com/mega-2560-pro-embed-ch340g-atmega2560-16au.html


Relax, spread out, put your feet up, this MEGA version will make things more comfortable.

It's your party, so invite whomever you'd like, but I would rather be certain of never running out of I/O pins, not to mention the other generous resources. And probably more easily use I/O pins with direct port access. I haven't got beyond PORTD on the UNO, so maybe you do have 5 and 8 RTG.

At least until I was done with the hair-pulling part. Then if truly needed be, make an attempt at moving it to the Nano.

Just sayin'.

a7

Bet you could sell a ketchup popsicle to a woman in white gloves.
That is a great size for a Mega.

yes, the 8 bit option is what I want to use.

Cool, I think that will be simplest.
The Byte type in Arduino is uin8_t so it's unsigned.
When possible switches that have their cases in order starting from zero are more likely to be compiled into speedy look up tables.
Since the Byte is unsigned it works well towards this design strategy.
Just thinking out loud.
Also, does anyone know if bitRead() and bitWrite() are fast enough or should more traditional methods be used for bit twiddling?