Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Technical Design Labs / Xitan Software and Hardware

930 views
Skip to first unread message

steven.f...@gmail.com

unread,
Sep 13, 2017, 1:46:01 PM9/13/17
to
Hi everyone,

I was one as TDL user since 70's. I still have TDL ZPU, SMB, VDB and Z16 and Xitan Alpha 2 with DDDS. I really enjoy it very much. Unfortunately, all of them were stolen many years ago and it broke my heart. I moved on to a new generation with PC and Mac as entire S-100 companies were out of business forever.

I deeply thanks to S100Computers.com and former N8VEM for keep S100 (IEEE-696) alive but still miss my TDL hardware and software.

Right now, after several years, I got ZPU, SMB, and Z16 boards from eBay and unable to find VDB or Xitan items lately. It seems to become impossible to find anything because of it now about 37 years old.

Recently, I got 12K Basic in a paper tape which I acquired from the former owner that gave everything to me. But no TDL hardware. It was better than nothing because 12K Basic which I search for so many years and unable to get it. Finally, I have it but still not have other software such as Debug, Linker, QED Screen Editor, QSAL Assembler, Text Output Processor and DDDS (Xitan) and others.

If you may have it in your attic and collected dust on it. Please consider to give them a good home here.

I forward to hear from you soon...

Thank you,
Steven

Mr. Emmanuel Roche, France

unread,
Sep 13, 2017, 3:28:26 PM9/13/17
to
Hello, Steven!

> Recently, I got 12K Basic in a paper tape which I acquired from the former owner that gave everything to me. But no TDL hardware. It was better than nothing because 12K Basic which I search for so many years and unable to get it. Finally, I have it but still not have other software such as Debug, Linker, QED Screen Editor, QSAL Assembler, Text Output Processor and DDDS (Xitan) and others.

It is me who retyped the TDL 12K BASIC doc available. I found a dump of it in a German book, retyped it, byte-by-byte, and managed to make only 5 errors. Once I had the BASIC, I searched for the doc, and retyped the one that I found. If you find another copy of the doc, please have a look, and tell me if there is something to change.

At the time, I considered disassembling TDL 12K BASIC, but there has been no interest for it after I released it and its doc.

According to Google, I published it twice, the second time the 20 July 2001:

https://groups.google.com/forum/#!msg/comp.os.cpm/4YNApB0dyuk/plQOr8I8ProJ

(5th message of the "TDL BASIC 2.1" thread.)

In 2012, a German appeared from nowhere, and published a source code. So, maybe Colvin was selling its source code?

http://electrickery.xs4all.nl/comp/qx10/doc/index.html

(The file before the last one.)

Like you, I am sorry that all those software have disappeared but, apparently, the Americans do not care.

So, you have the binary, the source code, and the doc.

Yours Sincerely,
Mr. Emmanuel Roche, France

Udo Munk

unread,
Sep 13, 2017, 6:09:24 PM9/13/17
to
On Wednesday, September 13, 2017 at 9:28:26 PM UTC+2, Mr. Emmanuel Roche, France wrote:

> In 2012, a German appeared from nowhere, and published a source code. So, maybe
> Colvin was selling its source code?

Obviously not:

; This is the commented BASIC listing of the
; TDL 12K Extended "Zapple" BASIC,
; by Roger Amidon and Neil Colvin, May 1977
;
; This was produced by IDA disassembler
; and further modified for readability (macros and long symbols)
; note this is, although it looks like, not correct Z80 assembler
; to be directly fed into an assembler program - mainly because
; many symbols are too long for Z80 assemblers
; use this as reference only, rather use the HEX dump
; to produce a binary.

steven.f...@gmail.com

unread,
Sep 13, 2017, 9:25:18 PM9/13/17
to

steven.f...@gmail.com

unread,
Sep 14, 2017, 9:25:26 PM9/14/17
to
I agreed with you about my people in USA seem not care about preserve our hardware and software from the past. They simple threw away when they were no longer in use. Very few of us still use vintage computer system but my major concern when time that our generation will be gone and the next generation take over and not surprise they will ruin everything. We keep try to keep vintage computers at museums everywhere. Unfortunately, so many famous companies were all gone except IBM. Believe it or not, new generation of people never heard of IBM nowadays. Heath Company, famous for electronic kits, Control Data Corporation, Digital Equipment Corporation, RCA, and many other companies were gone forever.

So I am no longer young now. My time is running short before I will be call for a permanent home.

For now, yes, I have binary, the source code and the documentation for TDL 12K Basic and will compiled to post at S100Computer.com soon.

Take care!
Steven

steven.f...@gmail.com

unread,
Sep 14, 2017, 9:27:22 PM9/14/17
to
On Wednesday, September 13, 2017 at 6:09:24 PM UTC-4, Udo Munk wrote:
I got everything now. But I do not know what version but will find out. Mr. Roger Amidon passed away and no information about Neil Colvin but assumed retired somewhere in Arizona or perhaps six feet deep already.

Thanks,
Steven

Udo Munk

unread,
Sep 15, 2017, 2:34:37 AM9/15/17
to
On Friday, September 15, 2017 at 3:27:22 AM UTC+2, steven.f...@gmail.com wrote:

> I got everything now. But I do not know what version but will find out.

The preserved version from the book which was disassembled is Vers. 2.1.

Udo Munk

unread,
Sep 25, 2017, 2:49:30 PM9/25/17
to
I got this working so far with the z80pack Altair 8800 emulation:


Zapple V1.1
>ar=c
>r,300

>g300


HIGHEST MEMORY?

52670 BYTES FREE

Welcome to BASIC, Ver. 1.3
<TDL Z-80 8-K VERSION>

>READY
print "Hello TDL"
Hello TDL

>READY

dott.Piergiorgio

unread,
Sep 25, 2017, 3:16:37 PM9/25/17
to
more or less the same here; next step, integrating the monitor into CP/M
first, then with replacement CCP/BDOS. but I don't give precisely all
at-keyboard time to CP/M...

Best regards from Italy,
dott. Piergiorgio.


dxf...@gmail.com

unread,
Oct 2, 2017, 10:54:47 AM10/2/17
to
FWIW there are scanned manuals for the 8k and
12k (ver.3) at Rich Cini's site. I don't have the
link handy. Reading the v3 manual I get the
impression TDL had by then a version for CP/M
with support for disk.

I'm amazed at how many Basics were available
from various vendors at such an early time
in microcomputing history. Did they all derive
from a common model?

Udo Munk

unread,
Oct 2, 2017, 1:21:32 PM10/2/17
to
On Monday, October 2, 2017 at 4:54:47 PM UTC+2, dxf...@gmail.com wrote:

> FWIW there are scanned manuals for the 8k and
> 12k (ver.3) at Rich Cini's site. I don't have the
> link handy. Reading the v3 manual I get the
> impression TDL had by then a version for CP/M
> with support for disk.

http://www.classiccmp.org/cini/my_imsai.htm

> I'm amazed at how many Basics were available
> from various vendors at such an early time
> in microcomputing history. Did they all derive
> from a common model?

No.

norwe...@gmail.com

unread,
Oct 2, 2017, 5:15:25 PM10/2/17
to

>> I'm amazed at how many Basics were available
>> from various vendors at such an early time
>> in microcomputing history. Did they all derive
>> from a common model?

At that point in time, Lawrence Livermore National Laboratory developed a BASIC interpreter for the 8080 (I believe it had floating point support too) that was freely available to the public (because it was U.S. government funded research). I can't help but think that it provided a basis for a lot of the BASICs that arose back then. If not directly, at least as a framework, or "focal point", for many of the developers of the BASIC language for microcomputers (in the U.S.)? I also seem to remember that it was eventually published (was it in Dr. Dobbs, or maybe via the government printing office as a research report?).

Roger

Udo Munk

unread,
Oct 2, 2017, 5:49:23 PM10/2/17
to
On Monday, October 2, 2017 at 11:15:25 PM UTC+2, norwe...@gmail.com wrote:

> At that point in time, Lawrence Livermore National Laboratory developed a BASIC interpreter
> for the 8080 (I believe it had floating point support too) that was freely available to the public
> (because it was U.S. government funded research). I can't help but think that it provided a basis
> for a lot of the BASICs that arose back then. If not directly, at least as a framework, or
> "focal point", for many of the developers of the BASIC language for microcomputers (in the U.S.)?
> I also seem to remember that it was eventually published (was it in Dr. Dobbs, or maybe via the
> government printing office as a research report?).

But it was published in 1977:

http://bitsavers.informatik.unistuttgart.de/pdf/llnl/8080_basic/LLL_BASIC_Part2_BASIC_Interpreter_Jan77.pdf

and there was a bunch on BASIC interpreters before for the 8080 and Z80.

dxf...@gmail.com

unread,
Oct 2, 2017, 9:19:22 PM10/2/17
to
Which begs the question which of those might
have provided the framework and features
seen in the commercial Basics. While not every
Basic looked the same, many are close enough
to make you wonder.

dott.Piergiorgio

unread,
Oct 3, 2017, 6:27:01 AM10/3/17
to
well, that BASIC ended being really unstandardised (understatement, of
course ;) ) is a reality, and my opinion one must start from literally
the root in researching the entire tree:


> http://bitsavers.informatik.uni-stuttgart.de/pdf/dartmouth/

(BASIC_Oct64.pdf should be the actual Ur-text needed...)

HTH and

Udo Munk

unread,
Oct 3, 2017, 9:18:41 AM10/3/17
to
On Tuesday, October 3, 2017 at 3:19:22 AM UTC+2, dxf...@gmail.com wrote:

> Which begs the question which of those might
> have provided the framework and features
> seen in the commercial Basics. While not every
> Basic looked the same, many are close enough
> to make you wonder.

Before the microcomputer BASIC implementations we used
BASIC on GE mainframes and minicomputers from HP and DEC.
In some of the advertisements for microcomputer BASIC
compatibility with DEC BASIC Plus is mentioned. For these
commercially oriented versions DEC BASIC provided the
framework.

Paul Bartlett

unread,
Oct 3, 2017, 1:18:15 PM10/3/17
to
On Mon, 2 Oct 2017, Udo Munk wrote:

> On Monday, October 2, 2017 at 11:15:25 PM UTC+2, norwe...@gmail.com wrote:
>
>> At that point in time, Lawrence Livermore National Laboratory developed a BASIC interpreter
>> for the 8080 (I believe it had floating point support too) that was freely available to the public
>> (because it was U.S. government funded research). [...]

> But it was published in 1977:
>
> http://bitsavers.informatik.unistuttgart.de/pdf/llnl/8080_basic/LLL_BASIC_Part2_BASIC_Interpreter_Jan77.pdf
>
> and there was a bunch on BASIC interpreters before for the 8080 and Z80.

"Sorry, the website ... cannot be found". Three different browsers
failed.

--
Paul Bartlett

Rob Doyle

unread,
Oct 3, 2017, 1:35:14 PM10/3/17
to

W3VH

unread,
Oct 3, 2017, 10:30:52 PM10/3/17
to

Udo Munk

unread,
Oct 4, 2017, 2:46:50 PM10/4/17
to
I've uploaded Zapple Monitor, 8k and 12k BASIC including manuals to the
z80pack repository:

http://www.autometer.de/unix4fun/z80pack/ftp/altair/

The Monitor is converted to proper Zilog/Mostek syntax and hacked
for using on an Altair 8800 System with Z80 CPU. So to run it with
z80pack altairsim use:

./altairsim -z -x zapple.hex

Typewriter I/O is adapted for channel A of a MITS 2SIO and the
cassette tape drivers are adapted to MITS HCR, TDL Software
like the BASIC interpreters can be read into the machine via the
cassette tape port.

The BASIC interpreters are using undocumented Z80 instructions,
which will be implemented with z80pack release 1.36. The 8K
version initialises under 1.35, but multiplication etc. run into
the not implemented op-code traps. 12k BASIC uses much more
undocumented op-codes and won't even initialise.

dxf...@gmail.com

unread,
Oct 4, 2017, 8:49:29 PM10/4/17
to
I'd never heard of a commercial vendor other
than TDL using undoc Z80 opcodes. I can't imagine
what possessed them.

Of more academic interest to me was the discovery
TDL used a relocatable hex object format. Dave
Dunfield has archived several paper tape images
in this format (tdlsoft.zip). With no way of
decoding this format, I couldn't resist writing
a utility to do it. A potential problem with
this format (?) is that it only handles 16 bit
relocatable quantities. What about code that
splits such an address into hi/lo parts to be
handled by 8 bit regs? There seems to be no
provision for that.

Udo Munk

unread,
Oct 5, 2017, 6:33:02 AM10/5/17
to
On Thursday, October 5, 2017 at 2:49:29 AM UTC+2, dxf...@gmail.com wrote:

> I'd never heard of a commercial vendor other
> than TDL using undoc Z80 opcodes. I can't imagine
> what possessed them.

SLS was another commercial vendor using undocumented op-codes.
SLS did that for no good reason, TDL wrote Z80 software with
Zilog internal informations, before the Z80 instruction set
was published, might have been a result of that.

> Of more academic interest to me was the discovery
> TDL used a relocatable hex object format. Dave

This is why I wanted a usable Zapple monitor, it can
load the TDL relocatable hex objects and one can try
this out.

> Dunfield has archived several paper tape images
> in this format (tdlsoft.zip). With no way of

Cool, then one could try to load these tapes.

> decoding this format, I couldn't resist writing
> a utility to do it. A potential problem with
> this format (?) is that it only handles 16 bit
> relocatable quantities. What about code that
> splits such an address into hi/lo parts to be
> handled by 8 bit regs? There seems to be no
> provision for that.

The relocatable hex format was a crutch anyway,
TDL was involved in the development of the rel
object formats used later, which solved such
problems.

Udo Munk

unread,
Oct 5, 2017, 9:12:32 AM10/5/17
to
On Thursday, October 5, 2017 at 12:33:02 PM UTC+2, Udo Munk wrote:

> SLS was another commercial vendor using undocumented op-codes.

Correction: SLR Systems is name of the vendor.

norwe...@gmail.com

unread,
Oct 5, 2017, 1:05:51 PM10/5/17
to
I'm in the process of trying to disassemble the Laboratory Microsystems FORTH, and I think there are undocumented opcodes in it as well. I find ED 63 nn nn and ED 6B nn nn in executable parts of the code. From what I can find out, these are "LD HL,(nnnn)" and "LD (nnnn),HL". Wonder why not just use "21 nn nn" and "2A nn nn"? Maybe the undocumented opcodes have a different outcome for the condition codes? Or were they just trying to confound disassemblers (like me)? *grin*

Roger

Udo Munk

unread,
Oct 5, 2017, 2:05:56 PM10/5/17
to
These both instruction are documented in the Zilog as well as the Mostek manuals. Functionality
is identical to the 3 byte versions, of course no assembler/compiler I've ever seen produces
the 4 byte versions. That is why I did not implemented the 4 byte versions in 1987, and then
I completely forgot about it over the decades :( Only lately I got a bug report that they are
missing, so I added the instructions, will be included in z80pack 1.36.

This is the first software I've ever heard about using them, good question why they did that,
costs more memory and more instruction cycles. I've not had a look yet what Z80
disassemblers do with this.

Udo Munk

unread,
Oct 5, 2017, 2:44:21 PM10/5/17
to
On Thursday, October 5, 2017 at 2:49:29 AM UTC+2, dxf...@gmail.com wrote:

> Of more academic interest to me was the discovery
> TDL used a relocatable hex object format. Dave
> Dunfield has archived several paper tape images
> in this format (tdlsoft.zip).

I have downloaded the archive from Dave and first tried the 8K BASIC:

./altairsim -z -x zapple.hex


Zapple V1.1
>ar=c

This assigns the reader device to the cassette tape driver. Then on a second terminal:

nc -U /tmp/.z80pack/altairsim.tape < TDL8KBAS.PT

netcat is named nc on OS X systems, this command sends the paper tape image
from Dave to the Altair cassette port. Then on the Altair terminal:

>r,200

Means read tape from cassette port and relocate to 0200H. Then:

>g200

Execute code at 0200H, and there we go:


HIGHEST MEMORY?

52926 BYTES FREE

Welcome to BASIC, Ver. 1.3
<TDL Z-80 8-K VERSION>

>READY

Cool, have to try the other software from Dave's archive...

Udo Munk

unread,
Oct 5, 2017, 3:15:20 PM10/5/17
to
With CNTL-X you get out of BASIC back to Zapple. Now on the second terminal:

nc -U /tmp/.z80pack/altairsim.tape < TDLM80.PT

And on the Altair terminal:

>READY
^X
@0558
>f100,5000,0

>r,1000

>g1000

TDL Z80 RELOCATING ASSEMBLER VERSION 1.2

PASS=

I've never used this, no idea what now, need manual :)

Udo Munk

unread,
Oct 5, 2017, 3:22:58 PM10/5/17
to
nc -U /tmp/.z80pack/altairsim.tape < TDLZ80TX.PT

>r,1000

>g1000


TDL Z-80 RESIDENT TEXT EDITOR, V1.0

BUFFER START-

Udo Munk

unread,
Oct 5, 2017, 3:26:57 PM10/5/17
to
And finally:

nc -U /tmp/.z80pack/altairsim.tape < TDLTXPRO.PT

>r,1000

>g1000

TDL Z80 Text Output Processor Version 1.0

Adjust paper to first line of page, then enter CR

The tapes from Dave are good it seems. Need to play with the software some more
and check about the undocumented op-codes, so that the software can be used
with z80pack.

dxf...@gmail.com

unread,
Oct 5, 2017, 7:08:08 PM10/5/17
to
Never knew that. Whichever undoc opcodes it
uses, MYZ80 which only ever implemented a few,
seems to work. There exist standard tricks to
save space such as using a harmless 2 byte opcode
to skip over an instruction. Used that myself.

dxf...@gmail.com

unread,
Oct 5, 2017, 8:17:42 PM10/5/17
to
On Friday, October 6, 2017 at 4:05:51 AM UTC+11, norwe...@gmail.com wrote:
> I'm in the process of trying to disassemble the Laboratory Microsystems FORTH, and I think there are undocumented opcodes in it as well. I find ED 63 nn nn and ED 6B nn nn in executable parts of the code. From what I can find out, these are "LD HL,(nnnn)" and "LD (nnnn),HL". Wonder why not just use "21 nn nn" and "2A nn nn"? Maybe the undocumented opcodes have a different outcome for the condition codes? Or were they just trying to confound disassemblers (like me)? *grin*
>
> Roger

Would that be version 2.04 :) I had to change
each instance of ED6B with 002A before it would
run on MYZ80. Obviously LMI's assembler didn't
implement the shorter form of those two instr
simply relying on the general long form to work.

FWIW I found two bugs in 2.04

1339: DW LIT,0
DW LIT,0FCBH ; .FCB misinterpreted as double hex number!

I patched it as follows

1339: DW LIT,0
DW DROP,DOTFCB ; 06B9,1E38

Also

1E56: DW 255H

should have been in decimal i.e. DW 255

Forth fans may be interested in the TDL HEX to
binary converter I knocked up. I no longer have a
webpage so I uploaded here:

http://s000.tinyupload.com/index.php?file_id=09323140399629173831

Includes binaries for DOS and CP/M.

norwe...@gmail.com

unread,
Oct 6, 2017, 1:43:34 PM10/6/17
to

>> Forth fans may be interested in the TDL HEX to binary converter I knocked up.

Thanks! I grabbed a copy.

>> Would that be version 2.04 :)

Actually, it is ver. 1, rel. 3, rev. 0, if I can believe the documentation, for the contents of low memory, that I have. Would you perhaps know what the status of this software is? Is it commonly available on-line, or does LMI still "hold it tight"? Possible to get newer versions?

Roger

dxf...@gmail.com

unread,
Oct 6, 2017, 8:51:05 PM10/6/17
to
On Saturday, October 7, 2017 at 4:43:34 AM UTC+11, norwe...@gmail.com wrote:
> >> Forth fans may be interested in the TDL HEX to binary converter I knocked up.
>
> Thanks! I grabbed a copy.
>

Good to hear you could dload it. I'm limited to
using a smartphone and while the upload appeared
to work and the stated filesize was correct, I
was unable to dload it, receiving only a link.

> >> Would that be version 2.04 :)
>
> Actually, it is ver. 1, rel. 3, rev. 0, if I can believe the documentation, for the contents of low memory, that I have. Would you perhaps know what the status of this software is? Is it commonly available on-line, or does LMI still "hold it tight"? Possible to get newer versions?
>
> Roger

Definitely nobody has stepped forward since the
the mid 1990's when LMI closed and asserted
ownership. Allegedly no buyers could be found.
Ray Duncan himself returned to a career in medicine after handing over his client list to
Forth Inc. His last public contact with Forth
was several years where he uploaded a 6811
cross compiler to Greenarrays old software
archive page saying he found it lying around.
IMO a good enough statement as any that LMI
products are abandonware.

I found LMI Z80 2.04 on Rlees disk archive
some years ago and disassembled it. Gmail me
at dxforth if interested.

dott.Piergiorgio

unread,
Oct 8, 2017, 6:51:01 AM10/8/17
to
On 05/10/2017 12:33, Udo Munk wrote:

> Cool, then one could try to load these tapes.
>
>> decoding this format, I couldn't resist writing
>> a utility to do it. A potential problem with
>> this format (?) is that it only handles 16 bit
>> relocatable quantities. What about code that
>> splits such an address into hi/lo parts to be
>> handled by 8 bit regs? There seems to be no
>> provision for that.
>
> The relocatable hex format was a crutch anyway,
> TDL was involved in the development of the rel
> object formats used later, which solved such
> problems.

hmmm... perhaps considering this hex format as a precursor of late rel
object format can be a key in decoding this format ?

dott.Piergiorgio

unread,
Oct 8, 2017, 7:01:20 AM10/8/17
to
On 05/10/2017 20:44, Udo Munk wrote:

> Zapple V1.1
>> ar=c
>
> This assigns the reader device to the cassette tape driver. Then on a second terminal:
>
> nc -U /tmp/.z80pack/altairsim.tape < TDL8KBAS.PT
>
> netcat is named nc on OS X systems, this command sends the paper tape image
> from Dave to the Altair cassette port. Then on the Altair terminal:

curiously, in this Linux machine, both nc and netcat point to same tool:

> ls -l /bin/nc /bin/netcat
> lrwxrwxrwx 1 root root 20 giu 18 00:19 /bin/nc -> /etc/alternatives/nc
> lrwxrwxrwx 1 root root 24 giu 18 00:19 /bin/netcat -> /etc/alternatives/netcat

> ls -l /etc/alternatives/nc /etc/alternatives/netcat
> lrwxrwxrwx 1 root root 19 giu 18 00:19 /etc/alternatives/nc -> /bin/nc.traditional
> lrwxrwxrwx 1 root root 19 giu 18 00:19 /etc/alternatives/netcat -> /bin/nc.traditional

... you always manage to pique, directly or indirectly, my hacking
instinct !! :P

>> r,200
>
> Means read tape from cassette port and relocate to 0200H. Then:
>
>> g200
>
> Execute code at 0200H, and there we go:
>
>
> HIGHEST MEMORY?
>
> 52926 BYTES FREE
>
> Welcome to BASIC, Ver. 1.3
> <TDL Z-80 8-K VERSION>

then the undocumented opcodes in the multiplication hits, I'm right ?

Udo Munk

unread,
Oct 8, 2017, 7:01:40 AM10/8/17
to
The del formats are bit stream formats, completely different. For the format
used by Microsoft and DRI there is a reldump program, which decodes the
bit stream into readable text. Is included on the tool source HD in
z80pack.

Udo Munk

unread,
Oct 8, 2017, 7:06:43 AM10/8/17
to
No, you an do stuff, but no multiplication or using functions like sin().

dxf...@gmail.com

unread,
Oct 8, 2017, 7:22:22 AM10/8/17
to
On Thursday, October 5, 2017 at 5:46:50 AM UTC+11, Udo Munk wrote:
> I've uploaded Zapple Monitor, 8k and 12k BASIC including manuals to the
> z80pack repository:
>
> http://www.autometer.de/unix4fun/z80pack/ftp/altair/
>
> ...
> 12k BASIC uses much more
> undocumented op-codes and won't even initialise.

OTOH it could be due to the buggy hex dump.
Comparing the binary in tdlbasic.arc I
discovered 19 ocr/typo bugs - mostly 8's
instead of B's.

Udo Munk

unread,
Oct 8, 2017, 9:14:40 AM10/8/17
to
On Sunday, October 8, 2017 at 1:22:22 PM UTC+2, dxf...@gmail.com wrote:

> OTOH it could be due to the buggy hex dump.
> Comparing the binary in tdlbasic.arc I
> discovered 19 ocr/typo bugs - mostly 8's
> instead of B's.

Yep, I implemented more undocumented op-codes until the 12K version
runs, but it doesn't work. The hex dump needs corrections.

dxf...@gmail.com

unread,
Oct 8, 2017, 11:15:25 AM10/8/17
to

Udo Munk

unread,
Oct 8, 2017, 5:00:36 PM10/8/17
to
On Sunday, October 8, 2017 at 5:15:25 PM UTC+2, dxf...@gmail.com wrote:

> Try this one.
>
> http://s000.tinyupload.com/index.php?file_id=06159794566465647285

Much better, thank you.

Zapple V1.1
>ar=c
>r

>g300

Highest Memory?

49029 Bytes Free

Welcome to BASIC, Ver. 2.1
<TDL Z-80 High Precision Extended Version>

READY:
print "Hello TDL"
Hello TDL

READY:

dxf...@gmail.com

unread,
Oct 8, 2017, 8:39:55 PM10/8/17
to
Excellent. I had no way to test it. The simple
disassembly included should be adequate for
relocation to another address. Which opens up
the possibility of creating a TDL relocatable
hex object file :)

Udo Munk

unread,
Oct 9, 2017, 2:46:16 PM10/9/17
to
On Monday, October 9, 2017 at 2:39:55 AM UTC+2, dxf...@gmail.com wrote:

> Excellent. I had no way to test it. The simple
> disassembly included should be adequate for
> relocation to another address. Which opens up
> the possibility of creating a TDL relocatable
> hex object file :)

Hopefully someone has an original tape which can
be imaged.

dxf...@gmail.com

unread,
Oct 9, 2017, 9:58:21 PM10/9/17
to
An update on that listing. I had flagged the
following line as having a potential typo.

call L833 ;** ??? typo

After looking at a scan of the book and comparing
the two binaries in the archive 'tdlbasic.arc',
I'm inclined to the view it's probably a typo and
the line should read:

call LB33

If so, the listing and hex/binary dumps I
provided above will need to be amended. As I
can't be certain which is correct, I'll leave
the change and testing to those with the means
and inclination.

Udo Munk

unread,
Oct 10, 2017, 1:49:02 PM10/10/17
to
On Thursday, October 5, 2017 at 9:15:20 PM UTC+2, Udo Munk wrote:

> TDL Z80 RELOCATING ASSEMBLER VERSION 1.2
>
> PASS=
>
> I've never used this, no idea what now, need manual :)

Found manual(s), paper tape images and the manuals are here:

http://www.autometer.de/unix4fun/z80pack/ftp/altair/tdl-tapes/

Now one could use the TDL line editor, enter some source,
write to tape. load assembler and run pass 1 from tape, run pass 2
from tape and write hex to another tape. That's how the systems
were brought up before disk OS's like CP/M. Stuff should be
useful for anyone with an Altair/IMSAI machine with some sort
of Z80 CPU from TDL, Tarbell, Cromemco ...
You just need to adjust Zapple for the hardware you have and
then you could use all this on the system.

Have fun,
Udo

Udo Munk

unread,
Oct 10, 2017, 3:58:59 PM10/10/17
to
On Monday, October 9, 2017 at 2:39:55 AM UTC+2, dxf...@gmail.com wrote:

> Excellent. I had no way to test it. The simple
> disassembly included should be adequate for
> relocation to another address. Which opens up
> the possibility of creating a TDL relocatable
> hex object file :)

The TDL assembler can do that, if there wasn't this syntax making
my eyes bleed ;-)

Nonsens test program just for seeing what it does:

PASS=1

PASS=4



TDL Z80 RELOCATING ASSEMBLER VERSION 1.2 PAGE 1






.LOC 0

0000' C3 0006' START: JMP BEGIN
0003' 00 NOP
0004' 00 NOP
0005' 76 HLT
0006' 21 00FF BEGIN: LXI H,0FFH
0009' FF RST 7


;0C00000140C3060000007621FF0000FF55
;0000000000 .END


TDL Z80 RELOCATING ASSEMBLER VERSION 1.2 PAGE 2

+++++ SYMBOL TABLE +++++


BEGIN 0006' START 0000'

Listing and hex tape all to the typewriter works for testing, but needs
to be separated for real results of course.

Udo Munk

unread,
Oct 10, 2017, 4:42:47 PM10/10/17
to
This is interesting too, just hit the wrong key :-P

>g100

TDL Z80 RELOCATING ASSEMBLER VERSION 1.2

PASS=S
C 1976 BY TECHNICAL DESIGN LABS INC.
WRITTEN BY NEIL COLVIN
TDL SERIAL NUMBER 121125

PASS=

dxf...@gmail.com

unread,
Oct 10, 2017, 8:44:42 PM10/10/17
to
So they duplicated what was done in BASIC,
where you can input A instead of memory size
and it prints an info msg. Press S and it
includes the serial#.

Udo Munk

unread,
Oct 10, 2017, 11:08:00 PM10/10/17
to
On Wednesday, October 11, 2017 at 2:44:42 AM UTC+2, dxf...@gmail.com wrote:

> So they duplicated what was done in BASIC,
> where you can input A instead of memory size
> and it prints an info msg. Press S and it
> includes the serial#.

Only S works, it prints the info msg including the serial no.,
while in BASIC only A works and prints the info msg.

Udo Munk

unread,
Oct 10, 2017, 11:44:38 PM10/10/17
to
Correction: in BASIC A and S works, I missed that.

Udo Munk

unread,
Oct 12, 2017, 4:07:51 PM10/12/17
to
I have now implemented all undocumented instructions the TDL 12K BASIC
uses. Will be included in z80pack 1.36, so that the software runs on these
emulations.

dxf...@gmail.com

unread,
Oct 13, 2017, 11:50:50 AM10/13/17
to
Another update of TDL BASIC 2.1.
I believe it resolves all the typo
and relocatability issues. New in
this release is a TDL relocatable hex
object file.

http://s000.tinyupload.com/index.php?file_id=82734320374517181335


Version 2 of my TDL HEX to binary
utility is here.

http://s000.tinyupload.com/index.php?file_id=38067797075935529865

Udo Munk

unread,
Oct 13, 2017, 4:13:15 PM10/13/17
to
I tested this version, played some rounds star trek and everything works.
Also the relocatable version works fine when relocated to different addresses.
I'll put it into the z80pack repository too. Thanks for making it available.

dxf...@gmail.com

unread,
Oct 14, 2017, 1:56:30 AM10/14/17
to
Just discovered CPMUG vol. 36 contains an overlay
that allows the TDL assembler to run under
CP/M. Ran fine using MAC6.AZM as a test.
Creating the executable requires TDLASM be
relocated to $800. This can be done using TDLHEX
utility I recently posted.

Since MAC6.AZM contains all the CP/M drivers, it
could serve as the basis for converting TDL BASIC
2.1 to run under CP/M. If anyone contemplates
doing this, the region 100h to 2FF must not be
used for CP/M as BASIC uses it for workspace and
it's not relocatable. Placing a temp JMP at 100h
to boot the thing up however would be ok.

Udo Munk

unread,
Nov 2, 2017, 6:21:43 AM11/2/17
to
Update:

I wrote an extension for Zapple, that implements the list device via
the Altair printer port, and a reader/punch device via 2SIO B.
This done one can use the TDL assembler to read in source tapes
and assign output to the appropriate devices.

Some S100 guys are interested in an original Zapple ROM for the
TDL SMB card. Herb Johnson provides source for version 1.05R here:

http://www.retrotechnology.com/restore/TDLmonitor.html

I assembled this source sucessfully with the TDL Z80 assembler,
so that SMB ROM's can be programmed from the Intel hex object.

Then Herb also provides the original source for the 1K Zap 2.0
monitor, which he received from Roger Amidon. I also assembled
this version sucessfully. This monitor is programmed for a
MITS SIO REV 1, so it was intended for an MITS Altair system,
and it can be tested with the z80pack Altair emulation. So if
you are looking for a real nice monitor for you Altair/IMSAI box
you'll find everything here:

http://www.autometer.de/unix4fun/z80pack/ftp/altair/

Happy hacking,
Udo

Udo Munk

unread,
Nov 6, 2017, 3:14:56 PM11/6/17
to
Of course it is not necessary to assemble Zapple with ancient software tools, that need
multiple feeding of input/output tapes through a machine.
A somewhat later version of the TDL Z80 Assembler works under CP/M, it's called Macro-II by CDL.
This one is hard to find, so I made a CP/M disk image tdlsoft for the Altair, that includes Macro-II
and the Zapple source, assembled with the thing.

Disk image is here:
http://www.autometer.de/unix4fun/z80pack/ftp/altair/

Manual for the assembler here:
http://www.autometer.de/unix4fun/z80pack/ftp/manuals/TDL/

hper...@gmail.com

unread,
Nov 8, 2017, 4:29:50 AM11/8/17
to
On Thursday, October 5, 2017 at 2:49:29 AM UTC+2, dxf...@gmail.com wrote:
> A potential problem with
> this format (?) is that it only handles 16 bit
> relocatable quantities. What about code that
> splits such an address into hi/lo parts to be
> handled by 8 bit regs? There seems to be no
> provision for that.

The REL format does not handle 8-bit reloc quantities
either, at least not without using 'extension' items
that are not fully documented, and therefore not
supported by many assemblers and linkers (e.g. Digital
Research's RMAC and LINK).

dxf...@gmail.com

unread,
Nov 8, 2017, 7:28:24 AM11/8/17
to
I was thinking of this

cseg
mvi c,low here
mvi b,high here
here:
end

This works with M80/L80 and produces what you
would expect at any nominated load address.
However I notice RMAC doesn't like it.

hper...@gmail.com

unread,
Nov 9, 2017, 3:29:54 AM11/9/17
to
The only assemblers known to support that are M80 and SLR
(I'm assuming that 'here' above is a relocatable value).
Same for the linkers: L80 and SLRNK. I've noticed that M80
is buggy regarding support of extended REL items: every now
and then it generates a corrupt REL file when it encounters
such expressions.

In general, when writing portable Z80 code I generally avoid
that sort of things and go for the lower denominator - either
use a different approach e.g. by loading the full address in
a register pair, then using the separate register halves,
and/or using HIGH and LOW only with constant values.

dxf...@gmail.com

unread,
Nov 10, 2017, 10:32:09 AM11/10/17
to
Thanks for the info. Never looked into the REL
format and just assumed it was a standard to
which all the major asms complied.

Udo Munk

unread,
Nov 10, 2017, 10:45:51 AM11/10/17
to
On Friday, November 10, 2017 at 4:32:09 PM UTC+1, dxf...@gmail.com wrote:

> Thanks for the info. Never looked into the REL
> format and just assumed it was a standard to
> which all the major asms complied.

It never was a standard, the REL format was an angreement resulting
from discussions. So everyone implemented a (different) subset or
extended it as needed.

bi...@sunsouthwest.com

unread,
Jan 25, 2018, 12:11:54 PM1/25/18
to
Hi Guys;

Sorry if I don't actually know who said what I've quoted below

On Monday, October 2, 2017 at 9:54:47 AM UTC-5, dxf...@gmail.com wrote:
> On Thursday, September 14, 2017 at 5:28:26 AM UTC+10, Mr. Emmanuel Roche, France wrote:
> > Hello, Steven!

ie I mean this:

> I'm amazed at how many Basics were available
> from various vendors at such an early time
> in microcomputing history. Did they all derive
> from a common model?

BUT part of the answer is:

gates & co lineage traces directly to DEC PDP-10 Basic

Seems to me, ''they'' stole/bartered/bargained for TIMESHARE on the Albuquerque
school system hardwares. Ed Roberts had a Data General Nova (or some such thing) running time sharing which he rented out. He sued some guy for not paying.
Anyway I don't know if gates/allen/davidoff every had anything to do with that
one.

And yes, of course, I've got a manual around here somewhere

Bill

Udo Munk

unread,
May 7, 2018, 4:10:49 PM5/7/18
to
I've typed in the TDL Apple monitor predating Zapple from the manual in
Intel syntax, so that it assembles with Intel MACRO 80 or the DRI 8080
assemblers.

Manual and sources are here:
http://www.autometer.de/unix4fun/z80pack/ftp/altair/

The monitor assumes the monitor ROM at F000-F7FF followed by RAM @ F800.
z80pack 1.37-dev @ github includes the memory configuration for that as
compile-time option in sim.h.

Very good system monitor for 8080 systems, have fun with it,
Udo

steven.f...@gmail.com

unread,
Feb 27, 2021, 8:56:02 PM2/27/21
to
I tried to download from the server, but got the message as follows:

File was deleted from server.

Can you help me to get version 2 (2.1)? I look for all Technical Design Labs / Xitan software images.

Thank you,
Steven

dxforth

unread,
Feb 27, 2021, 11:20:37 PM2/27/21
to
I've uploaded copies (TDLBAS21.ZIP and TDLBAS30.ZIP) to google-drive.

https://drive.google.com/drive/folders/1kh2WcPUc3hQpLcz7TQ-YQiowrozvxfGw

TDL-HEX utilities (TDLHEX03.ZIP and TDLREL02.ZIP) are there also.

0 new messages