• Please review our updated Terms and Rules here

Philips :YES

JohnElliott

Veteran Member
Joined
Sep 1, 2006
Messages
618
Location
Sussex, UK
I've heard tell that the :YES could boot DOS Plus from ROM. I'm looking for an image of that ROM; does anyone have one?

(strictly speaking, perhaps, the :YES isn't a PC. But it should be close enough for this subforum).
 
Hi,

I know that this thread is very old, but please bear with me...

Recently, I got hold of a Philips :YES and have been able to successfully boot DOS Plus and MS-DOS from floppy. Unfortunately, I only have the machine itself, no documentation or disks. While the 3.5" DD drive I have is very picky about the disks it likes to read, regular HD drives do not work. I assume this relates to the disk-change/ready signal, but have not looked at it in detail yet. My machine seems to contain a revision 1 mainboard.

This machine is not PC compatible, but somewhat close. An MS-DOS 3.10 disk exists on the internet and boots on my machine. I have extracted the BIOS image (which is 64 KB in size and located at F000:0), and have started to reverse engineer some parts of it. The two chips carry a Digital Research sticker, but it seems to be mostly code. There is a third ROM chip with a Philips sticker, but it is not mapped into the address space.

Looking at the boot sequence, I did not see any way to boot DOS Plus from the BIOS ROM. The startup code will attempt to boot from the following devices in order: drive 00h (first floppy), drive 80h (hard drive), 01h (second floppy). If those fail, it will try to boot from ROM space at E000h:0, D000h:0, and F000h:0. That last attempt always succeeds: It initializes the video system and shows the "please insert disk" screen.

There are the following connectors on the back:
- two RCA outputs for audio and video
- a DIN-connector (7 pin) for the serial port
- a connector taking an edge connector, 2x20 pins - probably the printer port
- a connector taking an edge connector, 2x17 pins - probably for external floppy drives

The front side contains two 3.5" full height drive bays and a cartridge slot (takes edge connector, 2x22 pins). Unfortunately, I don't have any cartridge. Inside the case, on the left side below the mainboard, is another slot (takes edge connector, 1x12 pins). I don't know what this was used for. The backplane connector contains 3x32 pins.

A regular, 5-pin DIN connector gets access to the Rx, GND, Tx, P16 (on MUART chip) and CTS signals. The BIOS will initialize the serial port to 1200N8, but can definitely run at 9600 bps. The chip should support 19200 bps, but I have not tested this.

If anyone has some documentation about this system, I would like to learn more about it.

Best Regards,
Svenska
 
While the 3.5" DD drive I have is very picky about the disks it likes to read, regular HD drives do not work. I assume this relates to the disk-change/ready signal, but have not looked at it in detail yet.

Not to be that "did you try turning it off and on again" guy, but did you try the "tape over the HD hole" trick? I do that all the time, and it usually works just fine as long as the disk isn't a lemon out of the box (they had high bad-sector rate towards the tail end of production). Better results if it's formatted in the older system before trying to move files over from the new one.
 
Not to be that "did you try turning it off and on again" guy, but did you try the "tape over the HD hole" trick?
My USB floppy drive won't format disks as DD unless I tape over the whole (clear tape is fine though). I assume that the DD drive is very slightly out of alignment. It has no problem reading its own disks (and the USB drive reads those fine, too), but it has a very high error rate reading disks written by the USB drive.

The system is able to detect whether a disk is in the drive, and this fails in a very interesting way with a regular PC drive: While no disk is inserted, the system tries to read from floppy (motor active, activity LED blinking, read error). As soon as I insert a disk, the motor stops spinning and the system signals "please insert a disk". I tried five different PC drives, and they all behave the same (and one of them scratched the surface of my test disk, though). I hope I can modify at least one of the drives to work in this system.
 
If anyone has some documentation about this system, I would like to learn more about it.

I've got the user manual for it, so let's see...

As you've guessed, the 40-pin edge connector is the Centronics printer port, and the 34-pin connector is for external drive(s). The manual warns "Note: It is not possible to connect an IBM PC disk drive (or a fully compatible disk drive) to the :YES."

Neither manual makes any reference to the slot at the front, but the one on the left is, I think, for the Professional Video Module, supporting 640x350 or 640x250 TTL video.

If the third ROM isn't mapped into memory, it may well contain the character bitmaps for text modes.

Obviously I'd be interested in seeing any ROM dumps you've managed to extract. And do let me know if there's anything you want me to look for in the manuals.
 
As you've guessed, the 40-pin edge connector is the Centronics printer port, and the 34-pin connector is for external drive(s). The manual warns "Note: It is not possible to connect an IBM PC disk drive (or a fully compatible disk drive) to the :YES."
Bummer. Does the manual explain why, or contain pinouts?

Neither manual makes any reference to the slot at the front, but the one on the left is, I think, for the Professional Video Module, supporting 640x350 or 640x250 TTL video.
Hmm. The cartridge slot is quite obvious/prominent when looking at the case. :)

The mainboard I have contains 128 KB of memory, and there is a second card installed, which contains another 128 KB of memory, a DB9 connector (mouse?) and a 2x25-pin output (probably SASI). According to Wikipedia, this could be the "Professional Expansion Board". The BIOS actually checks its existence early in initialization (and sizes memory differently), so it was definitely known at system design time. The RTC works, but the driver does not like years after 99.

I do have an MDA monitor (Schneider MM12, doesn't do CGA), but it definitely didn't work on the mouse port. :)

If the third ROM isn't mapped into memory, it may well contain the character bitmaps for text modes.
Sounds reasonable, it is a NEC D27640 (8K x 8 ). A similar-sized ROM is used on CGA cards (but contains four fonts).

Obviously I'd be interested in seeing any ROM dumps you've managed to extract. And do let me know if there's anything you want me to look for in the manuals.
I have attached the BIOS (extracted using DEBUG). As far as my disassembly goes, it is both complete and functional. :)

If you run 'strings' on the image file, you find something which looks suspiciously like a CP/M or DOS Plus. Maybe it can be run from DEBUG, I haven't tried that yet; it is not directly bootable though.

I don't know what the manuals contain... pinouts for the connectors would be great. I'd like to have a 256K flash chip or similar as a ROM disk in the cartridge slot. Also, I found the OEM adaptation kit for MS-DOS 3.3 a long time ago, which would be a small upgrade over the existing MS-DOS 3.10...
 

Attachments

  • bios.zip
    48 KB · Views: 13
Last edited:
The manuals I have don't have anything useful like pinouts - they refer the reader to the ":YES Software Reference Manual" and ":YES Hardware Reference Manual", which I don't have.

There's definitely Digital Research material in that BIOS ROM. F000:0040 looks like the start of the DOS Plus BDOS, with the XIOS at F600:0 and the DOS emulator at F7BB:0. The data segment appears to be initialised from a compressed template at FBD9:0000 - alternate blocks formed:

Code:
DW length                 - a run of data
DB <length> bytes
or
Code:
DW length | 0x8000     - a run of zeroes

Amusingly, the BDOS doesn't include the S_OSVER function, so I can't tell whether it would call itself version 1.0 or 1.1. Definitely an earlier version than 1.2, though.
 
My USB floppy drive won't format disks as DD unless I tape over the whole (clear tape is fine though). I assume that the DD drive is very slightly out of alignment. It has no problem reading its own disks (and the USB drive reads those fine, too), but it has a very high error rate reading disks written by the USB drive.

The system is able to detect whether a disk is in the drive, and this fails in a very interesting way with a regular PC drive: While no disk is inserted, the system tries to read from floppy (motor active, activity LED blinking, read error). As soon as I insert a disk, the motor stops spinning and the system signals "please insert a disk". I tried five different PC drives, and they all behave the same (and one of them scratched the surface of my test disk, though). I hope I can modify at least one of the drives to work in this system.

I've always kept a 3.5" floppy in my main system, and don't use the USB one very much, but I've heard of others having problems using external floppy drives to format DD. You DO need to tape the hole to format it as DD regardless of what kind of drive it's formatted in. The sense switch is mechanical, so what kind of tape it is doesn't really matter so long as it doesn't peel off inside the drive and get stuck.

If you've got DOS booting on the YES, then try formatting the floppies from there instead of your USB drive. If you're using floppies made after 2000, you probably will have a high rate of bad disks right out of the box (format will list bad sectors). I find it worthwhile to save older floppies and reuse them when you can, because they were higher quality to begin with.
 
I've taken a deeper look at the BDOS in that ROM image (BDOS 4.1, 10-10-85).

