• Please review our updated Terms and Rules here

ADTPro for PC?

ADTPro for PC?


  • Total voters
    13
PC Cassette BASIC certainly can handle the serial port. The OPEN statement can use COMx: as a file. The PCjr Cartridge BASIC even includes a built-in terminal emulator that you can get at, which is handy for testing on that machine if all you have is the cartridge.

Even without explicit COM port support it is just IN and OUT statements to the ports that control the UART. We already have to go to embedded assembler to do the disk sector writes, so some IN and OUT statements are easy in comparison.

It's also quite possible that the machine does not have a serial port. They were not a standard option.
 
I was actually thinking it might be simpler to use BASIC as the host/loader for a simple assembler program kept in DATA statements, like some of the old Compute! programs. It'd probably be a bit more typing, but if you saved it onto cassette once you'd entered it, it shouldn't be too bad.
 
PC Cassette BASIC certainly can handle the serial port. The OPEN statement can use COMx: as a file.
Excellent! My IBM BASIC Handbook and Reference specifically say that COM1 and COM2 are only available in DISK BASIC and Advanced BASIC; must be an older version.

So then you should also be able to RUN COMx: and download the program from the host, and typos would not be an issue.

Even without explicit COM port support it is just IN and OUT statements to the ports that control the UART. We already have to go to embedded assembler to do the disk sector writes, so some IN and OUT statements are easy in comparison.
Yeah, like I said that would certainly add to the challenge... ;-)
It's also quite possible that the machine does not have a serial port. They were not a standard option.
Yeah, considering that you need a serial adapter in the PC, a null modem cable, another PC with a COM port (but without a 5.25 disk drive), a suitable image and a comm program, it seems like it'd be a rather limited "market" whereas a post office and/or maybe even an old junked box with a 5.25" drive would be much more abundant...

But hey, a lot of projects on here are fun and interesting but not necessarily the most practical or efficient...
 
Correction - as you point out, the OPEN "COMx:" support is not supported in Cassette BASIC. INs and OUTs to the UART will have to do.
 
Correction - as you point out, the OPEN "COMx:" support is not supported in Cassette BASIC. INs and OUTs to the UART will have to do.
Darn; that does make it even more complicated; yeah, I agree that it's a little premature to register at Sourceforge ;-)

How many people would actually be in a position to and willing & able to actually USE this instead of the alternatives...
 
Hi! I think a major issue with the load program over cassette port or serial port is assuming most or all PC/XT and clones have BASIC or some other programming environment. Most clones do not have BASIC in ROM. The IBM PC/XTs which do have a BASIC in ROM is only a subset of the full GWBASIC (BASICA) instructions. In other words, typing in a program will only will only get a fairly small portion of target machines to work.

In addition, IBM XT and clones do not have a cassette port. Serial ports are much more common but all you get is the hardware interface to the UART without any built driver in ROM. AFAIK only the true IBM PC has the cassette port. IBM XT and all the clones I am aware of dropped the cassette port.

PC/XT/clone serial port hardware has a some common settings but can vary a lot between individual computers. IO ports, interrupts, etc are all configurable leading to a lot of complication in the program you have to manually type in to get the program working. Handling the hardware variations will require a fairly complex program to identify the hardware and set it up which will make for a lengthy program for manual keying.

In short, I think you need a special boot ROM to replicate the ADTPro functionality. The Apple II has has a boot ROM that makes ADTpro possible. The boot ROM has to have enough space for a program which can handle the hardware variations and also provide a common means for PC/XT/clone computers to execute the loader code. The boot ROM could be on the motherboard itself or on an add-in board. Even the types of ROMs vary between what works on a IBM motherboard versus what is common on IBM XT and clone computers. I think plugging into the ISA bus is your best bet since the type of ROMs used on the motherboard depend on the manufacturer (2764, 27256, MCM68764, etc) and are generally not interchangable.

By assuming built in BASIC in ROM *and* cassette ports it limits the audience to only true IBM PC machines which is only a narrow subset of the machines that could use this functionality. I suggest keeping the project as an ISA board for broad portability either as an existing ISA board or what Chuck suggests to use a microcontroller to emulate a ROM with a SD card. Certainly a Propeller, AVR, PIC or any other microcontroller could fairly easily do that.

Good luck! Thanks and have a nice day!

Andrew Lynch
 
By assuming built in BASIC in ROM *and* cassette ports it limits the audience to only true IBM PC machines.
The base assumption that is being made is BASIC in ROM *and* a Serial Port, not a cassette port.

I'm waiting to get my PC/XT keyboard before I can dig in myself.
 
The base assumption that is being made is BASIC in ROM *and* a Serial Port, not a cassette port.

I'm waiting to get my PC/XT keyboard before I can dig in myself.
Not to discourage you from having fun, but I hope you understood the significance of Cassette BASIC not having COM port support (as well as no disk support either, of course), and how fundamentally different this is from ADT on an Apple.

That means you will have to manually type in what will effectively be a machine language program in BASIC that has to do *all* the low-level stuff itself (since there are no routines to handle disk I/O or serial communication except for the primitive stuff that may or may not be in the BIOS).

This will certainly not be a trivial 10 or 20 line program and of course since there's no way to save it unless you happen to have cassette capability, a single typo that crashes the machine will require typing it all in again...

Frankly, I don't see a lot of people other than you wanting to do that these days, especially out of the small subset of folks who have ROM in BASIC and a serial port; maybe 25 years ago when there were no alternatives, but today?
 
It reminds me of gardening. "It is better to cultivate friends who cultivate tomatoes, than to cultivate tomatoes."

I think the floppy disk in the mail is going to be a viable solution for a long long time ...
 
The base assumption that is being made is BASIC in ROM *and* a Serial Port, not a cassette port.

I'm waiting to get my PC/XT keyboard before I can dig in myself.

Hi! OK, so the loader software is going to have to provide low level configuration and driver software for the serial ports. It will need configuration and driver software for the floppy disk drive also. That is a substantial program since there are no DOS libraries present in memory to leverage. Those low level routines will need to be written and the resulting binary will be at least a few kilobytes in length. Not something most people are going to want to manually key in especially if the object code is stored in READ DATA statements. That will double the size just keying in the ASCII codes for the S record or Intel Hex format or whatever style of numeric form the binary takes in the BASIC program.

Seriously, I am not trying to discourage you. Your idea is good but using a keyboard to enter the data is going to be a major project to enter the data to start the process. Consider making an ISA board with a boot ROM and transfer program.

Thanks and have a nice day!

Andrew Lynch
 
It reminds me of gardening. "It is better to cultivate friends who cultivate tomatoes, than to cultivate tomatoes."
Wise words indeed, and perfectly appropriate ;-)
That's one of the reasons this list exists after all...
I think the floppy disk in the mail is going to be a viable solution for a long long time ...
Yeah, I think so too...
 
I could see how this would be a great project from an intellectual point of view. If people want to try it, I say go for it! After all, what most of us do with vintage computers is largely hobby based. Give it a go and see if you can crack it. The journey itself will be fun.

However, in the absence of something that is as easy as ADTPro, my advice to someone with an old PC and no disks (as others have said) is just to ask around. Someone nearby is bound to have a boot disk somewhere. As for maintaining a software library for an old PC, I do that using an old pentium II fitted with a floppy drive and WinImage. Whenever I want a 360k disk I just create it from an image. Easy-peasy.

Tez
 
I could see how this would be a great project from an intellectual point of view. If people want to try it, I say go for it! After all, what most of us do with vintage computers is largely hobby based. Give it a go and see if you can crack it. The journey itself will be fun.
Absolutely!

But since this thread and the Souceforge link is about gauging public interest, I think it's a good idea to point out and explain how limited this will be and why, and how much different from the somewhat misleading "ADTPro for the PC" in the heading.

However, in the absence of something that is as easy as ADTPro, my advice to someone with an old PC and no disks (as others have said) is just to ask around. Someone nearby is bound to have a boot disk somewhere. As for maintaining a software library for an old PC, I do that using an old pentium II fitted with a floppy drive and WinImage. Whenever I want a 360k disk I just create it from an image. Easy-peasy.

Tez
I don't see how you can seriously play with old computers without a (preferably dedicated) PC-compatible system that is also compatibe with those oldies as much as possible.
 
I don't see how you can seriously play with old computers without a (preferably dedicated) PC-compatible system that is also compatibe with those oldies as much as possible.

