6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sat Nov 23, 2024 4:36 am

All times are UTC




Post new topic Reply to topic  [ 19 posts ]  Go to page 1, 2  Next
Author Message
PostPosted: Tue Jan 23, 2018 3:13 pm 
Offline

Joined: Tue Jan 23, 2018 2:55 pm
Posts: 43
Some time ago I designed and implemented a funny design of a computer with a classic microprocessor. There are four variants of this machine, based on Z80CPU, 80C85, MC68008 and 65C02. It has a simple IO, 64 KiB of RAM (may serve as ROM as well, cause it may be initialized at poweron), an USB VCOM console port, a flash-based diskette emulation and a full hardware monitor with hardware single-stepping, memory editing, disassembly and .hex file loading - all of this via another terminal connection to a PC. Now the most interesting part: the cost. $11 for the commonly-available popular devkit serving as a base plus 8x6 cm PCB with W65C02S, USB connector, an RGB LED and a few 0603 resistors and capacitors. That's all. No other IC's are needed.

I'll post more details soon if anyone is interested.


Top
 Profile  
Reply with quote  
PostPosted: Tue Jan 23, 2018 3:36 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
Welcome! Yes, certainly does sound interesting.


Top
 Profile  
Reply with quote  
PostPosted: Tue Jan 23, 2018 7:55 pm 
Offline
User avatar

Joined: Fri Dec 11, 2009 3:50 pm
Posts: 3367
Location: Ontario, Canada
Certainly very affordable! But sometimes the real challenge is finding the time for such a project.

Still curious to hear the details, though, so please do follow up. Thanks, and welcome!

-- Jeff

_________________
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html


Top
 Profile  
Reply with quote  
PostPosted: Tue Jan 23, 2018 8:51 pm 
Offline

Joined: Tue Jan 23, 2018 2:55 pm
Posts: 43
(Ok, the picture is finally attached) I'll put some more info and pictures on my website soon.
The idea is 6 years old, I (or rather we) managed to implement it in about 4 months in 2017. The whole logic of the computer (memory, IO, clock generation, reset etc.) is implemented with STM32L476 microcontroller running some state-of-art piece of firmware. To save on cost, we used Nucleo-64 board and we made a simple PCB with 65C02 socket, sitting on top of L476 Nucleo.
We achieved the speed of about 500k cycles per second. The computer is powered from a PC using USB cable. The same USB is used to present two virtual com ports to a PC, so we use two terminal windows on PC side - one for hardware monitor, program loading etc., the other for 6502 console.

The Z80 and 80C85 variants run CP/M 2.2. I am not familiar with 6502 software and OSes, so did not port any OS to 65C02 variant (yet?).

Many years ago I designed few Z80-based boards. Today I work mostly with Cortex-M based microcontrollers. This was my very first project involving the 6502 - I never played with it before.
The project has something in common with Propeddle, but it minimizes the cost and the number of components used.

We plan to make the firmware and schematic available on Github.

I currently work on an offspring of SDC_One, called SDC_Zero. No diskette emulation and just 16 KiB of RAM (+ 48 KiB Flash), but the whole hardware costs about $6, uses a breadboard and can be assembled in less than an hour, so it looks like an affordable, fully functional 80C85 or 65C02 machine for everyone who wants it.


Attachments:
P1040195.JPG
P1040195.JPG [ 1.59 MiB | Viewed 5827 times ]


Last edited by gbm on Tue Jan 23, 2018 8:58 pm, edited 3 times in total.
Top
 Profile  
Reply with quote  
PostPosted: Tue Jan 23, 2018 8:51 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
(You can attach a file and the forum will show a thumbnail)


Top
 Profile  
Reply with quote  
PostPosted: Tue Jan 23, 2018 8:58 pm 
Offline

Joined: Sat Jun 04, 2016 10:22 pm
Posts: 483
Location: Australia
It does sound interesting. In particular, it sounds very compact, and I'm interested by the floppy emulation. The use of the word "Flash" was interesting, but the fact that you're using a uC seems to explain that. How easy is it to update the diskette set?


Top
 Profile  
Reply with quote  
PostPosted: Tue Jan 23, 2018 11:27 pm 
Offline
User avatar

Joined: Wed Feb 13, 2013 1:38 pm
Posts: 589
Location: Michigan, USA
gbm wrote:
... the most interesting part: the cost. $11 for the commonly-available popular devkit serving as a base ...


Where can you source that nucleo board for $11, please?


Top
 Profile  
Reply with quote  
PostPosted: Wed Jan 24, 2018 3:23 pm 
Offline

