Hi,
Just thought I'd post my first iterations of the Z80 test circuit.
Hi,
Just thought I'd post my first iterations of the Z80 test circuit.
What is the Ada angle on this?
Erlo
What's next?
George h.
?? Janus/Ada 83 targeted CP/M Z80 machines back when they were common (that was our first commercial compiler, as the IBM PC and MS-DOS hadn't been introduced yet -- showing my age, I guess ;-). So it's certainly possible to program in Ada on such machines, but I don't know if anyone has done so in decades (I think we stopped selling those versions around 1987).
Randy.
I reckon it'd be doable with GNAT, someone ported GCC to the 6502 ffs! That's got less registers than the Z80, but it does use zero page in STAM for virtual registers, which a AFAICT can't be used on Z80.
I also think using pragma restrictions heavily here would help, also other pragma a for restricting what gets generated, ie names.
Do you have Any advice re this?
I added LED's to /M1, /MREQ and /RD lines via inverters last night. Also increased the address line LED's to 5.
Am I right in saying that it'll only show the address lines counting for the actual number of pins connected? This seems to be what's it's doing as there is no gap in lit LED's when counting past the fifth line.
Then it's a matter of building an EEPROM programmer, put an small test prog in ROM, connecting that to the Z80 along with something I can see working, a simple LED via some sort of logic.
Then SRAM, possibly a small program to add two numbers and display this using LED's.
Then add a UART, get something sent over serial to my dev box.
From here I should be able to start doing some proper experiments.
Something about the 8085?
Michael
Not really. Ada 2012 is way different than the subset of Ada 83 that we had on the Z80. I don't remember off-hand precisely what Ada features were available on that compiler; I know we had some software floating point, and certainly not any tasking. But certainly there wasn't anything like tagged types, or dispatching, or preconditions.
Randy.
You can definitely do multitasking on Z80, I've seen projects that do it, they use memory banking to implement it though.
Luke.
And the sources for CP/M are available, both 2.2 and 3.0 as far as i know. I did quite some Z80 programming in the earlier days, both on CP/M and assembler on the bare iron. Shows my age too ;o) I always liked the Z80 for some reason.
Erlo
It's surely possible; we did it on the 8086 using early MS-DOS, and that's essentially the same sort of hardware (with a 16-times bigger address space). And it's the address space that's the problem; our task runtime takes up approximately 32K on the 8086, but of course on a pure 16-bit processor that would leave almost no space for the program. (The rest of the runtime was around 4K, if I remember right.) I'm sure you could do better with a Ravenscar task supervisor (that of course didn't exist in 1984), but it still would be a substantial amount of the code space available.
We used the equivalent of memory banking to expand the data space on 8086 processors (it allows our 16-bit compilers to compile programs about 3 times larger than they otherwise could), but using that with code would be very difficult.
Randy.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.