Some people just don't have the room to keep multiple machines. Myself, I use to have room for many of my childhood fav's, but now I don't, so I have to streamline. I will end up with a modern desktop, a modern laptop, an PC/XT and an AT and that's it.

I also appreciate more the difficulty of being so specific to say PC, XT, or AT with ROM BIOS and Serial Port. I do realize now that it might be easier for the programmers to adjust the goals, requirements and name otherwise the project may languish until judgement day.

I propose changing the name to The VCF Disk Tool with the goal of booting up said machine, run the software, connect to your modern PC host. I still think having a custom fab board is too much of a hassle.
 
Some people just don't have the room to keep multiple machines. Myself, I use to have room for many of my childhood fav's, but now I don't, so I have to streamline. I will end up with a modern desktop, a modern laptop, an PC/XT and an AT and that's it.

A few of the refurbished vintage machines I've sold were equipped with an ISA slot mounted CF -> IDE adapter for this purpose. That way, when you want to load software, you just pull the card and plug it into your desktop's card reader. I usually mapped the CF card as a virtual machine's hard disk, so it could even be booted on modern machines in a VM. With the XTIDE board, you could now do that for a reasonable price with a PC or XT class machine. You could probably even remove the XTIDE slot blank and replace it with the slot-mounted converter so you didn't lose a space.

It's definitely going to be a difficult project to get a true-blue IBM bootstrapping from bare metal...the Apple II line was designed with this capability (iirc, they can boot over AppleTalk network too) which is why ADT Pro doesn't require manually entering a huge bootloader program. Even if you want to stay all floppy based, it's far easier to get a DOS disk with some sort of comms package (INTERLINK or Kermit or one of the many serial/parallel based file transfer applications) to get an old PC/XT/AT to talk with modern desktops.

Remember that a bootable ROM doesn't really need its own ISA board...it can plug into a NIC, the XTIDE, et c.
 
It's cheaper, though, if there were an ADTPro analog for PCs. While you can do network transfer, that requires getting drivers onto the machine in the first place for that, and having a compatible network card on hand. If you want to go the Flash->IDE route, which is a good option, you have to buy an adapter. If you have no floppy writing capacity on a modern machine and want to put data on additional machines, though, you'd have to either transfer it to this machine, then write a floppy, or else move the IDE adapter and card around from machine to machine as necessary. Basically a solution like this would be convenient to use in some cases.

I wouldn't rely ROM BASIC, though I would recommend providing that option, because only early machines and slightly later IBM machines have this. I believe that one written for this purpose would also function with GWBASIC, right? If so then that's fine, but it would be prudent to make sure it could also work without ROM BASIC.

I'd provide the option to use a serial port, parallel port, or SB-compatible microphone port, when all is said and done. This would provide the widest compatibility with lots of system configurations and whatever parts someone may have access to on hand.

Personally I made a conscious effort (with help from some of you on this forum - thanks again) in choosing a motherboard for my purposes that supported all of my current gear PLUS had a floppy controller so I could have a 5.25" drive in my modern machine for creating and archiving disks. It only supports one drive, unfortunately, so I have a 1.2MB drive in there - I could put a 360K if I needed that more often than I do, however, instead.
 
It's cheaper, though, if there were an ADTPro analog for PCs...
Have you actually read this thread? In practical terms an "ADTPro analog" is not possible on a PC, even one with BASIC in ROM; as to the rest, we are talking about a PC without a bootable disk, so GWBASIC, sound cards, and anything requiring DOS to be running is obviously not relevant.

You'll either be restricted to a PC with Cassette BASIC and have to do a lot of careful typing, or you'll have to add hardware of some kind. Or just get a bootable disk somewhere.

But good luck to anyone who comes up with a software-only solution!
 
I think I'm going to have to patent this one ... A keyboard 'dongle' using pretty much the same code as the AT to XT keyboard scancode converter that has an EPROM with the program stored on it.

  • Power off your PC
  • Insert between keyboard and machine
  • Power on
  • Get to Cassette BASIC
  • Press button
  • Have horribly complicated program 'autotyped' by the microcontroller.
  • Post pictures on SlashDot and become famous.

Still requires the cassette BASIC though ...
 
Back
Top