Joined: Sat Nov 26, 2016 2:49 pm
Posts: 27
Location: Tejas
I see the Nucleo board for $14 at Mouser (https://www.mouser.com/ProductDetail/STMicroelectronics/NUCLEO-L476RG?qs=sGAEpiMZZMvc81WFyF5EdrL2yzGi9HGfJJ72E2OvwAY%3d).


Top
 Profile  
Reply with quote  
PostPosted: Wed Jan 24, 2018 9:23 pm 
Offline

Joined: Tue Jan 23, 2018 2:55 pm
Posts: 43
1. Right, Nucleo-L476RGT is around $15.
2. Regarding the diskette emulation: I know nothing about diskette formats used with 6502 and I have no disk content to be used with 6502. For CP/M-80 targets I use simulated diskette with 16 128-byte sectors on each track and 256 tracks (512 KiB). Currently there are two ways to write the diskette - by loading hex files to target's memory and saving them to the diskette using either the hardware monitor or a program running on the target CPU, or by programming the whole disk image directly into L476 Flash with ST-Link.

Below is a screenshot of a hardware monitor window, showing the reset sequence of 65c02. You may notice the dummy cycle, then fake stack pushes converted to reads, then reset vector fetch, then loop execution.


Attachments:
File comment: Hardware monitor console showing the 65c02 reset sequence.
65c02start.png
65c02start.png [ 13.13 KiB | Viewed 5746 times ]
Top
 Profile  
Reply with quote  
PostPosted: Wed Jan 24, 2018 9:55 pm 
Offline

Joined: Sat Nov 26, 2016 2:49 pm
Posts: 27
Location: Tejas
So I guess you're running the 65C02 at 3V? How do you handle 5V-only processors?

I'm also curious why an L4 instead of an F4 or F7?


Top
 Profile  
Reply with quote  
PostPosted: Wed Jan 24, 2018 10:36 pm 
Offline

Joined: Tue Jan 23, 2018 2:55 pm
Posts: 43
Just a few resistors and 1..2 diodes are enough to connect a 5V CPU to L476. There is a power voltage selection jumper at the top of the board. NMOS 6502 cannot be used because of timing issues - RDY line has limited use and the clock cannot be stopped. I do run NMOS Z80, 8085 and MC68008 at 5V without level translators.

Why no F4/F7? Two important reasons: 1 - With less than 144 pins F4 has no PB11 line. 2 - due to bus matrix details it's not possible to use enough DMA channels with GPIO ports, which is essential for the implementation of time-critical pieces of a bus protocol.
L452 has more RAM and can be used instead of L476.


Top
 Profile  
Reply with quote  
PostPosted: Fri Jan 26, 2018 1:41 am 
Offline

Joined: Sat Nov 26, 2016 2:49 pm
Posts: 27
Location: Tejas
I'll be very interested to see the code and schematics.


Top
 Profile  
Reply with quote  
PostPosted: Fri Jan 26, 2018 7:30 pm 
Offline

Joined: Tue Jan 23, 2018 2:55 pm
Posts: 43
SDC_One 65xx board schematic + some description

The board was designed to accommodate MC6800 or any 6502, NMOS or CMOS. Due to max. clock period requirements and limited functionality of RDY input, MC6800 and NMOS 6502 don’t provide full single-stepping capabilities. Full functionality of hardware monitor may be achieved only with 65C02, with WDC W65C02S the board may operate with 3.3 V supply.

To interact with 5 V-powered microprocessors, some components were added. These are not necessary for 3.3 V operation.

The clock buffer (IC3) is only necessary for chips requiring 5 V MOS-levels. It is not required for 65C02 – pads 1-6 and 3-4 may be shorted with 0R bridges or wires. R11 and R12 may be mounted to increase clock input voltage in high state for 5 V chips without IC3. R7 is not required for any 6502. For 3.3 V-only operation, R6 may be omitted and D2 replaced with 0R bridge.

IC4 memory is meant for future expansion (bigger diskette emulation and USB mass-storage support).


Attachments:
File comment: SDC_One 65xx daughterboard schematic.
sdc1_65_1a.png
sdc1_65_1a.png [ 43.37 KiB | Viewed 5670 times ]
Top
 Profile  
Reply with quote  
PostPosted: Fri Jan 26, 2018 9:41 pm 
Offline

Joined: Sat Nov 26, 2016 2:49 pm
Posts: 27
Location: Tejas
I was thinking that your support of processors other than the 6502 might find some interest over at anycpu.org. I wouldn't want to overly aggravate the 6502 fans by asking about your 68008 support and if you've looked at the pinnacle of 8-bit processors: the 6809... ;-)


Top
 Profile  
Reply with quote  
PostPosted: Fri Jan 26, 2018 9:45 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
(retrobrewcomputers.org is another place to consider - SBCs are their speciality, by the look of it.)


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

All times are UTC


Who is online

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