Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

What is multiplexing?

Status
Not open for further replies.
Yes, i know programs need it. I was talking more like adding 2+2, or something like that. Not a full blown program.

Oh, and i guess it was frowned upon by the forum, asking for that, so i am sorry. Does anyone know of a freeware alternative? Oh, i guess the whole paragraph was deleted. Ok, here it is again;

I have downloaded a program called "The Z80 Simulator". It works awesome, but i am only running a Shareware version of it, so it can only be started 30 times, and ran for only 120minutes each time. Does anyone know of a free alternative to it? I dont care if it isnt JUST like it, but just so it can accurately simulate the Z80. Thanks.
 
Marks256 said:
Yes, i know programs need it. I was talking more like adding 2+2, or something like that. Not a full blown program.

Adding 2+2 IS a full blown program, and resides in memory - where else do you think it's going to be?. Any program, no matter how small has to be SOMEWHERE - and that somewhere is memory!.
 
Adding 2+2 IS a full blown program, and resides in memory - where else do you think it's going to be?. Any program, no matter how small has to be SOMEWHERE - and that somewhere is memory!.

Oh, i thought i specified what i meant, but i guess i didn't. I know ROM is needed to store the program, but i was talking about RAM, not ROM. I meant that RAM isn't mandatory. So it is possible to run a simple program on the CPU with just ROM. RAM is just another device. Sorry for the confusion. :)
 
Marks256 said:
Oh, i thought i specified what i meant, but i guess i didn't. I know ROM is needed to store the program, but i was talking about RAM, not ROM. I meant that RAM isn't mandatory. So it is possible to run a simple program on the CPU with just ROM. RAM is just another device. Sorry for the confusion. :)

As I said before, you probably CAN run without RAM, but it's VERY limiting, for a start there's no stack, so no subroutines - one of the most important parts of programming. It would really be incredibly stupid not to add RAM to your system!.
 
I'm going to add some personal advice here. Not fact, just some personal opinions.

If I were you, I'd consider ditching the idea of learning the Z80 or 8088 (the latter of which is a horrible processor in my opinion anyway) and instead decide to use a modern Microcontroller as your starting point instead. This way you'll avoid the hassle of having to take care of all the RAM, ROM and I/O because it's already on chip.

I started my Microprocessor experience on the 6502, and although I learned a lot from building up a few projects around the 6502, and having to add my own RAM/ROM and I/O chips, it's experience which I've never actually used when doing my own modern projects. When I decide to use a Micro in one of my projects, I'd never consider using a bare CPU and then having to add all of the RAM/ROM and I/O seperately. I'd ALWAYS without exception use a Microcontroller.

The other reason I think you'd be better off starting with Microcontrollers, is that you'd gain much more employer recognition from it. If you were to put on your CV that you've experience with the Z80 CPU, your prospective employer would probably think....
"ok good, he understands Microprocessors. But we're never likely to use a Z80."
If, on the other hand, you could put experience with a modern Microcontroller on your CV, the employer would be much more likely to see your experience as actually useful.

I can recommend the PIC Microcontroller, mainly for no other reason than it's what I tend to use (other people may say the AVR or other Micros are better). Also the PIC has a HUGE resource of help available on the internet, as well as Microchips own website which details a massive range of application notes.
Oh, and MPLAB - the development environment - is free. And there are loads of free C compilers as well.

Brian
 
ThermalRunaway said:
If I were you, I'd consider ditching the idea of learning the Z80 or 8088 (the latter of which is a horrible processor in my opinion anyway) and instead decide to use a modern Microcontroller as your starting point instead.

We've been telling him that since he first started, originally he wanted to make a 486 computer from scratch! - but we managed to scale him down!.

I completely agree with you, Z80 experience is of very little use in this day and age! - and has been for a LONG time.
 
Well, he obviously has ambition - and that is to be commended. But I think it's fair to say that in Electronics you have to start small, and work upwards. If you try to start too high, you're never going to get anywhere - and that would be a shame.

Brian
 
Ok, guys, i am sick of hearing "Microcontrollers are better, start with them.". For the 100th time, NO! NO NO NO NO NO NO NO! It isn't that i want to control things. If i wanted to control a few I/Os, then yes, i would want to use a microcontroller. But this isn't what i want to do! I want to make a computer, then program it. Yes i do know that a microcontroller is a whole computer shoved in a small DIP, but THIS ISN'T WHAT I WANT! I want a computer that is built on my breadboard, and then programmed. I want to use a Z80, SOME RAM, AND SOME ROM!!!!!!! What is so hard to understand about the fact that I WANT TO BUILD THE COMPUTER!?!?!?!
I know "I should learn to walk before i run in a marathon", but i am learning as i go! This is how i learn. I take the most complex thing i can get my hands on, and then i learn about it as i go. So far i have learned quite a bit. I now know how all of the buses work. I know how addressing works(sort of). I know how to interface a simple computer. I can now use a multiplexer/demultiplexer. I now know how to use transistors. I know how to use resistors by heart. I know the basics of CAPs. And a bunch more info. I just want to use the Z80! Ok?

Nigel: I know RAM is needed, and it is stupid not to have any. I was just asking "What if" type questions. The whole purpose of this project is so i can figure out how computers work. So far i have learned a lot. Yes, i know that microcontrollers have RAM and ROM and the I/O's all handled on-chip. That ISN'T WHAT I WANT!
So if you people would please stop suggesting microcontroller, then that would just be peachy!
 
Hmmm. But the Microcontroller IS a Microprocessor, there's actually no difference at all between them. Of course, a Microcontroller reffers to a Microprocessor "package" which contains all the memory and I/O stuff on board. You do just use them to control things... but what do you think microprocessors are for? They're only used to control things as well.

I wasn't doubting that you'd learn a lot from the Z80 - you certainly will. But it's better to consider carefully how you learn things in order to maximize the return you get on it. In my opinion, learning a modern Microcontroller would bring you much more return with regard to job prospects which, as a student, you should definately be thinking about.

But you do what you want to do. All we can do is give you the best advice we can, based on the experience we've gained. I started off the way you are now, and although I learned a lot from it I feel that my experience of the 6502 and Z80 themselves has not brought me any return in the form of job prospects. This personal experience of mine, I am passing on to you. You can consider it for yourself, and decide whether or not to take it.

Brian
 
I've had the book for years, I've often toyed with building it to play with Z80 (I was a 6502 user) - but somehow never got around to it!. That's the basic circuit, there are other parts in the book, along with detailed descriptions of how it all works - plus the required source code, and various projects and things. It's really a nice little book!.
I never would have built my Z80 project if it wasn't a Tech School project. My design is simular to the one you posted. I remember leaving a 2716 that I'd salvaged, out in the summer sun for weeks on end in an attempt to erase it. It never did erase and I ended up buying a blank one because I didn't have UV lamp. [/END RAMBLE]
Ok, guys, i am sick of hearing "Microcontrollers are better, start with them.". For the 100th time, NO! NO NO NO NO NO NO NO! It isn't that i want to control things. If i wanted to control a few I/Os, then yes, i would want to use a microcontroller. But this isn't what i want to do!
Is that Sam Kennison as your avatar? :D
One way to get started is to compile some assembly code on the PC. The CPU's in the PC even today are backwards compatable (Not 100%) with instructions from the 8085 which is quite close to the Z80. Yes, your 3Ghz Pentium chip still contains 8bit instruction set baggage! :rolleyes: The mneumonics will be slightly different but the binary code will be close. Atleast it will give you a feel for a VonNewman type CPU and there is nothing quite like crashing some code in real time. :D Do this on your spare computer just to be safe.
 
Oh boy!
Mstecha all over again! :D

If you really want to do this, then get yourself an 18F8720 or 8722, and use it in microprocessor mode, or microprocessor with boot block. You will get experience with external memory, and relevant PIC experience.

You might want to look into some counseling for that anger. How can some one at your age be so angry? By the time you get to middle age you're going to be all bent out of shape. :)
 
Is that Sam Kennison as your avatar?

No, it is Meat Loaf. He is the best Rock and Roll singer EVER! :) I don't know if you have heard any of his music, but here is a few:
1. Bat out of Hell
2. I'm gonna love her for both of us
3. Paradise by the Dashboard Light
4. Lost and Found
5. Razor's Edge
6. I'd do Anything for Love
7. Life is a Lemon(and i want my money back)
8. Two out of Three ain't bad.

And many many more! Who Sam Kennison?

You might want to look into some counseling for that anger. How can some one at your age be so angry? By the time you get to middle age you're going to be all bent out of shape.

Actually, i am not a very angry person. I just like to be sarcastic. The problem with text is the fact that there are no emotions. I could be really pissed while i am typing this, and you wouldn't even know, unless i told you. On the other hand, i could be very happy, and the text would come off as angry. See my point? I will admit i have gotten very mad here, more than usual, but it's all good. I don't have a problem with anyone here, well, except for PoopEater. :) It's all good!
 
No, it is Meat Loaf. He is the best Rock and Roll singer EVER! I don't know if you have heard any of his music, but here is a few:
1. Bat out of Hell
Ok, now I know who it is! Yup, good music.
And many many more! Who Sam Kennison?
Oops, I spelled it wrong, it's Sam Kinison, a comedian / musician who rants and yells alot. When I saw your frustration in trying to get your point across and I looked at your avatar, it reminded me of him. :D
His site:
https://www.kinison.com/video.php
For a typical Kinison standup routine checkout the Saturday Night Live October 18, 1986 video clip and you'll see why your avatar fits.

As you've already pointed out in another thread, your biggest hurdle starting with the Z80 will be getting some code into the EEPROM. Then writing a boot loader will seem easy.
 
Well, i have my eyes on an EEPROM, and some RAM in my Jameco catalog. I think i will order soon. What do you suggest SRAM or DRAM. I know the Z80 has built in DRAM Refresh, so it is native. Would SRAM work?
 
If you're going to do this...definitely SRAM. Look at the schematic Nigel put up. You only need to generate write enable and chip enable signals. Depending on the SRAM, you may need to add an output enable signal.

Unless you don't mind restricting yourself to 128 or 256 bytes of RAM, the older small DRAMs would require adding RAS, CAS, and mux (multiplexer) control signals. And you would need to build in an address mux.
 
Last edited:
Ok, i will buy a SRAM chip. Thanks!
 
Ok, i will buy a SRAM chip. Thanks!
I agree, that's the best choice.
Before you get going too far with this project, you might want to test your Z80 chip to see if it works (I assume you salvaged it from something). Try this simple circuit:
http://www.z80.info/z80test0.htm

As for the EEPROM, if you are really creative you could get away with a just a SRAM chip. You would need to connect the BUSREQ, BUSACK and reset lines to your stamp. This would allow your stamp circuit to gain control of the Data and Address busses while the circuit is powered up. Then the stamp could write the code to SRAM and reset the Z80. Then the Z80 would run the code right out of the SRAM. Might be easier than writing your own EEPROM programmer code and will make it easier to experiment with different code.
 
Good idea. I will test my Z80 tomorrow. The circuit looks simple, so i could build it quick. I think i have all of the parts. Yes, i did salvage it from something. I got it from an IBM PC XT. It was on one of the controller boards. I also got my 8088 from the XT also. Thanks for the great idea!


A spot of bad news;

I have been thinking lately, about addressing, and other chips on the busses. I don't understand how it all works in a whole. If the RAM uses up 0-FFFF, then what are the other things addressed as? I have a few chips that have addressing requirements, but the Z80 has a 16bit address bus. If i am correct, FFFF, is 1111111111111111 in binary, and 65535 in decimal. All of those are 16bit in binary, and this just so happens to be the max that the address bus can do. So, if all the addresses are used up, then how can i address other things, like an I/O chip, or a buffer, or some Flash Memory, or a CRT Controller? I know things vary from one chip to another, but i am talking a generic explanation. Could someone explain the "Whole picture" to me? Please? Thanks! :) (Oh, also, i am talking hardware AND software, thanks!)
 
Status
Not open for further replies.

Latest threads

Back
Top