comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Z80 trst circuit
Date: Fri, 29 Jan 2016 15:55:34 -0600
Date: 2016-01-29T15:55:34-06:00	[thread overview]
Message-ID: <n8gn4n$5l9$1@loke.gir.dk> (raw)
In-Reply-To: 2084722069.475747788.515903.laguest-archeia.com@nntp.aioe.org

"Luke A. Guest" <laguest@archeia.com> wrote in message 
news:2084722069.475747788.515903.laguest-archeia.com@nntp.aioe.org...
> Randy Brukardt <randy@rrsoftware.com> wrote:
>
>>> Do you have Any advice re this?
>>
>> 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.
>
> You can definitely do multitasking on Z80, I've seen projects that do it,
> they use memory banking to implement it though.

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. <Shivers>

                        Randy.


  reply	other threads:[~2016-01-29 21:55 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-27 10:26 Z80 trst circuit Luke A. Guest
2016-01-27 20:24 ` erlo
2016-01-28  0:26   ` Randy Brukardt
2016-01-28 10:07     ` Luke A. Guest
2016-01-28 21:58       ` Randy Brukardt
2016-01-29  8:11         ` Luke A. Guest
2016-01-29 21:55           ` Randy Brukardt [this message]
2016-01-29 21:47     ` erlo
2016-01-28  0:58   ` patrick
2016-01-29 21:47     ` erlo
2016-01-28  0:58   ` patrick
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox