How do I actually PROGRAM a z80, 8088, 8035, or their predecessors? (schematic, code, assemblers, UVeproms?)?
see:
http://www.atarihq.com/danb/files/8048.txt
and:
http://download.theicstock.com/TMP/359/TMP8035P_1541359.pdf
I have programmed microcontrollers before, so I know a tiny bit of what is needed for programming them. (Note: modern microcontrollers, in basic-esque languages, notably picaxes and basic stamps)
My problem is in how to actually make the program on my computer, press the download button, and the chip run the program. I have no idea how to do assembly, (or find the right assembler). I am also clueless as to hook the computer up to the chip. (I suspect it requires a parallel port, but I think I only have DB9-pin serial easily available. I do have a single parallel port in a win98 computer, but it would be a pain in the butt.)
In addition, I don't have a UVeprom eraser light. (I have an uncle who does, but I only meet him every now and then. Maybe he would let me borrow it?)
Another problem is, I'm on a time limit. It does not have to be done tommorrow, but if I do not clear the garage of my currently un-programmable outdated microcontrollers soon, I will be too busy with college this fall of 2009 to work on those things, and my parents will force me to throw them away.
As for the 8035's my uncle also needs room in his garage, and if I can't program mine soon, then he will throw away his remaining stash of them. (No sense in holding on to equipment your nephew can't program in a timely fashion)
By the way, the same uncle dumped a CMX controller on me, with a weird keyboard, huge scroll wheel mouse, and the big box with computer-like guts inside, and a gazillion I/O ports on the back. He said it could be programmed, but Wikipedia said the company that made this video-editing machine went bankrupt or something. If I had the "instruction set", I assume assembly, in addition to a download circuit, then I can use this thing for controlling lots of cool things.
Oh, and my uncle is very nice to me, so don't think I don't like him just because his hobby is dumping old junk on me.
PS: I'm just whining, but it seems all these old microcontrollers, equipment and whatnot assume I grew up with these. I didn't, so anything beyond plugging in a basic program to a picaxe is rocket science to me. (No, I'm not Russian)
17
answers
|
Answer it!
|
Or build one from scratch http://www.smarthome.viviti.com/build
You can program in assembly, but that is hard work! Better to use BASIC or C or other high level languages, where you can get "Hello World" working quickly.
You 'program' a board by sending it programs, like MBASIC, via xmodem which is a protocol that exists on terminal programs (eg free Hyperterminal in Windows). Uses just 3 wires on a standard serial port same as picaxe/arduino. Then start typing a program, save it, compile it etc.
As for the downloading, that is all very complicated behind the scenes, and it has taken about 30 people on the N8VEM group over 2 years to get it working. But now, you get the benefit of all that, because all the code is written and all you have to do is put it in an eprom, fire up a vb.net program and hit 'download' and you can download a package of C, Basic and a text editor all in one go.
I've written lots of code for picaxes as well but I always seem to run out of memory. Z80 and CP/M have 64k which takes weeks of coding to fill up.
I got eprom programmers and UV erasers off ebay.
There is heaps more I could add, but before going off on a tangent, any chance you could give some more info about the actual Z80 board?
Anyway, you seem to be implying that a regular C compiler will go directly to an eprom? Or was it that the C goes through the vb.net then the eprom? Is there a program I can download that will put out z80-specific assembly? (is z80 assembly any different from regular assembly?)
I really like the idea of a three-wire, single-click program download. Can you go over the process with more detail?
As for the z80 board, I was going to slavage the components off of it, take the z80CPU itself out of its socket, and put it on my own board. (Yes, I could use the old PCB to get general pinouts, but figuring out where to take I/O would be a nightmare)
Oh, and my college classes have started, so don't worry if you don't see me for a couple of weeks at a time; college is demanding! But no fret, I won't give up on the z80!
Tekk: What is a UART?(Nevermind, I'll look it up.) I was planning to have my win.98 computer run a RobotBASIC script to send commands to my Basic Stamp or Picaxe via computer's serial port, then do the pin-pulsing and hoop-jumping required......
PS: Lemme google for a UVeprom prgrammer circuit....
I just built up a Z80 board from a blank circuit board, and I was surprised at how many things I had to remember or learn to get it going. Writing code for the prom can be done on paper by hand, or using cross tools that run on your PC, or using tools that run on your board itself. Test equipment that helps you get things going can be as simple and cheap as a logic probe, or as complicated as a few hundred dollar logic analyzer that hooks to your PC.
How you come at it also depends on how far you want to take it. If you are planning on having the board light a LED, and saying to yourself, wow I did that, you can do it by hand more cheaply. If you want to interface devices and write more interesting controlling code, you might want better tools.
Feel free to get in touch with me if you need a bit of advice to proceed. I am douglas underscore goodall at mac dot com.
Still you would need to be able to program an EPROM and although you could construct one that would do the job via the parallel port and a program in say BASIC on your Windows '98 computer I'd guess even that is going to be far more than you'd be willing to invest time in, and buying one would cost too much I guess.
All of my Z80 computers are in the landfill now. When they were buried they were fully capable of coming up to the CP/M prompt if plugged in and turned on. My Windows '95 computers followed after them. I still have the Windows '98 computers though but they're all running XP now. I also still have some Z80 stuff in an emulator in Windows, however the Windows 8080/Z80 assemblers and disassemblers etc. aren't going to do you any good without first being able to make the EPROM to plug into the Z80 board to bring it to life via its assumed-to-be-present serial port.
The Z80 board probably has some RAM on it so in the end you could probably download an assembly language program to it and run it. Probably for no useful purpose really other than simply having done it. I used to do things like that before I stopped. That is why if I myself found such a board in my garage I would place it in the trash rather than waste my time on it.
http://googlebox.zilog.com/search?q=z80+cpu+user+manual&spell=1&ie=&site=test_03072006&output=xml_no_dtd&client=test_03072006&access=p&lr=&proxystylesheet=test_03072006&oe=latin1
http://www.eetools.com/index.cfm?fuseaction=product.display&Product_ID=9
http://secure.transtronics.com/EPROM_Programmer.html
....Also extremely not cheap.....
The emulator lets you avoid the burn-crash-debug-erase cycle somewhat, but then you need an eraser to zap all your misprogrammed EPROMS.
...or you can junk 'em and play with the Arduino instead.
Maybe your Uncle would also think it was cool to play with modern stuff and be amazed at what you can do through the serial port !
Steve
While I wouldn't disagree with steveastrouk the Z80 is a great little 8-bit processor, I admire your intent to do something with it.
(And you can get ZX Spectrum emulators for PC)
L
See if there's anything useful on Ebay? There are some books and machines that look relevant.
L
![]() |



































