MaxCoderz

for your 1 bit pleasure!

All times are UTC




Post new topic Reply to topic  [ 54 posts ]  Go to page Previous  1, 2, 3, 4
Author Message
 Post subject: Re: DIY Z80 Computing
PostPosted: Fri 12 Dec, 2008 2:27 am 
Offline
New Member
User avatar

Joined: Wed 23 Apr, 2008 12:52 am
Posts: 74
Location: Maine
What sort of chips can be used as video chips?

_________________
My ethicator machine must have had a built-in moral compromise spectral release phantasmatron! I'm a genius!
Image


Top
 Profile  
Reply with quote  
 Post subject: Re: DIY Z80 Computing
PostPosted: Fri 12 Dec, 2008 2:41 am 
Offline
Maxcoderz Staff
User avatar

Joined: Thu 16 Dec, 2004 10:06 pm
Posts: 3064
Location: Croydon, England
I'm not sure of any I could recommend off the top of my head. (I couldn't find any for my computer, so went for the LCD instead). The one I'm most familiar with is the venerable TMS9918A, found in the SG-1000, SC-3000, original MSX. It was modified by Sega (adding mode 4) for the Sega Master System and again (12-bit palette) for the Sega Game Gear.

In your case, you'd probably need to find the one that was in the CPC/MSX2/whatever platforms SymbOS runs on.

I know you seem to be set on running SymbOS, and noble goal that it is it's not going to be especially practical given the closed nature of SymbOS. I'd recommend trying to build your own operating system for your own hardware, keeping it simple - and once you had a good idea of what was involved you could then try porting SymbOS over.


Top
 Profile  
Reply with quote  
 Post subject: Re: DIY Z80 Computing
PostPosted: Fri 12 Dec, 2008 2:47 am 
Offline
New Member
User avatar

Joined: Wed 23 Apr, 2008 12:52 am
Posts: 74
Location: Maine
Yeah, the idea (to get SymbOS running) has kinda been losing steam. Thanks a ton for all your comments, I certainly hope to get SOMETHING up and running, if only a text-based something.

Out of plain curiosity, what would you think of getting multiple z80s to run in parallel? I imagine one could get some sort of cluster set up. That would be pretty cool.

_________________
My ethicator machine must have had a built-in moral compromise spectral release phantasmatron! I'm a genius!
Image


Top
 Profile  
Reply with quote  
 Post subject: Re: DIY Z80 Computing
PostPosted: Fri 12 Dec, 2008 2:56 am 
Offline
Maxcoderz Staff
User avatar

Joined: Thu 16 Dec, 2004 10:06 pm
Posts: 3064
Location: Croydon, England
I don't mean to be a killjoy, it's a great idea - if it was more practical. :(


Top
 Profile  
Reply with quote  
 Post subject: Re: DIY Z80 Computing
PostPosted: Fri 12 Dec, 2008 2:59 am 
Offline
New Member
User avatar

Joined: Wed 23 Apr, 2008 12:52 am
Posts: 74
Location: Maine
No no, if it wasn't for you I wouldn't even have thought of the idea! This has gotten me really interested in computer hardware rather than just the software end.

But what do you think of running z80s in parallel? If one assembled it as a multi-core processor there would probably have to be some sort of bridging device to split the commands. I wouldn't even know where to begin to set up a cluster, but hey - there's a first time for everything.

_________________
My ethicator machine must have had a built-in moral compromise spectral release phantasmatron! I'm a genius!
Image


Top
 Profile  
Reply with quote  
 Post subject: Re: DIY Z80 Computing
PostPosted: Fri 12 Dec, 2008 12:49 pm 
Offline
Maxcoderz Staff
User avatar

Joined: Thu 16 Dec, 2004 10:06 pm
Posts: 3064
Location: Croydon, England
The Z80 has two pins - BUSRQ and BUSACK - that can be used to request (and check for acknowledgement) that a Z80 releases the data and addresses buses along with a handful of control bus pins. Usually this would be to allow for some external hardware (such as a DMA controller) to access the system's data and address buses to do whatever it has to, but I suppose you could try and use another Z80 in this instance. Not sure if it would work/be efficient, though.


Top
 Profile  
Reply with quote  
 Post subject: Re: DIY Z80 Computing
PostPosted: Fri 17 Jul, 2009 1:05 pm 
Offline
Maxcoderz Staff
User avatar

Joined: Thu 16 Dec, 2004 10:06 pm
Posts: 4095
Location: I cant seem to get out of this cryogenic chamber!
Hey Ben i purchased a whole slew of components online in the hope of building a z80 system of my own :). I bought 10 x 4MHz z80A's and even 2 x 20MHz z80's off ebay. Got a load of other stuff from an online electronics outlet that delivers to AU (srams, crystals, eeproms etc). Incidently i bought a 128x64 monochrome LCD which appears to have the same driver as the one you use. Guess im going to have the same timing problems :S. Just have wait for delivery and try to figure out exactly what im going to do! :).

