6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Fri Jun 28, 2024 5:50 am

All times are UTC




Post new topic Reply to topic  [ 21 posts ]  Go to page Previous  1, 2
Author Message
PostPosted: Thu Aug 17, 2017 7:08 pm 
Offline

Joined: Thu Jan 21, 2016 7:33 pm
Posts: 270
Location: Placerville, CA
Heck, even outside the realm of embedded applications, the Atari 2600 only had 128 bytes of RAM, and look what clever programmers were able to accomplish with that.


Top
 Profile  
Reply with quote  
PostPosted: Thu Aug 17, 2017 11:14 pm 
Offline
User avatar

Joined: Tue Oct 25, 2016 8:56 pm
Posts: 360
I believe some PICs and AVRs have as little as 32 bytes of "RAM" (actually no RAM at all, its all registers)

_________________
Want to design a PCB for your project? I strongly recommend KiCad. Its free, its multiplatform, and its easy to learn!
Also, I maintain KiCad libraries of Retro Computing and Arduino components you might find useful.


Top
 Profile  
Reply with quote  
PostPosted: Fri Aug 18, 2017 1:29 am 
Online
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8460
Location: Southern California
Alarm Siren wrote:
I believe some PICs and AVRs have as little as 32 bytes of "RAM" (actually no RAM at all, its all registers)

I'm not familiar with the AVRs; but the smallest PIC I've used, the 8-pin PIC12C673, had 128 bytes, mapped the same way as the special-functions registers (FSRs), 96 of those RAM bytes being in bank 0 and the rest in bank 1. You could have an instruction MOVF Foobar, W for example, to copy variable Foobar in RAM to the W (ie, working) register of the processor. W is like the 6502's accumulator, but these smaller PICs don't have index registers or any other processor registers that are directly workable by the programmer.

I have not looked at the 6-pin PIC10's but the smallest amount of RAM I'm aware of having been offered in a PIC is the 25 bytes of the PIC12C508 which works basically like the above. The '509 had 41 bytes. The 508's RAM was at addresses 07 to 1Fh in bank 0 (while addresses 00-06 were SFRs), and the 16 extra bytes on the '509 were at addresses 30h-3Fh in bank 1. Managing the RAM banking (and paging in program memory if you have to do that too) dramatically reduces efficiency; so you have to plan your usage judiciously.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
PostPosted: Fri Aug 18, 2017 10:10 am 
Offline
User avatar

Joined: Wed Mar 01, 2017 8:54 pm
Posts: 660
Location: North-Germany
Atmel's first the AT90S1200 was a RAM-less device. Having 32 8bit registers, 1K ROM, and 32 (or 64?) bytes of EEPROM it was a neat solution (20 pin only) for some applications especially where saving a setup (=> EEPROM no batteries) was necessary or sophisticated. And it was in system programmable - far superior than its competitors.


Top
 Profile  
Reply with quote  
PostPosted: Fri Aug 18, 2017 10:33 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10836
Location: England
RCA's early CMOS CPU, the COSMAC aka 1802, was similarly well-endowed with registers - it has 16 two-byte registers. Might be enough for point-of-sale or calculator application. (Conversely, as it has built-in single step/DMA mode, it can also be run without ROM, because it's unusually easy to setup a front panel to toggle in a bootstrap.)

Quote:
Register Description
    The D register is the primary accumulator
    The R registers (16 of them) can function as:
      Program Counter
      Data Counter
      General purpose registers
    The P register points to the R register acting as the Program Counter
    The X register points to the R register acting as the Data Counter.
    The T register holds X and P following an interrupt.
    The first three registers have dedicated functions
    R0 is the Address pointer used by the DMA logic
    R1 points to a valid interrupt service routine
    R2 is a primitive stack pointer


Top
 Profile  
Reply with quote  
PostPosted: Sat Aug 19, 2017 9:03 am 
Offline
User avatar

Joined: Tue Mar 02, 2004 8:55 am
Posts: 996
Location: Berkshire, UK
The biggest 8-bit PIC has 3.5K of RAM (for USB buffering). Most of them have a lot less. If you used a 65c134 or 65c265 for a simple control application then you could probably get away with no additional SRAM just a ROM for your code.

_________________
Andrew Jacobs
6502 & PIC Stuff - http://www.obelisk.me.uk/
Cross-Platform 6502/65C02/65816 Macro Assembler - http://www.obelisk.me.uk/dev65/
Open Source Projects - https://github.com/andrew-jacobs


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 21 posts ]  Go to page Previous  1, 2

All times are UTC


Who is online

Users browsing this forum: No registered users and 5 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: