Site hosted by Build your free website today!

The small but weird PC3K web site!

Page last hacked up on: 09-JAN-2003

I decided to start a web page for the PC-3000 and PC-3100 hand held computers that were manufactured by Sharp back in the early '90s.  There are a lot of really useful web pages about these really nice little machines.  This isn't one of them.   The page will contain bits and pieces of whatever I find interesting at the moment as it relates to all of it's glorious DOS-iness.

From time to time, I may include junky little mutant code programs that are AS-IS and may or may not work to some varying degree and as it is with any hobby program, it's up to you to decide if you want to risk using them, and if you do, you are brave indeed.

Subchapter 3Q - Use of perpetual motion:
Code which enters into endless or seemingly endless code loops may or may not be referred to as having qualities pertaining to perpetual motion.

Part 5B: - Room temperature superconductors:
Every effort has been made to avoid the use of room temperature superconductors in the design of this web page and its content.

Section "R" - Mutant code:
Code uses formal mutant coding techniques wherever possible.  Mutant code melds sometimes good (and sometimes bad) overall structure with every bad coding habit available.   Whenever code is migrated from assembly language to a high level language, mutant coding conventions require the preservation of the precious and obfuscating direct branches hereafter generally referred to as GOTOs (long may they live).

Chapter 2 - Overwhelming sadness, but hopeful, and with a small but melodious, singing finch:
I wish that someone out there would decide to do a MIPS processor port of DOS.   Then I wish that someone would build a hand held computer the size of the PC-3000 with a MIPS processor running that same DOS.  Then I wish that there would be MIPS DOS applications for it to run.  While they are at it, I wish that they would make me rich.  Then I could be rich, sitting around with a MIPS DOS hand held computer, wondering how it all came to be, and really, really, really enjoy the rich part...

Here be ye links for thy DOS:

There will be more things including some of the dreaded Mutant Code loaded on this page in the next few days.  Then it may be left to moulder in the vast bit bucket we call the Internet.  Who knows, maybe the megaservers at will snapshot this glop and it will waste even more hard drive space.

Free software for bigger systems:

Did you ever just sit under a fruit tree and wish that the fruit would hurry up and ripen?  The birds chirp and the sun shines and there sits that old fruit, taking its good old time, just hanging on the tree.  You could have just gone out and picked up a pizza.  Cold pizza really sounds good right about now...

Oh why not?!
Here's the first worthless dribble of Mutant Code for the Sharp PC-3000 and PC-3100.  What is it?   It's a special graphics routine written in Microsoft QBasic.  This is all assuming that you're going to use the code on a PC3K.  If you use a real color screen, it will look superbly awful!  Set the screen mode to "SCREEN 1" and then do a "LINE(0,0)-(319,199),3,BF" to set the screen to black.  Then your program can call this routine to set block pixels in any of 25 gray levels.  The values that the routine uses are:

X = 0 --> 159

Y = 0 --> 49

L = 0 --> 24

The point defined by X = 0, Y = 0 is the upper left corner of the screen.  The gray or luminance values range from 0 (black) to 24 (white).

OK, so what do the gray levels actually look like on the PC3K's LCD?   Drawing a medium high bar of blocks of all 25 gray levels, it comes out looking like this:

Click for larger image

More mutant code snippets?  (Now even more stale, less fresh, and less tasty!)

For those too lazy to type in the two SCREEN and LINE statements used to initialize everything, here they are as SUB:

Here is a function to read the dithered pixel blocks and return the gray level:

And here is another SUB that inverts the gray levels of a square or rectangular area (like a negative):

Getting sidetracked onto something else for a moment...  A while back I was experimenting with a horrid little program that I was using to turn the flash card memory driver for the PC3K into a text file that I tinkered with sending over the serial port without handshaking from a desktop machine to a PC3K.  After receiving the file using nothing more than a COPY command with some parameters, take the text file and pipe it into the ROM based DEBUG program and use it to reconstruct the file.  Sound awful?   It is!  It's prone to errors creeping into the copy which results in the file that's reconstructed being corrupted if the data comes in too fast and receive errors occur.  I found that the lower that baud rate, the better it seemed to work.   Using the 300 baud parameters mentioned it the program's help file seem to work pretty well, but your mileage may vary.  You can always drop down to 150 or even 110 baud and see if it works better.  It is DEFINITELY a last resort method of bootstrapping the flash card driver (or whatever else) back in.   AS-IS, no warranty of any kind, and I'm not responsible for anything that goes wrong or any damages (direct or indirect) or loss of data that might occur directly or indirectly from the use of the program or any of its documentation.

The program generates an output file named OUTFYL.TXT based on whatever source file it is given.  To reconstruct the source file, use the DEBUG command.  For example:


If the OUTFYL.TXT is the one from the .ZIP file, then MAKEDBG will reconstruct the BEEP.COM sample program.

10/28/2002 10:03 PM 6 BEEP.COM
    A tiny sample program that sends an ASCII 7 (BELL) to the fast console out routine and beeps.

10/28/2002 10:03 PM 3,538 MAKEDBG.BAS
    The source code for the MAKEDBG program

10/28/2002 10:03 PM 32,766 MAKEDBG.EXE
    A compiled version of the MAKEDBG program

10/28/2002 10:03 PM 5,948 MAKEDBG.TXT
    A description of the program and some almost helpful hints

10/28/2002 10:03 PM 58 OUTFYL.TXT
     A sample output file created by processing BEEP.COM through MAKEDBG