Article 53731 of comp.sys.cbm: Xref: undergrad.math.uwaterloo.ca comp.sys.cbm:53731 Newsgroups: comp.sys.cbm Path: undergrad.math.uwaterloo.ca!watserv3.uwaterloo.ca!novice.uwaterloo.ca!dfevans From: dfevans@bbcr.uwaterloo.ca (David Evans) Subject: As Promised: The P128: A First Look, A Last Look Sender: news@novice.uwaterloo.ca (Mr. News) Message-ID: Date: Fri, 10 May 1996 02:18:43 GMT Nntp-Posting-Host: bcr.uwaterloo.ca Organization: University of Waterloo As promised, here's the above-titles article from The Transactor, Volume 4 Issue 4 (I was wrong when I said it was from Issue 2.) The date in the lower- right corner of the magazine says July 1983, but I trust that about as much as other such dates in The T. The article is by Fred Hambrecht, Chattanooga, TN, copied without permission. I've altered the formatting a little, but otherwise it's pretty much as in the magazine, complete with most of the little errors that made The T. such a down-to-earth magazine. Remember, the "I" in this article isn't me, although I wish it were. So don't go offering me $200 for "my" P128 or anything like that. :-) Although, I am looking for a B-series machine... The P128: A First Look, A Last Look Christmas in March! That's the way I felt unpacking my new Commodore B128[sic] computer. A quick check of the reference manual . . . Whoops! No manual. Oh well, it's more fun without the book, besides I know Commodore inside and out, what could be different? Plug it in, turn it on, and the monitor (yes, monitor---no RF modulator in this one) comes up with the Commodore Basic message. They even redid the colour combination, white background with blue characters. Let's push a few keys and see what happens. Push F1 on the top left and it printed "PRINT#". Each of the other keys has such goodies as "DIRECTORY", "DLOAD", "LIST", etc. Hm! Have to spend more time looking at that later. The keyboard has a really nice layour, with a typewriter style return key in the main array. The numeric pad contains a separate enter key, along with a "?" key. In addition, a CE key is provided to clear entries to the last arithmetic operator entered or to the beginning of the line. A single as well as a double ZERO key should make any "bean counter" happy. The feel of the keyboard, in my opinion, is the best on the market today. Photograph number one shows the general layout. [Note: There's no Photo 1 in the article. :-(] The back of the unit has a few more surprises: two joystick ports, IEEE-488 interface, User Port, anda real honest-to-goodness RS-232 connector. Enough of the inside, let's look to see if the Basic is the same. We entered a program in Basic to look at [the] parse table in ROM and found a few more surprises. First of all, the Basic appears to be standard 4.0 with the following additions: BANK Sets the bank number (16 banks of 64K) for peeks, pokes, and bank save/load commands. BLOAD/BSAVE Used to load and save binary files from memory. I can't be sure but it appears that you can specify high and low addresses within the bank. DISPOSE Used with the TRAP command to purge unwanted NEXT and RETURNs. IF..THEN.. A new one for Commodore. ELSE INSTR I have not been able to figure this one out. PRINT USING Both PRINT and PRINT# are supported. PUDEF This redefines the sumbols used in PRINT USING. RESUME Used with TRAP to RESUME after error handling. TRAP Uses error supplied error routines in place of the Commodore routines. New Variables: ERR$ Reserved string for error messages. EL Reserved variable for error line. ER Reserved for error number. TI$ Returns time in the format HHMMSSJ where J is a 1/10th of a second. TI no longer exists! KEY Allows programming of the 20 function keys and takes the form KEY n, "expression" where n is the key number and "expression" is the string assigned to that key. KEY by itself will display a list of the current function key definitions. The screen now resides (in bank 15) at location 53248 to 54247 followed by the colour memory at locations 54272 to 55271. The screen has many of the features of the 8032. I have discovered Escape sequences that set windowing, insert line, delete line, erase to end/beginning of line, etc. Now I wish I had the manual. Next, spend teo hours on the phone calling the folks at Commodore. No one knows about the P128! Inside sources said the unit had been engineered "overseas" and they were as much in the dark as I was. Manuals are supposed to be available in the next month or so, and this uniot was a dealer demo only. The unit was not supposed to be sold prior to FCC and UL approval. I can't stand it any longer, get out the screwdriver and tear it apart. When the cover was removed, it revealed prototype ROMs. As can be seen in the photo [sorry...I'll try to scan it it], 28 pin ROMs have been *jerry rigged* on to 24 pin sockets. Several nice features . . . the power supply is a switching regulator type made by someone other than COmmodore and is easily removed for service. The internal 128K of ROM [do they mean RAM?] is located in the lower left and upper right. note the spaces for socketing an aditional 128K already esist. Wonder if they plan to drill holes in the board ala the old 16K pet? (Shh) The processor os a 6509, functionally the same as the 6510 used in the Commodore 64, but with an additional bank select register that allows for the 16 banks of 64K. The addressing indicates the operating system, SID chip, I/O, etc. all reside in bank $F (15) and the internal memory is in banks 0, 1, and 2. Only bank 0 is used in an unexpanded 128. A feature that appears to exist is a Co-Processor function. Interrupt processor granted and refused signals leads me to think that we will probably see a multi-user system in the future. Photo 2 shows the internal layour of my machine, and in spite of the fact that this is a prototype, a lack of wire jumpers, etc., indicates the hardware is pretty solid, and the one remaining "cat to skin" is the firmware. The model I am playing with has no tape routines. In fact, a "LOAD" will result with "DEVICE NOT PRESENT ERROR". Speaking of error messages, a new one exists. If you overflow the subroutine stack, the message is "OUT OF STACK" rather than the old ambiguous "OUT OF MEMORY". (Note: to Jim Butterfield, I stayed awake nights to try, just once, to generate a memory map before seeing yours in Compute!) The memory may be viewed as 16 pages (0-15) of 64K each. Page 15 of $F is fixed in hardware as the operating system and hardware layed out as in Figure 1 [see the end]. A Further breakdown of $FD800 to $FE000 will let you see that the only difference between the P and the B is probably jumpers or land cuts. I suspect that changing a P128 to a B256 is no harder than changing a Fat 40 to an 8032. The B addresses appear in Figure 2 [again, at the end.] A few general comments. The P128 should be a great machine. It looks smart, especially next to the new low profile disk drives. I am presently running this one with an 8250LP drive and the 8300P printer and am really pleased with it. I have been able to load most of the programs I have in Basic, and am in the process of converting some machine language programs. The only negative comment I have is that it is slower than the 64 and previous generation PET/CBMs. I believe the reason is that all 20 function keys appear to be processed by CHRGET in the run mode. I will reserve judgement on this until I see a final ROM set. Aside from that, it's the neatest Commodore yet! Editor's Note [not me--Karl, likely] First off, most of us, and Mr. Hambrecht, probably know by now that he has one of the few P128s ever released! This is the machine that was to have 40 column screen with colour, plus VIC II graphics and SID sound---like an *inflated* Commodore 64. But this project has been locked in the far depths of the Commodore dungeon. Mr. Hambrecht, you are now the proud owner, or what some may consider, a collectors' item! I couldn't help publishing the article, however. After all, the B machine is identical to the P in all aspects except screen features. For example, you'll notice that the P has 1K set aside for screen RAM (60 cols by 25 lines) and another 1K for the corresponding colour RAM. The B has no colour, but 80 columns---therefore, 2K for screen RAM. The P uses the VIC II chip for video activity whereas the B uses the 6545 CRT Controller like the 8032. This explains why the character ROM is addressable in the P and not in the B. Aside from these, the two machines differ very little. You may be asking, "So why did COmmodore cancel the P series? It seems like it woudl have been quite successful." Once again, I believe the best answer would come from the Commodore marketing mill. The market for the P is not as well defined as the rest of COmmodore's line and with the price of the 64 dropping so low, the P becomes somewhat less attractive to the average customer. Fear not, though. The competition in the micro industry will see manufacturers continually releasing new machines. A successor to the 64 might not be in Commodore's immediate future, but you can bet it will happen. Look for Jum Butterfield's B Series Memory Maps next issue! Figure 1 [$F2000-$FFFFF of the P128] $FFFFF Kernal ROM $FE000 Port 2 6525 $FDF00 Port 1 6525 $FDE00 ACIA 6551 $FDD00 CIA 6526 $FDC00 Co Processor Ext. Port $FDB00 SID 6581 $FDA00 Disk Port (internal) $FD900 VIC II 6567 $FD800 Colour Memory 1K $FD400 Screen RAM 1K $FD000 Character ROM 4K $FC000 Basic ROM Hi $FA000 Basic ROM Lo $F8000 External ROM $F4000 Cardridge Slot $F2000 Figure 2 [$FC000-$FEFFF of the B128] $FEFFF 6525 Keyboard $FDF00 6525 (IEEE-488) $FDE00 6551 (RS-232 Port) $FDD00 6526 (IEEE & User Port) $FDC00 Ext. Processor $FDB00 SID 6581 $FDA00 Disk Units (internal) $FD900 CRT Controller 6545 $FD800 Screen RAM 2K $FD000 Unused $FC000 -- David Evans (NeXTMail OK) dfevans@bbcr.uwaterloo.ca Computer/Synth Junkie http://bbcr.uwaterloo.ca/~dfevans/ University of Waterloo "Default is the value selected by the composer Ontario, Canada overridden by your command." - Roland TR-707 Manual