PDA

View Full Version : Demonstration of Tandberg TDV-2114



per
December 2nd, 2010, 08:07 AM
Some time ago I found this computer in the school's attic, and it turned out to be the first computer the school bought. I tried to ask if I could get it, but it was decided that it was of historical value to the school. However, I got the permission to try to get it running.

Now I finally got it to work, and I have recorded a demonstration run of the machine. When Youtube is done proccessing the video, it can be seen on the following link:

http://www.youtube.com/watch?v=KS_NOJSkpe0

tingo
December 2nd, 2010, 02:16 PM
Well done! (Both getting the machine to work again, and the video)
Have you preserved the floppy disks? (in English: copied them)

per
December 2nd, 2010, 11:16 PM
Well done! (Both getting the machine to work again, and the video)
Have you preserved the floppy disks? (in English: copied them)

The problem is that I have no idea how to transfer files from therse disks to more recent computers. I know the computer has a RS-232 port, but I have no experience in how to utilize it for file transfer. In addition, I should rather want disk images of the disks, which means that I will have to connect the external 8" drive to a more recent, stationary [desktop] computer. I will also need to make a 50-34pin cable, and figure out the format of the disks.

commodorejohn
December 3rd, 2010, 04:31 AM
It would probably be simpler to transfer the disk image over the serial port than to connect the 8" drives to a modern PC. Does the CP/M disk have the assembler on it? It shouldn't be too hard to hack up a utility to do that...

tingo
December 3rd, 2010, 07:33 AM
per (just in case you don't know this already), the common way to transfer files over serial cables in the 1980's was one of the following: kermit (http://en.wikipedia.org/wiki/Kermit_%28protocol%29), xmodem (http://en.wikipedia.org/wiki/XMODEM), ymodem (http://en.wikipedia.org/wiki/YMODEM) or zmodem (http://en.wikipedia.org/wiki/ZMODEM) (the programs were often name rz and sz). If one of these programs are on a floppy, you're all set on that side. On the other side, many communication programs have one or more of these protocols built in. Minicom (http://alioth.debian.org/projects/minicom/) for example, has zmodem built in.

commodorejohn
December 3rd, 2010, 07:56 AM
That doesn't cover disk images, though, but it would be pretty easy to dump chunks of a disk image to files on another disk for transfer over serial...

per
December 3rd, 2010, 08:23 AM
I may have an null-modem cable laying around.

The optimal way to dump a disk would problably be to initialize a file transfer, then read some sectors of the disk and directly send the information in the form of chunks of data (without temporarely storing them as files first. This may require some timing). There is a compiler included on one of the disks, (don't remember if it was a CP/M or TOS disk,) but I have never written for CP/M before so I am not familiar with the interface.

I may also have problems getting a computer with a serial port close to it.

There are between 20 and 30 disks in total.

commodorejohn
December 3rd, 2010, 08:27 AM
Yeah, directly reading and transferring sectors would be a lot simpler, but then the disk-reader program has to take care of packaging the data as XModem format or what have you. I've done some CP/M coding, and it's simple enough, but I know squat about serial protocols that don't involve "just shove some bytes out the port..."

Tor
March 14th, 2011, 06:19 AM
There is a solution that is maybe even more tricky than the problem.. :)
I once wrote a tool to read CP/M 8" floppies on a Norsk Data computer. So, in case you have a Norsk Data computer of the type with a combined 5 1/4" and 8" floppy controller (all the models from, say, 1987 and later) it would just be a matter of reading the 8" floppy on the ND, then, in case it didn't have an Ethernet card, copy the content to a 5 1/4" floppy and read that one on a Linux PC with the help of the setfdprm tool.

I do have the 5 1/4" Linux PC w/network setup available, but unfortunately I lost my ND computer.. :(

per
March 14th, 2011, 06:26 AM
There is a solution that is maybe even more tricky than the problem.. :)
I once wrote a tool to read CP/M 8" floppies on a Norsk Data computer. So, in case you have a Norsk Data computer of the type with a combined 5 1/4" and 8" floppy controller (all the models from, say, 1987 and later) it would just be a matter of reading the 8" floppy on the ND, then, in case it didn't have an Ethernet card, copy the content to a 5 1/4" floppy and read that one on a Linux PC with the help of the setfdprm tool.

I do have the 5 1/4" Linux PC w/network setup available, but unfortunately I lost my ND computer.. :(

The school once had a ND server, but sadly they threw it out before I began my studies there. However, I know for sure that at least some members here got some ND machines.

Reading and writing to various 5.25" disks formats shouldn't be any problem; I have an IBM PC/XT with a cenral-point option board deluxe just for that purpose. I also made an utility that decodes the MFM data in the images made by the option board, which turns bit-by-bit raw MFM disk images into binary images without interleave. It should work as long as they follow the Head/Cylinder/Sector standard of the NEC µPD765 disk-controller.

Magne
November 30th, 2012, 09:00 AM
I hope it's ok to post to this old thread. It was fun to see a video of this computer, and I'm impressed that you got it to work again. It was also known as 'Tandberg EC10' when sold to schools (EC for Educational Computer).
In the early nineties I transfered the floppy disks I had to a PC and figured out the format of the images, in order to copy some programs I had written for it. Since I have the computers TOS and ROM BIOS reference, it was then straightforward to implement the 8080 instruction set to get a working emulator. Fortunately the programmers at Tandberg was very structured, there was no hard coding and all the IO in both TOS and Tandberg Basic was done through the referenced BIOS routines.

This was an interesting hobby project, and after the emulator worked, it ended up being more of an exercise in optimizing TP5.5 code for a 286. Because of speed considerations I did not implement the 8080 parity flag, but this was not used in any tested program.

Do you still have access to this computer and did you manage to copy the floppy disks to a PC?
The images I have contains only TOS (ver 1.63 and 1.8 ) and Tandberg Basic 4.0, and of course utilities, games, and other small programs under these two systems.

I used a pi calculation program to time the emulator. It's in the directory of the TOS disk you showed in the video. It would be interesting to know the calculation time it writes out on the real hardware.

It would be nice if you could copy out the ROM BIOS machine code. It's located below adress 2000H in memory. There is a program called MEMDMP on the TOS system disk. It copies a specified part of memory to a file.

There is a BIOS routine that reads disk sectors directly, so if you haven't been able to copy the floppy disk images, it should be possible to write a small program to read the disk image, and transfer it through the RS-232 port.

But then.. what is the status of this computer after two years? Is it still working at Bergen Cathedral School?

per
December 1st, 2012, 02:03 PM
That must have been a really interesting project. Did you use a standard setup as default for the emulator, or did you include more of the extra boards aswell? The system at the school does for example have a completely unpopulated ROM-memory board and a newer memory expansion that gives it full 64KB of RAM.


But then.. what is the status of this computer after two years? Is it still working at Bergen Cathedral School?

I moved on to univertisty about one and a half year ago, and I have unfortunately not been able to check up on the computer since then. When I am in Bergen I should still be able to drop by to have a look at it, and I really hope it's still in good shape and that they haven't thrown it out or anything.

I know practically nothing about the computer other than that it uses an 8080, has 64KB of RAM and uses several 1KB (if I remember correctly?) ROM chips. I took photographs of all the boards, but I have no reference manual or anything. I neither don't know for sure how to transfer the disk images over to PC; one way would of course be to use an async connection, but then I don't know how to set things up, and for the other way I don't have the 50-pin to 36-pin FDD cable adapter.

Tor
December 3rd, 2012, 03:20 AM
I was almost certain that the 2114 used an 8085, not an 8080..? I believe there's still a motherboard located here at work somewhere so I could check of course.

-Tor

Magne
December 3rd, 2012, 12:55 PM
That must have been a really interesting project. Did you use a standard setup as default for the emulator, or did you include more of the extra boards aswell? .
I only had floppy disk images and reference documents when I programmed this, so this was done from a software perspective. All the programs I have run in the emulator, but only the functionality necessary to do this is implemented. TOS utilities is trapped with a message of what they're trying to do when accessing routines once meant for other equipment, not used by a PC.
The only system I really knew was on the school I went to some years earlier, but I never looked at the boards inside it. I suppose it was a fairly standard setup, it had one extra user terminal connected of up to seven possible! TOS is single user, but in Basic you could configure up to eight users with the USERS command, and I suppose only Basic was made to do this, as I believe the divided resources of one 8080, could only be enough in a school setting teaching small programming exercises. Basic works for one user in the emulator.
The computer I knew had an extra graphical character set expansion, so it could plot 'pixels' and draw lines at a resolution of 160x50 (mixed with ASCII characters). A different graphical character set is referenced in the documentation, and some games use this and doesn't look right (like Breakout ), but this was also true on the real computer.

The system at the school does for example have a completely unpopulated ROM-memory board and a newer memory expansion that gives it full 64KB of RAM.
I heard of this memory upgrade, necessary for Cobol, Pascal, and CP/M. Since it was expensive, and the school I went to only used the computer to teach Basic, it only had a standard amount of about 50KB of RAM.
In the standard memory layout, ROM and system areas are below 2000H, there is 48KB of RAM above 4000H, at 2000H there is 2KB of RAM often used by system utilities, and 2800H - 3FFFH is unused and propably a part of the memory upgrade. Display memory is accessed through IN/OUT.
Knowing that the computer could have extra memory, only emulated instructions that access 'memory' below 2000H are trapped for special handling, giving 56KB of RAM emulation.

Full 64KB of RAM + ROM must mean that some form of page swapping is done in order to fit all in a 16 bit address space..
A copy of CP/M or another demanding program would have been necessary to figure it out and test it.


I don't know how practical it is for you to copy the disks now. I can tell that the floppy disks I have is single sided (237KB ), the file system on them is mainly a standard Intel format from then, but the first sector is overwritten with TOS message texts, probably to save RAM and also to make the disks proprietary and unreadable by other computer systems.
There's no boot sector, the computer looks for a file named SYSTEM and autoloads it. So when you break out to the Monitor you can write LSYSTEM to start up again.

This is as I remember it, I'll have to find the documentation, it's at least ten years since I last looked at it. There seems to be little online information about this computer, so maybe this is interesting.

per
December 4th, 2012, 06:50 AM
I was almost certain that the 2114 used an 8085, not an 8080..? I believe there's still a motherboard located here at work somewhere so I could check of course.

It might have been... It's one and a half year since I actually looked at the computer, but the 8085 uses the 8080 instruction set anyways so it has little to say from a software perspective.


I heard of this memory upgrade, necessary for Cobol, Pascal, and CP/M. Since it was expensive, and the school I went to only used the computer to teach Basic, it only had a standard amount of about 50KB of RAM.
In the standard memory layout, ROM and system areas are below 2000H, there is 48KB of RAM above 4000H, at 2000H there is 2KB of RAM often used by system utilities, and 2800H - 3FFFH is unused and propably a part of the memory upgrade. Display memory is accessed through IN/OUT.
Knowing that the computer could have extra memory, only emulated instructions that access 'memory' below 2000H are trapped for special handling, giving 56KB of RAM emulation.

Full 64KB of RAM + ROM must mean that some form of page swapping is done in order to fit all in a 16 bit address space..
A copy of CP/M or another demanding program would have been necessary to figure it out and test it.


I don't know how practical it is for you to copy the disks now. I can tell that the floppy disks I have is single sided (237KB ), the file system on them is mainly a standard Intel format from then, but the first sector is overwritten with TOS message texts, probably to save RAM and also to make the disks proprietary and unreadable by other computer systems.
There's no boot sector, the computer looks for a file named SYSTEM and autoloads it. So when you break out to the Monitor you can write LSYSTEM to start up again.

This is as I remember it, I'll have to find the documentation, it's at least ten years since I last looked at it. There seems to be little online information about this computer, so maybe this is interesting.

The cards contained in this unit are:

Floppy Disk [Controller] K-9????-?/L-?2785-0 (Made from discrete TTL components)
Cluster Interface K/L-92619-2 (Based around seven GI AY-5-1013 and three Intel P8212 I/O chips)
RAM K/L-92615-1 (4 banks of eight Intel B2107B-6 4Kx1 RAM chips = 16KB total, each bank has an Intel D3210)
PROM-CR-PTR K/L-92780-2 (16 empty 24-pin sockets for ROM, 3 Intel P8212 I/O chips and DIP switches)
RAM K-31022-1/L-31021-1 (4 banks of 4116 16Kx1 RAM chips, where 3 are populated = 48KB total. It uses the MC3242AP, and the board looks considerably newer than the other boards. It also has a bank of DIP switches)
Display 1 K-92647-?/L-92947-4 (Lots of discrete TTL, a GI AY-5-1013 and lots of DIP switches)
Display 2 K/L-92651-5 (16 Intel P2102-2 1Kx1 RAM chips = 16KB total, 4 Intel D3624-4 512Kx8 ROM chips labeled "ECMA INT. 3", "NAT 2 EC-10", "INAT 1" and "AR/VK SEMI-GRAFIKK", Another lot of DIP switches and a pushbutton for inverted graphics)
CPU K-92???-?/L-???39-? (8 slots for 24-pin ROM chips where 4 are populated with EPROM chips all labeled "B4 960441", and their respectve number from 1 to 4, 16 Intel P2102-4 1Kx1 RAM chips = 16KB total, an Intel P8080A CPU and five Intel P8212 and one GI AY-5-1013 I/O chips. There is also some DIP switches)


More or less all boards has various jumpers in addition to the DIP switches. One TTL chip on the CPU board was piggybacked on top of another chip, for some reason.

The FDD drives were also just single-sided Shugart 800-2 drives, so I assume this unit only has single sided disks. One of the disks has at one point had the "flipside notch" mod done to it.

Tor
December 17th, 2012, 03:39 AM
I was almost certain that the 2114 used an 8085, not an 8080..? I believe there's still a motherboard located here at work somewhere so I could check of course.

So I went and checked. Can you believe that someone, who should know better, actually dumped the boards between the last time I looked at them (a few months back) and now? I can't believe some people. It seems that there are things that are incomprehensible to some, however many times you try to explain it. Particularly as I had enquired about the boards and been told that they would be kept stored.

-Tor

per
December 17th, 2012, 03:44 AM
So I went and checked. Can you believe that someone, who should know better, actually dumped the boards between the last time I looked at them (a few months back) and now? I can't believe some people. It seems that there are things that are incomprehensible to some, however many times you try to explain it. Particularly as I had enquired about the boards and been told that they would be kept stored.

-Tor

That's really a shame. It's something like that I fear might happen to the machine in Bergen too, some day.

I looked at the pictures, and the CPU is certainly a P8080. They maywell have made an 8085 version of the CPU board too, but that must have been later.