View unanswered posts | View active topics It is currently Thu Mar 28, 2024 3:38 pm



Reply to topic  [ 8 posts ] 
 The RTF65002 Core by Rob Finch 
Author Message

Joined: Wed Jan 09, 2013 6:54 pm
Posts: 1780
Just posted over at 6502.org: http://www.finitron.ca/Projects/Prj6500 ... 002ppp.htm
Quote:
The RTF65002 is a 32 bit processor with an instruction set influenced by the 6502 instruction set. It is a 16 register 32 bit word oriented design. The RTF65002 includes a 6502 emulation mode allowing it to run existing code. In native 32 bit mode the opcodes are redefined in a fashion suitable for 32 bit mode. An attempt has been made to follow the same pattern as the 6502 for opcodes. For instance opcode 69h is an add instruction on the 6502; it's an add instruction on the RTF65002 as well.


Sun Sep 01, 2013 3:16 pm
Profile

Joined: Sat Feb 02, 2013 9:40 am
Posts: 2095
Location: Canada
I've added the source code and projects docs at [url]http:\www.opencores.org[/url]

_________________
Robert Finch http://www.finitron.ca


Thu Sep 05, 2013 3:26 pm
Profile WWW

Joined: Sat Feb 02, 2013 9:40 am
Posts: 2095
Location: Canada
Tiny BASIC running on an RTF65002 system.


Attachments:
rtf65002tbd.jpg
rtf65002tbd.jpg [ 46.97 KiB | Viewed 8549 times ]

_________________
Robert Finch http://www.finitron.ca
Wed Sep 11, 2013 8:19 pm
Profile WWW
User avatar

Joined: Tue Jan 15, 2013 5:43 am
Posts: 189
Quote:
It is a 16 register 32 bit word oriented design. The RTF65002 includes a 6502 emulation mode allowing it to run existing code.

Very exciting work, Rob! :shock: Keep us posted, please!

-- Jeff

_________________
http://LaughtonElectronics.com


Fri Sep 13, 2013 9:28 pm
Profile WWW

Joined: Sat Feb 02, 2013 9:40 am
Posts: 2095
Location: Canada
Lee Davison's 6502 EhBASIC runs now on the RTF65002 too.

I'm currently working on an SDCard interface, as there's no way to SAVE / LOAD programs yet.
I've been looking for an OS/File system I can port.

_________________
Robert Finch http://www.finitron.ca


Sun Sep 15, 2013 9:17 pm
Profile WWW

Joined: Sat Feb 02, 2013 9:40 am
Posts: 2095
Location: Canada
I created an ultra simple filing system (usfs) in order to save and load Tiny Basic programs.

The file system consists of a directory located at a fixed position in the SDCard - sector 4,000.
The directory has a limit of 512 entries. Then the files are located at fixed positions in the SDCard. The file location is determined by the file's position in the directory. It's a simple shift and add operation. All files are limited to 64kB.
The first file is located at sector 5,000. The second file at sector 5128, the third at sector 5256, etc.
A directory entry is a 32 character filename followed by four bytes for the size, then paddded out to 64 bytes.
This organization only consumes 33MB.

With this I've been able to save and load Tiny Basic programs to/from an SDCard, using a minimal amount of code.

I'm still working on the software for the OS / FS and other things.

_________________
Robert Finch http://www.finitron.ca


Sat Sep 28, 2013 3:56 am
Profile WWW

Joined: Wed Jan 09, 2013 6:54 pm
Posts: 1780
I think FAT is very predictable in where it places files. So if you made a conventional partition table and formatted a first partition with FAT, then created a suitably large single file, it would most likely sit over a contiguous set of blocks near the beginning of the partition (and therefore the device)
Then your usfs usage would all occur within that large file, and you could use the FAT filesystem freely so long as you didn't touch the one true file.
Even better, you can copy that file, and even overwrite the file with alternate contents, on a "normal" computer. (I think you can overwrite a file's content without altering its location on disk)
Cheers
Ed


Sat Sep 28, 2013 9:15 am
Profile

Joined: Sat Feb 02, 2013 9:40 am
Posts: 2095
Location: Canada
My test system uses something called the SimpleMMU circuit to provide 6829-like memory management. Basically memory is divided into 512 pages per task (or address space). There are 512 slots per task into which a memory page number may be entered. Pages are 64k bytes in size, so memory is limited to a max of 32MB per address space. There are 2048 total memory pages available (128MB SDRAM). The system memory is managed with a bitmap of 2048 bits (one for each page) indicating whether or not the page is allocated. An address space may be using any one or more of the 2048 pages available.

I am currently coding routines similar to the UNIX brk() and sbrk() routines and seeing how they are related to the library functions like malloc() and free(). The heap functions malloc() and free() work within the memory space assigned to the program by brk() or sbrk().
Attachment:
SimpleMMU2.gif
SimpleMMU2.gif [ 4.88 KiB | Viewed 8453 times ]

_________________
Robert Finch http://www.finitron.ca


Thu Dec 05, 2013 8:17 am
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 8 posts ] 

Who is online

Users browsing this forum: AhrefsBot, trendictionbot and 11 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:  
cron
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software