6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sun May 12, 2024 7:35 am

All times are UTC




Post new topic Reply to topic  [ 6 posts ] 
Author Message
PostPosted: Sat Dec 30, 2023 7:03 pm 
Offline

Joined: Sat Apr 11, 2020 7:28 pm
Posts: 341
It's not like we could get a MOS7529 these days, or at least easily. It was a "calculator chip" from MOS used in several calculators, providing advanced mathematical functions.

And you could make it work with a 6502

Part 1: https://archive.org/details/byte-magazi ... 7/mode/2up
Part 2: https://archive.org/details/byte-magazi ... 5/mode/2up


Top
 Profile  
Reply with quote  
PostPosted: Sat Dec 30, 2023 7:45 pm 
Offline
User avatar

Joined: Wed Feb 14, 2018 2:33 pm
Posts: 1411
Location: Scotland
tokafondo wrote:
It's not like we could get a MOS7529 these days, or at least easily. It was a "calculator chip" from MOS used in several calculators, providing advanced mathematical functions.

And you could make it work with a 6502

Part 1: https://archive.org/details/byte-magazi ... 7/mode/2up
Part 2: https://archive.org/details/byte-magazi ... 5/mode/2up


Even if you could make it work with your 6502, then that's the crux - it would work with your 6502 and highly unlikely to work with someone elses )-:

I suspect the actual interfacing might not make it worthwhile either -

Quote:
Figure 3: Schematic Diagram of the Mathematical Function Unit. A total of 25 integrated circuits is required to accomplish the floating point and mathematical functions of a scientific calculator.


Also, I suspect that today an ATmega or PIC can run just as fast, if not faster, so interfacing in a way to poke 2 x 4-byte FP numbers into it, a function then read back a 4-byte result... well, someones just used latches to do a similar thing with an ATmega, so ...

I do use an ATmega in my Ruby BCPL system for floating point work. I know my interface has a relatively high latency, but it's much faster than the fastest BASIC (BBC Basic), so must be doing something right...

-Gordon

_________________
--
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/


Top
 Profile  
Reply with quote  
PostPosted: Sat Dec 30, 2023 8:44 pm 
Offline
User avatar

Joined: Tue Feb 28, 2023 11:39 pm
Posts: 146
Location: Texas
drogon wrote:
...
Also, I suspect that today an ATmega or PIC can run just as fast, if not faster, so interfacing in a way to poke 2 x 4-byte FP numbers into it, a function then read back a 4-byte result... well, someones just used latches to do a similar thing with an ATmega, so ...

I do use an ATmega in my Ruby BCPL system for floating point work. I know my interface has a relatively high latency, but it's much faster than the fastest BASIC (BBC Basic), so must be doing something right...

-Gordon


I was wondering if hooking up my Teensy 4.1 to my 6502 would let me use it as a floating point processor, perhaps emulating similar functionality as the AM9511.

I also came up with a integer multiplier in hardware that uses shift registers and counters. If I'm right it could multiply two 8 bit numbers in about 8 clock cycles. Which I think after having to load/read the registers puts it on par with some of the faster multiplication functions.

At the end of the day I think the process of loading/storing the registers add a lot of extra clock cycles that could kill it's performance, IDK.

I haven't built it yet though, it's just a working prototype in Logisim.


Top
 Profile  
Reply with quote  
PostPosted: Sat Dec 30, 2023 9:08 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10800
Location: England
We did mention the MCS7529 in a previous thread:
viewtopic.php?f=4&t=6956

I like the idea of any kind of coprocessor, and back in the day wiring up a calculator chip was an interesting kind of project, even though the performance was unlikely to be world-beating - because it was in your own computer!

As for getting the floating point numbers in and out, that can be a bottleneck, which is why it pays to have floating point registers on the far side, inside the copro, so that any chained or complicated operations can proceed without being transfer-limited.

Edit: I see Neil (barnacle) wired something up back in the day:
Quote:
If it helps, one of my early projects (late seventies) bolted a pocket calculator onto the side of a 6502. It had to emulate keyboard presses to get the data in, and to decode the LED seven segment output to get the result.


Top
 Profile  
Reply with quote  
PostPosted: Sat Dec 30, 2023 10:04 pm 
Offline

Joined: Mon Jan 19, 2004 12:49 pm
Posts: 684
Location: Potsdam, DE
(Yes, but sometimes I wake up screaming...) :D

Neil


Top
 Profile  
Reply with quote  
PostPosted: Sat Dec 30, 2023 10:20 pm 
Offline

Joined: Sat Apr 11, 2020 7:28 pm
Posts: 341
Quote:
Figure 3: Schematic Diagram of the Mathematical Function Unit. A total of 25 integrated circuits is required to accomplish the floating point and mathematical functions of a scientific calculator.


While I can't tell if that implementation is done efficiently, I found another site where they interface the chip with a KIM-1 and it seems they didn't needed that many chips.

https://archive.org/details/73-magazine-1978-08/page/100/mode/2up


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 6 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: