In 1980 Philips created the P2000T computer to have its share in the new 8-bit home computer market. The market was new and the first notable contenders were the Sinclair ZX80, the Commodore VIC-20 and the Radio Shack TRS-80 Color Computer. There were basically two camps in 1980: computers with a MOS Technology 6502 processor, and the ones with a Zilog Z80. Philips designed the P2000T around the Zilog Z80, running at 2,5 MHz. The machine was everything the other Z80 machine by Sinclair was not. Where Sinclair made a very bare bones machine with low production costs, Philips wanted a great out of the box plug-and-play experience. The machine included a built-in power supply, a fully automated tape drive for loading programs and storing files, and a decent full size keyboard with num-pad.
The machine was delivered in a brown box with a power cable, a manual, a demo tape and the BASIC cartridge. Basic was bought from Microsoft and adapted to the Dutch or German language. The cartridge had a 16kB ROM chip and should be in slot 1. Besides the BASIC ROM, the machine also has a monitor-ROM that contains basic routines for boot up, testing hardware, reading the keyboard, connecting to a printer and utilising the tape drive.
You can use 60 minute tapes in the P2000T, but it needs a hack of the monitor-ROM. In the regular form, the tape routine times-out after roughly 100 seconds. A 60 minute tape with 30 minutes per side, would need the tape mechanism to run for about 186 seconds. So to reverse the tape you need 2 search actions and open the drive door in between. Writing will only succeed for about 50 blocks. After that the system thinks the end of the tape is reached. Another weird mystery of the tape is that the headers of each block are a huge 256 bytes. Which is weird, as only bytes 48-79 of the header are actually used. The rest of the header is not empty, but you can erase it and the tapes still work.
Not only was the drive speedy, it also took care of the file management. The files on the tape have a 16 character filename and a 3 character extension. The file name may include all characters except the quotation marks and is case sensitive. This is amazing! In comparison, DOS only allows 8 characters and all have to be capitals. Even though the file name may be up to 16 characters, only the first one is used as file identifier. So you could have both "Space Fight.BAS" and "space mission.BAS" on a tape, but if you want to add "Space Fight II.bas" as well, it asks if it may overwrite "Space Fight.BAS".
If you press SHIFT-1 on the num-pad the computer will make a list of every file on the tape. If you press reset, the first program will be loaded automatically. To load a certain file, you type CLOAD"filename" and to run the program you type RUN. As a shortcut, you can also type RUN"filename". If you need to remove clutter from the end of your tape, load the last file you want to keep, then type "DEFUSR=24:?USR(1.1)". The P2000T will write and end-of-tape flag after the last file you selected.
The tapes work remarkably well after 40 years. Some give a read error, but it might help to try the tape again, or in a second P2000 machine. Weird enough, the mini cassette tapes are still sold new. Not the rugged ones for the high speed P2000 drive, but they will do the job.
Then there is the option to use ASCII values 128-255. They deliver the same as if the value was 128 less, but the foreground and background color get swapped. The screen buffer is 2 screens in size, 80 characters by 24 rows, and runs from memory address 0x5000 to 0x577F. You can pan the viewport by setting the upper left X coordinate between 0 and 40. This is often used to recude flicker, as the Z80 has not enough power to refresh the entire screen each PAL TV cycle. As you can imagine the SAA5050 delivers serious limitations to what you can do on screen. At the other hand, even in 2023 we still have a Teletext graphics festival where artist try to make the nicest images possible on the teletext chip. With a modification you can switch the P2000T display output to show all 80 colums at once. This modification was often done by people who used the Word processor ROM module next to the Basic module.
Former teacher Chris de Boer travelled to every corner of the Netherlands to promote the P2000 in schools. He partnered with Educabook to publish the "Basic Probeerboek", and wrote one of the books kids received at their local Savings Bank. A second book under the Input program "Hoe de micro-computer werkt en wat je er mee kunt doen" was bought from the English publisher Usborne, and it was a translated and localised version of the book "Understanding the Micro: How It Works and What It Can Do". The text was translated by famous writer Jan Terlouw, and they added a section on the P2000T, absent fromt he original english book. Another force behind the project was Chriet Titulaer, the Dutch Bob Ross of technology education.
Philips had a solid share in schools: in 1985 it had 2136 machines in high schools, after Commodore with 4450 machines, but way ahead of number 3 Tandy, who had 695 computers in Dutch high schools. Strange enough they did not manage to get their machines into schools from OMO, the very large Catholic school organisation that runs the majority of schools in and around Eindhoven. OMO chose Commodore as partner.
Most software was developed by members of P2000 user groups. If you read the Philips P2000 software brochure, you see two groups were behind the development of programs. You had the P2C2 group, made up by employees of Philips that had a P2000T at home. There also was the NatLab Thuis computer club (home computer club), and after a while they opened it for people outside Philips. June 27th in 1981 the P2000GG (P2000 Gebruikers Groep or P2000 User Group) was founded as subsidairy of the nation wide Home Computer Club (HCC). You could get access to programs either online via Viditel or on tape via the P2000GG. Viditel was built by the national telecom coorporation PTT Telecom, and allowed dial-up connection to a server with P2000 software.
Most programs were written by enthusiast users of the machine. There was hardly any commercial software. People who wrote programs for Viditel distribution got a gift card of 100 guilders for their work. Some programs from the catalog that may spark a memory are "Androide Nim", "Doolhof", "In de ban van de Ring", "Kleurendemonstratie", "Korenvliet", "Maanlander", "Othello", "Pak de muis", "Schatzoeken", "Speelpaleis" en "Vluchtsimulator".
The major hurdle though for game developers was the hardware. 2 aspects of the hardware architecture were killing for succes in gaming. First hurdle was the SAA5050. Not only was the design of graphics limited by the low resolution of 78x72 pixels, the invisible characters needed to change a colour created gaps in game screen designs. Another problem with the SAA5050 was that you could only update the memory buffer during blank time, the moment the electronic ray from the TV tube travels back to the top left position. If you changed bytes in the buffer during the display cycle, the image would show serious artefacts. So programmers needed to make another buffer for all the changes that were needed on screen, and push them in one go in the blank moment.
Second hurdle was the way the monitor ROM read the keyboard. Any normal hardware design would scan the rows of buttons, and put the position of each key in a bit array where 1 is pressed down, and 0 is released. This way you could make routines that react to press, hold and release of each individual key. The monitor ROM processed the keys differently. Instead of storing the current situation, it puts each key press in a linear buffer. So if you press A,B,A, those buttons get in a cue, from which you can read the key that is longest in the cue. After reading a key it gets discarded from the cue. As you can imagine, this makes it very hard to registrate multiple keys at once, and this translates to bad behaviour of the controls in 4-way games. If you want Pac-Man or a platform game to play nice, using a linear cue of key presses is horrible.
Nevertheless some developers were able to make some great games for the P2000T. Many of them were clones of famous hits in the arcade. The Pac-Man for the P2000T was called "Ghosthunt". It was one of the games that hit the limit of what was possible with the machine. It was 100% made in Z80 machine code, and the developers even wrote their own assembler system to create the game: Zemon. In theory you could even make a replacement interrupt routine that reads the keyboard in a more suitable way for games. But this was probably out of scope for the mainly 17 year old teens that wrote the majority of P2000T games.
The best chance to find a P2000T is on the Dutch classifieds site Marktplaats. Most machines were sold in the Netherlands. Getting a foreign version might be expensive and difficult. It is recommended to do a pick up yourself, there is a lot to check.
What things do you need to check when picking up a P2000T? First of all make sure it has the BASIC Interpreter 16K cartridge. If you know up front the cartridge is missing, order a multi-cart from Ivo Filot. Without a cartridge, there is little to test. You can easily check if it works by hooking it up to a TV. This does not necessarily have to be a CRT, even 4K OLED TV's will work. Best is to bring a standard RF video cable if you visit a seller, in case they don't have one. You could also choose to bring a standard IEC grounded 240V power cord. Plug both in and switch the TV to Analog. Tune to channel C35 or C37, most P2000T RF modulators use either of the two channels.
If the machine works correctly you will see the screen above. If it says "14966 bytes vrij" it means the machine has the default 16kB RAM, if it says "31350 bytes vrij" it means you have 32kB RAM. "39542 bytes vrij" means is has the max 40kB RAM.
Now we have image and the RAM amount is known, you should check the keyboard. Try all buttons, including the combination with shift. All should result in on-sreen characters, except for shift, caps-lock and CODE. You can try shift and caps-lock in combination with letters. CODE is only used in some other cartridges.
If they don't sell the computer with tapes, try to bring a Philips Mini Cassette System tape. Without you can't test the tape drive. Listen to the sound, it should sound pretty smooth. Shift-numpad-1 should scan a tape for files. You don't need a pre-recorded tape, just bring an empty one. It is recommended to fill the hole in the upper corner with the original black plug, or just with a drop of hot-glue. This makes the tape write enabled. If you have an empty tape hit shift-numpad-7 to erase the tape, and type J to confirm. Now type something like 10 REM TEST, en then CSAVE"TEST". The tape should spin and the file should be written. Reset the machine and try CLOAD"TEST" and LIST to see if your program was saved.
Check the optical condition of the machine. The case is painted with a metallic paint. Check the corners for missing paint. It tells something about the amount of use it had. Some people modded the P2000. Look for signs of that, for example extra holes for switches or connectors.
The P2000T came in three versions. There is an original version, which can be recognised by a translucent cover to hold a paper with notes. Later models don't have the cover, they have a sticker in that position saying P2000T/38. Both versions have a sloped textured slider to open the tape drive. The last model has the sticker as well, but now the tape drive has a small lever to open it. The versions with a sticker have a lower quality tape drive, with a bigger chance they are broken.
Last thing to check is the availability of tapes. You need tapes to run the machine. They are pretty tough to get. Dictation tapes are still sold, at roughly 10€ per tape, and they are of less quality. I met sellers who brought 100 tapes to recycling, and only sell the computer! Such a shame. Don't accept no, ask again! We are working with the preservation community to arrange other means of loading software, but using tapes is fun!
If all feels well, you can start the negotiation. A working nice looking P2000T with Basic Interpreter, 32kB of RAM and 1 or 2 tapes is worth 100€. Add 20€ for a floppy/48kB board. Subtract 20€ for the later model without translucent note cover. Subtract 25€ for a missing Basic Interpreter module. Subtract 25€ for a faulty tape drive. Add 20-50€ for a box depending on the condition. Styrofoam and no water damage is 50€. Add 2-3€ for loose tapes, 5€ per working tape in its container with content. A tape box for 6 containers is worth 10€. The manual is worth 10€, and pay as you like for any other documentation you can get.
Since tapes are no longer easy to find, and those you have het older and less reliable, we need other means of getting programs on and off the P2000T. Your best option to communicate with modern machines, is obtaining a RS-232 USB cable. The green ones are like 15€.
If you want to put programs on your P2000T using a serial cable, you need to type a program in BASIC, see the files under downloads. The program is so compact it only occupies 1 block on tape. It is advisable to put it as first program on a tape. That way you can press reset, it will load the program, and starts listening to incoming serial data right away.
The P2000T can be emulated in 2 ways. You can use the classic M2000 emulator by Marcel de Kogel. If you can't run DOS programs, you have to wrap the M2000 program in DOXBox, a DOS PC emulator. Downside of M2000 is the SAA5050 chip is not emulated very well. If you run the test image above, you will see that quite some characters are missing.
Also make sure you have an image of the keyboard layout. You will need the START and STOP buttons quite often, and they are on the num-pad under SHIFT-NUMPAD 3 and SHIFT-NUMPAD DEL. Tape search is under SHIFT-NUMPAD 1. On a smaller keyboard like on a windows laptop, you can type FN+SHIFT+M to get a list op tape contents, or FN+SHIFT+. for START. Be aware that most symbols above the numerical keys have a different position than today. On a MacBook using START, STOP and tape index is impossible.
The second option is MAME. The P2000T module is currently being developed, and can be downloaded as beta. Be aware that MAME emulates the tape drive including realistic timing. This means loading a tape can take a minute. The Tape routine is not free from bugs. Right now MAME throws "Cassette Error E" quite often, and tape listings are often incorrect.