6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Fri Sep 20, 2024 7:23 am

All times are UTC




Post new topic Reply to topic  [ 138 posts ]  Go to page Previous  1, 2, 3, 4, 5 ... 10  Next
Author Message
PostPosted: Sun Jul 23, 2017 3:12 pm 
Offline

Joined: Tue Jun 08, 2004 11:51 pm
Posts: 213
It is always nicer to fully decode the address as we don't need
to skimp on RAM any more.
The parts are cheap and we are not trying to make an embedded
application with minimal cost.
Having multiple mirrored locations in the memory map can just be
a pain if you want to expand.
Of course, if you have a really large memory and a memory management
circuit, it is handy to have multiple mapping for areas of RAM. This
is typically done for things like program protection.
You have a section of RAM that is only write to the BIOS but that
application sees it at a different location that is wired for read only.
I didn't mention that it is also possible to shadow memory. This
is where you might have RAM and ROM at the same location. You'd
have it boot with read access to the ROM and write access to RAM
at the same location. Once the boot transferred things to RAM it would
switch reads to the RAM.
This allows one to play with the operating code while the working boot is
still safe off to the side.
This can be done with NVRAM instead of ROM as well.
Dwight


Top
 Profile  
Reply with quote  
PostPosted: Sun Jul 23, 2017 3:15 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10938
Location: England
Indeed, all these tricks are good examples of using address decoding to provide features.

I wouldn't dismiss incomplete decoding: as Garth shows in his primer, you need fewer logic gates to do decode if you only decode what's needed. This has often been used as a cost reduction tactic. In our recent one-page-computing adventures, we've used incomplete decoding to arrange that one block of memory sits both at the top of the address space for the OS and at the bottom for the application. (That's not so applicable a trick for 6502.)


Top
 Profile  
Reply with quote  
PostPosted: Sun Jul 23, 2017 5:34 pm 
Offline

Joined: Fri Jul 21, 2017 8:16 pm
Posts: 59
My current understanding is that I don't need RAM or ROM for a simple free run setup.

As soon as I power up the 65c02 he will go to address FFFwhatever to find the starting address.
He finds something there and jumps to it.
On the data bus I will provide hard wired or with DIP switches the A9 instruction. 10101001.
The Programm counter should be 0000 0000 0000 0000.
He starts the fetch cycle and goes through all addresses.
If I connect some LEDs to the higher address bits I should see it blinking.

Am I right?


Top
 Profile  
Reply with quote  
PostPosted: Sun Jul 23, 2017 7:27 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10938
Location: England
Yes, you're right!


Top
 Profile  
Reply with quote  
PostPosted: Sun Jul 23, 2017 10:23 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8510
Location: Southern California
Hard-wiring $A9 to the data bus will cause the processor to read the address $A9A9 from the reset vector at $FFFC and $FFFD, and start execution at $A9A9, and do LDA#$A9 over and over.

_________________
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: Mon Jul 24, 2017 3:43 am 
Offline

Joined: Tue Jun 08, 2004 11:51 pm
Posts: 213
If that is all you want, go for it.
To do much useful with the 6502, you need at least zero
page RAM. Page one is desired.
You mentioned needing to get a large enough order to
avoid shipping cost. If you buy the RAM and stuff now, it
will be in your parts box when need.
If all you want is a jump vector at FFFA, you can make a simple
diode and resistor array to do that. If you stay on the high page,
you need fewer diodes.
One can right some useful code without page zero RAM. I needed to have
a RAM test to test the RAM on my KIM-1 debug code.
I test the entire 1K bytes with a AA, 55 test pattern and blinks a
LED light to identify the failing RAM bit. It does that only using the internal
registers. I do use them all, including the stack pointer as a temporary
storage.
It might be a fun challenge to see how much useful work you could
do on a 6502 without using any RAM.
Dwight


Top
 Profile  
Reply with quote  
PostPosted: Mon Jul 24, 2017 5:33 am 
Offline

Joined: Fri Jul 21, 2017 8:16 pm
Posts: 59
Thank you for all the replies! The freerun-test is of course only the first step. But since I am a Newbie for me this mountain is high enough for the first tour. 8)
But I ordered all the parts for the Himalaja tour already (RAM, ROM, ACIA, ...)
Currently I am studying the Primer Tutorial and the 65C51 data sheet.
"It's sinking in but I probably need to reread it!" :)


Top
 Profile  
Reply with quote  
PostPosted: Tue Jul 25, 2017 6:31 pm 
Offline

Joined: Fri Jul 21, 2017 8:16 pm
Posts: 59
Currently I'm waiting for the parts to arrive.
I am reading a lot in this forum. I'm just wondering if I should by an old Windows notebook. I am a Mac User but there seems to be no community. It looks easier to get assembler, terminal, etc. for windows.


Top
 Profile  
Reply with quote  
PostPosted: Tue Jul 25, 2017 8:00 pm 
Offline
User avatar

Joined: Sat Jun 17, 2017 9:58 am
Posts: 16
Location: England, United Kingdom
I use a Mac and generally not an issue. There are a few thing like Xilinx programmers that don't run on Mac. But you can use linux or Fusion/Parallels for things where you can't find open source, compile your own etc. I do have a small msi u100 plus running ubuntu as a backup as carrying a iMac 27inch is difficult :-)


Top
 Profile  
Reply with quote  
PostPosted: Wed Jul 26, 2017 2:39 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10938
Location: England
I'm a Mac user too, much of the time: most command line and many GUI based tools run OK on the Mac, once you've got the right setup. "wine" is for running Windows programs, "dosbox" for running DOS, and "MacPorts" for running command-line *nix tools built from source.

I do use Linux for FPGA development - it's possible to use a virtual machine, as Elminster says, but it's easier to use a physical machine, if you have one nearby.


Top
 Profile  
Reply with quote  
PostPosted: Wed Jul 26, 2017 8:45 am 
Offline

Joined: Mon Mar 25, 2013 9:26 pm
Posts: 183
Location: Germany
I'm also a Mac User and had no problems at all to build my 6502 SBC.
I'm using the ophis assembler, that is written in Python and runs easy on MacOS.
Also KiCad for schematic and pcb development works natively on MacOS.

The built in "screen" command on MacOS can open a serial connection without any additional tool installed. You can also use minicom as port or you use CoolTerm for MacOS that provides a good GUI and some useful config options like delay on sending characters and a different delay on sending linefeeds. ( useful when sending text files to your system)

Good to see another German user here in the forum.

Best wishes for you project from Berlin,
Mario.

_________________
How should I know what I think, until I hear what I've said.


Top
 Profile  
Reply with quote  
PostPosted: Wed Jul 26, 2017 8:53 am 
Offline

Joined: Sat Jun 04, 2016 10:22 pm
Posts: 483
Location: Australia
I have to say that my experience with SB-Assembler (which is also written in Python) on Windows has been unpleasant. Linux is much much easier to deal with; it took care of so much that Windows did not. That might have been package setup, though.


Top
 Profile  
Reply with quote  
PostPosted: Wed Jul 26, 2017 8:55 am 
Offline
User avatar

Joined: Sat Jun 17, 2017 9:58 am
Posts: 16
Location: England, United Kingdom
@Ed. Oh yes mac ports and home-brew are both installed here as well (although if you read the small print you should have them both installed at the same time, and occasionally causes clashes but some stuff is available on one or other so worth it).

Oh and +1 for KiCAD on Mac here as well, just getting into that for my 'design' (i.e. stolen from lots of other designs). Sigrok, saleae and dsview logic analyser software all runs on mac as well (I use Sigrok and DSView).

As mkl0815 says Mac comes with these but I use Coolterm and iterm2 for serial and cli access, after trying many products.

I never liked wine as used to be very very slow and clunky , but that was a decade ago I am sure that has changed , but lots of people use it. Prefer to use VMWare Fusion for windozes, although prefer not to use windows, if only had the time to port everything on Mac ... on my todo list.

Off the top of my head the only things not running native on Mac is my Xilinx tag programmer and Batronix programmer (there is a mac version but crashes a lot, not good when programming proms). I have not looked at alternatives, there might be some.


Top
 Profile  
Reply with quote  
PostPosted: Wed Jul 26, 2017 9:15 am 
Offline

Joined: Fri Jul 21, 2017 8:16 pm
Posts: 59
Assembler:
I've downloaded and "installed" Ophis. Just printing out the first 20 pages of the manual. 8)

Terminal:
opened Terminal and typed in "screen" than "help" to get the available commands. Now I am more confused than before. Will try to find a tutorial. :shock:

Grüße aus Gütersloh bei Bielefeld

Ralf


Top
 Profile  
Reply with quote  
PostPosted: Wed Jul 26, 2017 9:59 am 
Offline
User avatar

Joined: Sat Jun 17, 2017 9:58 am
Posts: 16
Location: England, United Kingdom
screen is very powerful, but most of the time something simple like cool term is better, in my opinion anyway.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 138 posts ]  Go to page Previous  1, 2, 3, 4, 5 ... 10  Next

All times are UTC


Who is online

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