(Any pointers appreciated, particularly with bank switching).

_________________
"My world is Black & White. But if I blink fast enough, I see it in Grayscale."
Image
Image


Top
 Profile  
Reply with quote  
 Post subject: Re: DIY Z80 Computing
PostPosted: Fri 17 Jul, 2009 1:59 pm 
Offline
Maxcoderz Staff
User avatar

Joined: Thu 16 Dec, 2004 10:06 pm
Posts: 3064
Location: Croydon, England
Ah, nice. :D I haven't had much time to get back into this project (I've also had difficulties sourcing components that I'd like to use to fix some of the design flaws, eg some sort of FIFO queue that could be used to interface the Z80 with a PIC microcontroller to act as a keyboard driver rather than doing everything in software).

For the timing issues, I thought that I may continue to use a variable 10MHz/2MHz clock speed, but to run it through a flip-flop running at 20MHz. This would cap the speed to 10MHz. Of course, you could do it properly (injecting wait states to slow the Z80 when accessing the port) but that seems a bit trickier.

I had been thinking of buying one of these devices for storage. As my OS is based around BBC BASIC features like "Can open 4 files at the same time using file handles" sound really appealing.

My memory layout is pretty simple. The upper 32KB is permanently mapped to a single 32KB RAM chip. The lower 16KB is mapped to one of eight pages on a 128KB OS Flash ROM chip. The final 16KB window is mapped to one of two pages on another 32KB RAM chip. To handle bank switching, I just have a single eight-bit register that uses three bits for the ROM chip and one bit for the RAM chip.

As this register will have a random value at start up, you need to ensure there's something sensible mapped in at $0000. Rather than build fancy reset hardware or mapping hardware, I just made sure that the first 256 bytes or so of every ROM page has the same data on it.


Top
 Profile  
Reply with quote  
 Post subject: Re: DIY Z80 Computing
PostPosted: Thu 19 Aug, 2010 4:21 pm 
Offline
Maxcoderz Staff
User avatar

Joined: Thu 16 Dec, 2004 10:06 pm
Posts: 3064
Location: Croydon, England
It's been a little over a year now; how did your project go, tr1p1ea?

I've been working on my computer a bit recently, and have got quite far by scrapping nearly all of the hardware glue logic and replacing it with an AVR microcontroller. The AVR provides access to basic input and output functionality (keyboard, video display controller, serial port and an SD card for backing store). The Z80 has direct access to 64KB RAM. When the computer is reset the AVR copies the operating system to RAM, avoiding the need to for a boot ROM. A dsPIC33 is connected to the AVR using the I²C bus and is used as a video display controller (320x240 monochrome which can be displayed on a graphical LCD, PAL television or VGA monitor).

I'm using CP/M 3 as the operating system, which is pretty easy to port to custom hardware. You only need to implement a handful of BIOS routines for your hardware; most of the magic happens in the BDOS (basic disk operating system, providing the main OS API) and CCP (command control processor, providing the command-line interface) which are hardware agnostic. An advantage of using CP/M is that there's a fair chunk of software out there already for it, including a number of programming languages (e.g. BBC BASIC or Turbo Pascal), text editors or word processors (e.g. Vedit Plus or WordStar) and, of course, games (e.g. Zork). Writing your own software for CP/M is also quite easy thanks to the extensive BDOS.

A little more information can be found on my website. :) I hope to publish schematics and source code for the project when I've had a chance to tidy them up. I'd definitely recommend this design - using a microcontroller to support the Z80 - as it reduces the chip count and Z80 software complexity significantly.

To finish this shameful display of self promotion, I've attached a few photos to this post.


Attachments:
File comment: Zork running on the Z80 computer.
2010.08.14.07.Close.Up.Zork.jpg
2010.08.14.07.Close.Up.Zork.jpg [ 33.38 KiB | Viewed 6359 times ]
File comment: Insides of the Z80 computer.
2010.08.14.04.Installed.jpg
2010.08.14.04.Installed.jpg [ 90.65 KiB | Viewed 6359 times ]
File comment: Z80 computer running Vedit Plus.
2010.08.14.05.Running.VEDIT.jpg
2010.08.14.05.Running.VEDIT.jpg [ 94.3 KiB | Viewed 6359 times ]
Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 54 posts ]  Go to page Previous  1, 2, 3, 4

All times are UTC


Who is online

Users browsing this forum: No registered users and 10 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 | DVGFX2 by: Matt