6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sun Nov 24, 2024 3:14 pm

All times are UTC




Post new topic Reply to topic  [ 119 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7, 8  Next
Author Message
PostPosted: Tue Sep 24, 2013 9:27 am 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
I like the buttons and displays on the KIM clone, though. Much better than just a serial port. The 7 segment type are nicely nostalgic, but a slightly more modern Hitachi compatible 2x20 LCD display would also work, and would allow for a simple assembler to be provided in a pre-programmed EEPROM.


Top
 Profile  
Reply with quote  
PostPosted: Tue Sep 24, 2013 9:50 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8546
Location: Southern California
I totally agree.

_________________
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: Tue Sep 24, 2013 7:21 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
Loading a ROM image from an SD card could be very convenient - write the SD card on a PC and then plug it in and boot. I'm thinking an FPGA solution could internalise that process- perhaps by running 6502 code which is then mapped out.

If we like the WDC system on chip solution, the FPGA solution isn't far behind.

I think we have best chance of success if one of us sells kits of parts or made-up boards.

Cheers Ed


Top
 Profile  
Reply with quote  
PostPosted: Tue Sep 24, 2013 7:54 pm 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
BigEd wrote:
Loading a ROM image from an SD card could be very convenient - write the SD card on a PC and then plug it in and boot. I'm thinking an FPGA solution could internalise that process- perhaps by running 6502 code which is then mapped out.


If you think about what kind of computers brought 6502 programming to the masses, it's machines like the C-64 which had plenty of custom chips. No kid from that era refused a C-64 because it wasn't pure enough. On the contrary. I don't have an objection to adding an FPGA in a similar role. For the beginner it's a black box, that you can explain from the outside. For the experienced user, it's something they can tinker with.


Top
 Profile  
Reply with quote  
PostPosted: Tue Sep 24, 2013 8:22 pm 
Offline
User avatar

Joined: Thu Jun 23, 2011 2:12 am
Posts: 229
Location: Rancho Cucamonga, California
BigEd wrote:
Loading a ROM image from an SD card could be very convenient


True. But of course users would still need a ROM to start with, which contains the code to download an image from the SD card...

Sorry for beating the dead horse but my Propeddle project can be bootstrapped from components that you buy at Mouser or Digikey or whatever, and stick on a breadboard. All you need to get it running is a USB or RS-232 port on a PC (or Mac or whatever the standard Propeller Loader can be ported to), and an image file that you will still be able to download from Github in a far future when I might not be interested in supporting it anymore. No custom hardware is required, not even a custom bootstrap ROM. The Propeller can boot from a serial port which can be converted to USB or RS-232 with cheap hardware that many people already have, even if the serial EEPROM (which is required in the system) is completely blank.

In a system with a flashable ROM such as the 28C256 that contains a boot loader which we would have to provide, a simple mistake can erase the chip and brick the system. Using a Propeller makes the system un-brickable, and bootstrappable without extra hardware.

===Jac


Last edited by jac_goudsmit on Tue Sep 24, 2013 8:45 pm, edited 2 times in total.

Top
 Profile  
Reply with quote  
PostPosted: Tue Sep 24, 2013 8:39 pm 
Offline

Joined: Sun Sep 15, 2002 10:42 pm
Posts: 214
GARTHWILSON wrote:
whartung wrote:
...
quick web search for "Micro KIM" turned up as the first result http://www.brielcomputers.com/wordpress/?cat=24, where it says, "With a projected selling price of $99 the micro-KIM is one of the most affordable 8 bit computer kits available today. As a matter of fact, the micro-KIM was designed around the student market in an effort to offer students and schools a low-cost 8 bit CPU trainer."

Image

It does however use RIOT ICs which are no longer made, and has very little memory. I guess the point really was to bring back the original 1975 KIM computer.


The micro-KIM has been shipping for about two years IIRC.
Here's a relevant quote from the webpage regarding the RIOT:

"Some components on the original KIM-1 are no longer available. The 6530 RIOT included a custom programmed ROM and has been replaced by a 6532 RIOT and an external ROM. "

The 6532 RIOT is available at Jameco; here's the link:

http://www.jameco.com/webapp/wcs/stores ... llDownView

There is also a 32k expansion card available for the microKIM.

Toshi


Top
 Profile  
Reply with quote  
PostPosted: Tue Sep 24, 2013 8:53 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
BTW Jac I'm quite happy with the Propeller idea - it is one of several approaches to implement magic glue. One needs an EEPROM with the code in it, which is the usual bootstrapping problem. (Or can the Propeller be driven by serial port, upload and then program the EEPROM?)

(My SD card idea gets around the bootstrapping by assuming that everyone has a laptop with an SDcard slot - not quite true of course. The friendly 6502.org person who sells kits of parts can of course sell EPROMs, SDcards or EEPROMS in pre-programmed states.)

Cheers
Ed


Top
 Profile  
Reply with quote  
PostPosted: Tue Sep 24, 2013 8:56 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8546
Location: Southern California
Answering Toshi's comments:
True, but the 6532 is not being made anymore, so when they're gone, they're gone, unlike the 65c22. Also, the price of a 32KB SRAM is about the same as the price of an 8KB SRAM, if they would just put it in to start instead of making it an add-on accessory board. It looks like the idea specifically to make it like the original, for better or for worse.

_________________
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: Tue Sep 24, 2013 9:25 pm 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
BigEd wrote:
Loading a ROM image from an SD card could be very convenient


I missed the 'ROM' on my first reading. I was more thinking of loading programs from SD card into RAM, and executing them there. The Flash/EEPROM chip would not have to be written by the user at all, so no chance of inadvertently bricking the device.


Top
 Profile  
Reply with quote  
PostPosted: Tue Sep 24, 2013 9:31 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
(I should also clarify: Jac wonders about the ROM holding the code to read the SD card. In my mind, that would be on the FPGA, and therefore implicitly in the EEPROM which holds the FPGA config. And so, programmed in the first place by a helpful person here.)

I do think bootstrapping is an important problem: all home computers came with ROM on board or on cartridge, which the supplier had already programmed. If we have a list of components for the new user to take to a component seller, we still have to solve that problem. Unless it's a machine with single step and a front panel, but that almost certainly is too primitive. I see Julian has now shipped over 1000 fignition kits - it can be done!

Cheers
Ed


Top
 Profile  
Reply with quote  
PostPosted: Tue Sep 24, 2013 9:44 pm 
Offline
User avatar

Joined: Thu Jun 23, 2011 2:12 am
Posts: 229
Location: Rancho Cucamonga, California
BigEd wrote:
BTW Jac I'm quite happy with the Propeller idea - it is one of several approaches to implement magic glue. One needs an EEPROM with the code in it, which is the usual bootstrapping problem. (Or can the Propeller be driven by serial port, upload and then program the EEPROM?)


I know you like the Propeddle, I posted my previous message for the others who didn't "see the light" yet :-)

Yes, the Propeller can be programmed via serial port regardless of what's in the EEPROM so it's possible to get a Propeller-based system such as Propeddle to boot without the need to pre-program the EEPROM.

The built-in bootloader of the Propeller (which is in mask ROM and cannot be changed) tries booting from the serial port first. If there's nothing on the serial port within a short timeout, it downloads the code from a serial EEPROM via I2C. The code that gets downloaded from the EEPROM into the Propeller is initially up to 32KB but it's easy to install a bigger EEPROM instead of the standard 24C256. Many Propeller-based computers use a 24C512 to provide 32K extra non-volatile storage; the difference in price is negligible even in low quantities.

Quote:
(My SD card idea gets around the bootstrapping by assuming that everyone has a laptop with an SDcard slot - not quite true of course. The friendly 6502.org person who sells kits of parts can of course sell EPROMs, SDcards or EEPROMS in pre-programmed states.)


With all due respect, an SD card really only makes it easier to download code from a PC if you can't (or don't want to) deal with wires between the 6502 system and the PC/Mac/Whatever. It doesn't get around the problem that you still need a ROM (or something that behaves like a ROM) to boot a 6502 system.

Also, while you're trying to debug the firmware of your 6502 system, getting it to download its firmware from SD card would not be my first choice. Taking an SD card out of one system and mounting it in another one can be quite a hassle when you have to do it a couple dozen times to find out why your code isn't working. Especially when you want to be careful and turn the 6502 system's power off while the card isn't in the reader, and use the proper commands to detach it from the Windows / MacOS system without corrupting data. You could say that SD cards have excellent bandwidth but awful ping times.

A serial port to a host system is much easier for debugging and (in case of the Propeddle) can also be used to make changes to the firmware as long as the firmware itself isn't powerful enough to change itself. And it can be used as an I/O device if you don't feel like setting up (or buying) a keyboard and video device.

If it's really such a big deal that there's a "magic chip" such as the Propeller on board, maybe we should consider using some hard-wired glue logic that connects an RS-232 serial port straight to some serial-to-parallel shift registers that control the EEPROM to make it possible to use a serial port to flash a program into a clean EEPROM. Oh wait... oops... now you built an EEPROM burner with a 6502 attached, and you still have to write the software to do it from the host. :-)

===Jac

PS: Bootstrapping from SD card straight to RAM via an FPGA only moves the problem: users would have to get a pre-programmed FPGA or a pre-programmed EEPROM that gets loaded to the FPGA (not sure how that works, sorry)