It's clearly an intermediate step between CP/M-86 Plus (BDOS 3.3, 06-FEB-85) and the better-known release of DOS Plus 1.2 (BDOS 4.1, 08-05-86). It offends my sense of what's fitting that they made so many changes to the BDOS and didn't bump the version number; if DOS Plus 1.2 had had BDOS 4.2, that would have been clearer all round.

The major differences are in the code to access FAT-format drives, which I'd guess was overhauled

I've found at least one bug: in BDOS function 75h (which seems to be used to provide INT 13h functionality) the code is looking for the DRVTBL at 0C18h. This is where it would be in CCP/M-86, but in DOS Plus it's at 0F08h. That code was replaced in DOS Plus 1.2.
 
The page looks very nice, thank you for the work.
I will be extremely busy until summer, so won't have much time to play with the system, but some information you might want to add:

The main board consists of mostly standard logic, the only higher logic ICs on my system are:
- 80186
- WD2793A
- P8256AH
- HD46505SP
- 27256 (two chips)
- 2764 (one chip)

The P8256AH (MUART) is connected to the DIN connector.
 
Jumping directly into the BDOS (either F000:0 or F000:40, no difference) shows the boot screen,
asking for a boot floppy. Seems to me as if DOS Plus is only used as a bootloader.

I haven't found a way to get a command line, which would have been really nice.
Do you have any idea?
 
You need the DOS Plus 1.1 boot floppy, which has CCP.CMD on it. Without it you've got the DOS Plus BDOS in ROM, but no command processor.

Thanks for the chipset information, by the way - that's filled in a few gaps relating to how the :YES handles serial ports.
 
I didn't know that the included BDOS did not have a CCP. That makes the integrated support less useful, since one still needs a boot floppy.

The Professional Expansion Board is made of pure standard logic, I did not see any special ICs. It also contains both the SASI and mouse (DB-9 female) connector, and is therefore required for mouse support. It seems to be a bus mouse interface (since all logic is 5V), but I don't have a compatible mouse.

If you want to know anything specific, please tell me.
 
Regarding the floppy issues, I can now confirm that Gotek emulators work well (using FlashFloppy in Shugart mode).

Also, I have attached a tool which receives a raw floppy image on the serial port (XMODEM on COM1, 9600n8 ) and writes it directly to a preformatted floppy (first drive). It works fine on the :YES, but should work fine on any XT-class machine. Please don't judge the code too harshly. :)
 

Attachments

  • xmimage.zip
    5.8 KB · Views: 3
I've now scanned my four :YES manuals:
  • Getting Started
  • User Guide
  • DOS Plus User Guide
  • MSDOS 3.1 User Guide
If anyone would like a copy, let me know.
 
Hi
I've just read this post out of curiosity. The earlier reference to not being able to run PC disk drives any be because the PCs started using DiskChange that took over the DiskReady signal.
The signal can be recreated by a retriggerable one shot, triggered from the index pulse OR'd with the read data. The one shot would time out after one revolution time.
Dwight
 
Hi,

sorry for reviving the old thread yet again. I noticed that the expansion card seems to support both 4164 (16 chips) and 4464 (4 chips) configurations for its 128 KB of memory. Mine is populated with 4164, but since the BIOS supports a 640 KB configuration, it may be possible to replace them with 41256 chips instead.

So I went ahead and replaced the D4164C-2 with KM41256-12 (and KM41256AP-12), and ... the system still reports 256 KB total memory. There are different jumper areas (for soldering) on the card. J3 is labelled "MEM SEL", the others are not labelled. Does anyone know how this card needs to be configured for the 512 KB configuration?

Best Regards,
Svenska
 
I don't think it is designed to take 41512 chips. You'll likely only see the 128K, with those chips. It may only do 256K but I'd be suspicious of that.
Dwight
 
The BIOS specifically checks for 128 KB (base), 256 KB (base+128 KB) and 640 KB (base+512 KB) memory size, so I assume that the system designers planned for such an extension. (I don't know of any other expansion card ever made for this system.)

In any case, the additional address pins are connected together, making me hope that 41256 chips will work. Without resoldering the jumper areas, the chips currently work as 128 KB instead of 512 KB... but without schematics, I need to trace the connections first to see what to change.

Do you have any additional information on this system?
 
Back
Top