6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Thu Jun 20, 2024 12:04 pm

All times are UTC




Post new topic Reply to topic  [ 20 posts ]  Go to page Previous  1, 2
Author Message
 Post subject: Re: 6509 paging
PostPosted: Mon Sep 19, 2016 1:01 pm 
Offline

Joined: Wed Mar 02, 2016 12:00 pm
Posts: 343
Well I am thinking of using NOP opcodes for another project to change memory bank. That is for data fetching and JSR/JMP. E.g. one needs to keep separate registers for the banking since opcodes and absolutes have to be sequentially read from the same memory page. It can easily be solved with a PLD-type device to sort opcodes and keep absolute addresses separate from JMP that modifies the PC. As for JSR, one would need a "stack" of registers for subsequent RTS instructions and keep in mind to not modify the stack..


Top
 Profile  
Reply with quote  
 Post subject: Re: 6509 paging
PostPosted: Mon Mar 27, 2017 11:24 am 
Offline

Joined: Wed Mar 02, 2016 12:00 pm
Posts: 343
I have been looking around for a Linux-like OS which could run on a 6502+/65816. Except for Minix I found a 16-bit OS called ELKS that is in development:

http://elks.sourceforge.net/

Even if its only for x86 in current implementation, I would think it transferable to a 65816 with some effort.

Has anyone else looked at this before?


Top
 Profile  
Reply with quote  
 Post subject: Re: 6509 paging
PostPosted: Mon Mar 27, 2017 7:19 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8222
Location: Midwestern USA
kakemoms wrote:
I have been looking around for a Linux-like OS which could run on a 6502+/65816. Except for Minix I found a 16-bit OS called ELKS that is in development:

http://elks.sourceforge.net/

Even if its only for x86 in current implementation, I would think it transferable to a 65816 with some effort.

Has anyone else looked at this before?

Alan Cox has a project called FUSIX (sp?) that was developed for the Z80 but appears to be a possible port candidate to a 65C02. I haven't followed it, however, so I can't say whether or not it has reached a viable state.

I would think that the 65C816 would be a much better target for a *NIX environment, since it has more of the features that are useful in a preemptive, multitasking operating system, especially total linear address space.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
 Post subject: Re: 6509 paging
PostPosted: Tue Mar 28, 2017 8:17 am 
Offline

Joined: Sun Apr 10, 2011 8:29 am
Posts: 597
Location: Norway/Japan
FUZIX (I can't remember it either). https://github.com/EtchedPixels/FUZIX
Quote:
* Builds with a modern ANSI C compiler (SDCC)
* Kernel boots to userspace on both 6502 (bitrotted), 68000, 6809, MSP430 and Z80/Z180
* Core code can be built for 6502, 6809, 68000, 8086, MSP430, pdp11 and Z80/Z180

Quote:
Various other platforms are partly filled out to sanity check assumptions

I remember a comment early in the project, about the 65C816.. ".. took one look at it, shuddered, and turned away"


Top
 Profile  
Reply with quote  
 Post subject: Re: 6509 paging
PostPosted: Sun Apr 02, 2017 3:50 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10829
Location: England
Fuzix needs to page memory in some flexible way, to implement process swapping, and most 6502 systems don't have an amenable memory paging system, so as you note, the 6502 port is bit-rotted. (Suitable memory paging systems are seen more often in Z80 systems.)

I do hope that Fuzix will one day be brought up on a larger faster 6502 system. Two of the current 6502 second processors for Acorn's BBC Micro (the Matchbox and the PiTubeDirect) now have a memory paging system which is, I hope, of the right sort. There are some hundreds of those systems out there now. The BBC Micro's own memory map is not very helpful here, according to Alan, but I think the second processor has more of a chance.

(That said, I see Jac has said he might try to port Fuzix to his machine.)

Generally, it's a bit awkward for this purpose that the 6502 stakes out some fixed elements in the memory map: you need pages zero and one to be RAM and you need page FF to hold the vectors. You need somewhere to place I/O. CPUs where I/O is not memory-mapped, and where the stack pointer is 16 bits, are at an advantage here.


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

All times are UTC


Who is online

Users browsing this forum: Google [Bot] and 41 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