Last edited by jac_goudsmit on Tue Sep 24, 2013 11:01 pm, edited 1 time in total.

Top
 Profile  
Reply with quote  
PostPosted: Tue Sep 24, 2013 9:54 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
I think those who are concerned about the magic chip are concerned about hidden complexity. (Yes, it's hidden, but that doesn't remove all possibility of interesting educational experience.)

(The SD card idea is for deployment to the new user: for development one would surely use some wired link. You are right that the SD card works as a replacement for wires. Having messed with USB/serial adapters, I think that's a win. But another advantage is the "cartridge" advantage, which the RPi also has: each user, or each experiment, or each piece of software, can have its own SD card.)

The FPGA, unless is it non-volatile, loads both the logic configuration and the initial contents of on-chip memory from an EEPROM. If it is non-volatile, the EEPROM is also on-chip. It's true that a preprogrammed device is needed for the new user, unless they are to be put through the wringer of programming by jtag.

In my view, the minimum we as a community need to do is provide the bootstrap ROM, of whatever form. And I know we can do that - it's not a big deal.

Cheers
Ed


Top
 Profile  
Reply with quote  
PostPosted: Tue Sep 24, 2013 11:27 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8546
Location: Southern California
SD card is normally hot-pluggable. The only exception I know of is that I have an IDE-to-SD adapter on my DOS PC and it only mounts it at boot-up, and if you swap it out after boot-up and then try to access it, the computer freezes up. My main desktop PC does not have an SD slot, but I have a scanner with one so the PC can access it through the scanner. The problem with that is it won't do the high-density ones over 1GB. Such a mess. I wish it had been kept simpler. My laptop does have an SD slot, but I normally use the desktop for its better keyboard and mouse. Hot plugging and unplugging is supported by both the scanner and the laptop.

Making a capable, basic board available for aspiring engineers is a good thing; but what I had in mind when I started the topic was more in line with philosophy, giving time (like BDD has done with the model railroading), being available to help and being sensitive to where their interests and frustrations are, etc.. When I was getting into amateur radio as a teenager, there were three different hams, all retired men, who gave me surplus parts but no complete equipment, showed me the ropes, "talked shop," etc., and it was wonderful. A couple of them took me different times to Henry Radio and Ham Radio Outlet in the next county before I had any way to get there on my own.

_________________
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: Wed Sep 25, 2013 5:29 am 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
BigEd wrote:
(The SD card idea is for deployment to the new user: for development one would surely use some wired link. You are right that the SD card works as a replacement for wires. Having messed with USB/serial adapters, I think that's a win. But another advantage is the "cartridge" advantage, which the RPi also has: each user, or each experiment, or each piece of software, can have its own SD card.


The SD card also allows you to use the computer stand-alone, assuming it has a keypad, or a connector for a full size keyboard. In addition, it provides non-volatile local storage, without having to reprogram the local EEPROM, so you can turn it on, and have it automatically run a self made program from SD card.


Top
 Profile  
Reply with quote  
PostPosted: Wed Sep 25, 2013 7:46 pm 
Offline

Joined: Mon Apr 16, 2007 6:04 am
Posts: 155
Location: Auckland, New Zealand
I did a long post yesterday and lost it. These are some of my thoughts on this, coming from a beginners perspective. If the aim is to get people into 6502 things then Garth's primer is already pretty much what you need. Along with the simple 6502 circuit he has. My machine I am building now is based off that more or less.

If the aim is 6502 then I think it has to use a 6502. Not a FPGA or some other chip simulating or talking to a real 6502. It has to be a simple, 6502 core machine. Other chips can, and probably should, be used for the periphery and I think that can be done in a way to isolate those as separate systems to start with. For example I am using a Batsocks video board which takes simple serial terminal like commands and converts them to video output. So to get video working all I had to do was get a 6551 CIA working on my 6502, send serial commands to the Batsocks and I could output to the screen. Of course I could send serial to my PC via a terminal program too which is what I did initially.

Similarly on the input side I have a keyboard matrix hooked to a VIA. For a beginner this was fairly easy to implement without getting too bogged down in details and I was able to concentrate on getting the core 6502 stuff (processor, RAM, ROM, VIA and CIA) all working knowing that in future I can always change how I do input/output. The VIA allows input and output of course and the CIA allows serial. Matrix keyboards are hard to find but I am sure you can buy or build modules to allow PC keyboard to present simple ASCII data to a VIA perhaps? That would make it even easier while still keeping things easy to understand at a low level i.e. the keyboard sends me a byte, to write to the screen I send it a byte. Simple concepts for a beginner!

The trickiest part is the ROM burning. I am using actual EPROMS and erasing and burning them is frankly a pain in the next! I had to use an old machine just to have a parallel port for my programmer to work! I've never used EEPROMS so am not sure they are much easier. And SD card based solution would be great but I am not sure how that could be done.

I think the biggest problem with projects like this is saying "I want to learn 6502" without having an actual aim. I think you need to have an actual goal for the thing. Mine is to be able to enter and run all the old programs from the 80s Usborne computer books. That gives me very definite design goals and stages. Without something like that I wouldn't have an aim and would find it much harder to do anything.

I think having a goal is important. Just a board with some blinky lights isn't really enough. It has to be able to be used for something so people can experience the journey getting there and then from there go on to make their own journeys.

People have mentioned Raspberry Pis and Arduinos here. I have both and I think they are totally different things. To me the 6502 is about learning how a computer works at the CPU/RAM/ROM level. I am perhaps biased growing up in the 80s when microcomputers arrived and so I always wanted to know how they actually worked. The raspberry Pi, to me, is a computer as they are today. An appliance. Sure it has some IO but from what I have seen using it is more about the scripting or the programming. The actual hardware of the thing is abstracted away. To be fair I have so far only used mine as a media centre as I couldn't think of anything to use it for (see above) so perhaps I have this wrong!

The Arduino is different again. I use them a lot for various projects. Some quite complex (I ported Taipan! to one once, well had to use two of them!). You are closer to the hardware although the libraries hide it somewhat. If you start doing anything complicated you need to understand them a lot better but even then it's a microcontroller which is different to a CPU and RAM and ROM you've assembled yourself. If people want to learn about microcontrollers there are plenty of them out there that they can do that with (PICs, Stamps, Arduino, Propeller and so on). As someone said Arduino is a bit like electronics LEGO! Great for getting simple things like servos and LEDs and sensors working quickly. But it's not a general purpose computer exactly.

So, to finish this rambling, I think if the aim is a 6502 based system for people to learn and build then we already have it here in Garths primer and simple 6502 machine. Add some simple input and output to that (like a keyboard to ASCII kit and the Batsocks video output kit) and people can get a basic 6502 up and running pretty easily. Then perhaps there could be some stardard ROM image to get a simple monitor and ideally BASIC running and you have a machine that people can use for something, can understand and can then use as a stepping stone to larger things.

Simon

_________________
My 6502 related blog: http://www.asciimation.co.nz/bb/category/6502-computer


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

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: