Home » RBC Forums » General Discussion » Tiny68K, 68000 SBC with 16 Meg memory for CP/M-68K (68000, CP/M-68K, 100mm x 100mm pcb)
Tiny68K, 68000 SBC with 16 Meg memory for CP/M-68K [message #3702] |
Tue, 31 October 2017 21:02  |
plasmo
Messages: 916 Registered: March 2017 Location: New Mexico, USA
|
Senior Member |
|
|
This is a branch off "Plasmo's 68k pathfinder projects" https://www.retrobrewcomputers.org/forum/index.php?t=msg& ;th=152&start=0&
Since the rev 1 of Tiny68K is reasonably matured, I like to start a new topic dedicated to this design and its derivatives. There is a wiki page for Tiny68K: https://www.retrobrewcomputers.org/doku.php?id=boards:sbc:ti ny68k
A brief highlight of features:
* 68000 CPU with a nominal clock of 8MHz
* Entire 68000 address space is filled with a 16-meg SIMM72 DRAM except for I/O devices located at the top 32K bytes.
* 68681 dual UART. Port A is dedicate to console at 38400, N81, CTS/RTS handshake. Port B is available for other uses.
* IDE44 interface to CompactFlash
* Two serial EEPROM, 24C256. Software may boot from either serial EEPROM depending on one jumper select. The second EEPROM is writable in-situ.
* A 7-segment display for status indication.
plasmo wrote on Fri, 27 October 2017 23:09
* I encountered a curious bug on "pip" command: when I tried to concatenate multiple files using the command format:
pip file1.txt=file2.txt,file3.txt I get the error message:
Exception $03 at user address $0001B1BA. Aborted.
pip works fine otherwise. This error occurs in simulation as well, so it may be a bug in pip command or corrupted distribution disk.
* Beside the strange bug in "pip", most software work fine except gkermit. It just hung.
* Creating a new CF disk is kludgy. I'm not smart enough to have a general solution that reads CP/M68K image (created with cpmtools) on FAT directory and creates a CP/M CF disk. So my solution right now is using cpmtools to create a CP/M68k image, converting it to srecord and serially loading into the RAMdrive location on Tiny68K. With the disk image loaded and CP/M running, I can then copy the files in the RAMdrive into CF. This works well, except loading 2 megabyte disk image into RAM at 38.4K baud takes about 30 minutes. Only need to do this once to create a new CF disk, but it is slow nevertheless.
* Still working on an utility that will copy first 32K byte of memory into the 2nd serial flash. With this utility a new boot serial flash can be created thus allowing boot software update without the need of an external programmer.
* I did all my tests with SanDisk brand of CF which work well. I do have one Transcend brand of CF that read/write FAT16 files correctly on PC but does not read/write CP/M68k files correctly on Tiny68K. I'm concerned that Tiny68K hardware/software may only work with a subset of CF. I'm ordering a batch of Transcend CF and see if I can figure out what the problems may be.
Bill
Most of the issues I was concerned about have been successfully resolved:
* The problem with concatenating files using PIP is due to a bug in the BIOS, so is the issue with file upload/download with Kermit. They are both working properly now.
* I'm glad I tried other brands of CF because the original setup time was too short. I added more wait states to CF access so it now has appropriate amount of setup time, access time & hold time. It should works reliably for different brands of CF (keep my fingers crossed! .
* I now have an utility software that can copy first 32K byte of data in memory to the 2nd serial EEPROM. The utility software needs more polishing, but the hardware is all there to allow in-situ programming of the serial EEPROM.
* The creation of new CF disk is still slow. I don't have a Linux box and rawrite32 does not work on my Windows Vista machine. It takes about 30 minutes to serially upload the CP/M68K distribution files. Only need to do that once and when the new CF disk is created, everything works quickly and correctly afterward.
* I did all the development and testings with 8MHz CPU clock, but I tried 12MHz clock on two boards and they appear to work.
I'm close to shipping out the boards. What need to be done are:
* Tweak the boot monitor so it will display various steps on the 7-segment display as it boots up. If the monitor failed to boot, it may show where it failed.
* Documentation! Never enough but more is better.
|
|
|
Re: Tiny68K, 68000 SBC with 16 Meg memory for CP/M-68K [message #3703 is a reply to message #3702] |
Tue, 31 October 2017 21:28   |
plasmo
Messages: 916 Registered: March 2017 Location: New Mexico, USA
|
Senior Member |
|
|
computerdoc wrote on Tue, 31 October 2017 02:12Hi Bill,
I would love to use the PLCC version of the 68681. I have only found an Advance Information datasheet for the 68681. Although it has a PLCC version of the MC68681FN, I would feel better about creating an Eagle part with the finalized Datasheet. Do you have a finalized MC68681FN Datasheet? Attached is all I can find so far. I've tried several sites. If you or anyone can find a better datasheet, I would be most grateful.
Kip,
Here are more comments about your design:
* For the 40-pin IDE connector, you may want to add a jumper between pin 20 and VCC. Some IDE-to-CF adapter derives the 5V power from pin 20.
* Jumper options around 24C256 are not quite right. There need to be a jumper option for each 24C256 from pin 1 to ground. The 24C256 with pin 1 to ground is the boot device. Jumper to pin 7 of 24C256 is for write protect. Only one 24C256 need to be write protected.
* You need a 10-pin programming header (2x5) for Altera EPM7128
* SIMM72 draws large current spikes and needs filter capacitors near the connector. Two 10uF caps located at each end of the connector should be enough.
* Reset button and voltage monitor do not go directly to 68000. It goes to EPM7128 (signal name nPORST). State machine in EPM7128 holds 68000 in reset until content of the boot 24C256 is loaded into DRAM then it releases the reset to 68000.
* Pin out of PLCC44 in Advance Info for 68681 is correct.
* Look at the footprint of the EPM7128. longer finger pads are better for hand soldering..
If you like me to help your bring up the board, send me 2 bare boards. I'll solder down the EPM7128 on both and return one board back to you. I'll populate the 2nd board and see if I can bring it up.
Bill
|
|
|
|
Re: Tiny68K, 68000 SBC with 16 Meg memory for CP/M-68K [message #3717 is a reply to message #3714] |
Mon, 06 November 2017 06:13   |
plasmo
Messages: 916 Registered: March 2017 Location: New Mexico, USA
|
Senior Member |
|
|
I received payments for 6 Tiny68K boards in the last 36 hours. Thank you all! All boards are assembled and programmed; the fully assembled boards are also tested with various diagnostics at 12MHz. I will start shipping them out today and be done by tomorrow. I will PM the USA buyers with tracking numbers. For the international buyers I will send you the Custom number, but USPS does not track the Custom number.
Photos below are what you should expect in the package.
First two photos are that of a fully assembled & tested board. They are shipped with SIMM72 installed, all you need is apply 5V to the 2.5mm jack and null serial cable with CTS/RTS handshake.
The next two photos are what a kit #2 looks like. Discrete capacitors, leaded resistors, and hardware are in separate bags; the 44-pin CF adapter is directly from the factory; and active components are on an anti-static foam. Sockets are for 68681, 68000, and two serial EEPROM. The serial EEPROM (2 pcs) are pre-programmed with identical monitor software. The last photo is the partially assembled board with surface mount components soldered and EPM7128 programmed; the SIMM72 memory has been tested.
I'm currently working on a more detailed assembly instruction, the thing I learned and watched out for during the assembly of the last 7 boards. However, this is my design and I'm an experienced assembler (please excuse my gross self indulgence) so if I missed some details please ask for clarifications. I'll get back to you in 24 hours.
I'll also add instruction on how to create the 1st CF disk and a listing of the monitor software in the serial EEPROM. That's all for now, have fun with it!
-------------------------
Update on 11:20am
Boards are all shipped. The domestic packages should arrive this Thursday. I don't have an estimated date of arrival for international shipment.
-------------------------
[Updated on: Mon, 06 November 2017 10:22] Report message to a moderator
|
|
|
|
|
|
|
|
|
Re: Tiny68K, 68000 SBC with 16 Meg memory for CP/M-68K [message #3730 is a reply to message #3725] |
Mon, 13 November 2017 06:58   |
zamp
Messages: 19 Registered: April 2017 Location: Finger Lakes, NY, USA
|
Junior Member |
|
|
I built up the Tiny68K kit #2 and installed all chips and SIMM, but did not yet install a CF card. It was about 1:30AM by the time I hooked up a Prolific USB to serial cable (a Raspberry Pi console cable). That USB to serial cable has only Rcv and Xmt, not CTS or RTS. Tonight, when I have more time and I am more awake, I'll set up something else with CTS and RTS, but I was hoping with just that that I'd at least see the Tiny68kbug greeting, even if I didn't have flow control for input to the monitor.
I configured my terminal emulator for 38,400 8N1 and powered up the Tiny68K. The LED immediately displayed 8 and did not show any animation of and LED segments. Pressing reset didn't change the display at all. I get output from the first console port, but it's random junk that is intermittently displayed.
I'll try again with CTS and RTS connected, but from my reading of T68kbug.X68 I don't expect to see anything different. I think I need to do some debugging. Do these seem reasonable first steps?
Check for bent pins (I checked last night, but it was pretty late).
Check 5V on board.
Swap U5 and U7 in case one of them didn't get programmed.
Check clock with oscilloscope.
I think that Ben pre-programmed the Altera EPM7128SQC100 and the two AT24C256PC. I've got an Altera USB blaster and a CH341A programmer, so I supposed I could try reprogramming the EPM7128SQC100 and the two AT24C256PC, but I'm not very experienced with using either of them, and I hesitate to risk misprogramming what Ben has probably already correctly programmed.
Ron
|
|
|
|
Re: Tiny68K, 68000 SBC with 16 Meg memory for CP/M-68K [message #3732 is a reply to message #3731] |
Mon, 13 November 2017 08:37   |
zamp
Messages: 19 Registered: April 2017 Location: Finger Lakes, NY, USA
|
Junior Member |
|
|
plasmo wrote on Mon, 13 November 2017 10:56First thing to check is make sure you have a shorting bar in place to enable U5 as the boot serial flash.
Oops... I didn't didn't jumper either of them. That's probably what I did wrong. I assembled things in a different order than suggested as I like using an organic flux where I can and hot water cleaning, so I deliberately installed water sensitive components at the very end using no clean solder/flux. And I entirely missed the two-pin headers at T18/19 and T20/21.
If that's not it, I'll continue with your other suggestions.
I did get the LED installed correctly - your photos and construction step 9 description made that easy to get right.
Thanks for the photo of the CTS/RTS jumper. It confirms that I correctly followed the traces for those pins back to the DUART.
Ron
|
|
|
|
Re: Tiny68K, 68000 SBC with 16 Meg memory for CP/M-68K [message #3737 is a reply to message #3732] |
Mon, 13 November 2017 19:56   |
zamp
Messages: 19 Registered: April 2017 Location: Finger Lakes, NY, USA
|
Junior Member |
|
|
zamp wrote on Mon, 13 November 2017 11:37Oops... I didn't didn't jumper either of them. That's probably what I did wrong.
That was my problem. After I added a jumper across T18/19 and wired up an adapter with CTS and RTS, I was able to go through the entire procedure for installing CP/M-68K on a new compact flash card and it all worked, except that I've not yet been able to send or receive a file using gkermit. I'm using a Mac right now, and I've tried two different Mac terminal emulators (ZTerm and Serial) that supposedly have kermit built in. I have doubts about the kermit implementation in both Mac terminal emulators. One crashes on starting a kermit send and the other hangs or ignores the cancel button in its kermit send dialog box.
I'll try kermit transfers again later this week using a Windows 10 PC.
But there may also be something going on with gkermit on CP/M-68K. The gkermit docs says typing three control-Cs in a row should cancel a gkermit trasnfer, but that only seems to work near the beginning of a gkermit file send. I'm unable to interrupt a gkermit -s or gkermit -r if I've let the transfer attampt run for more than a minute or so.
I used to be pretty up on kermit (I ported it to Primos in the distant past), xmodem, ymodem, and zmodem (in the 80s I integrated those into a couple of Cornell Cooperative Extension BBSs [first on Primos, later on Solaris] that I was the programmer for). While waiting for gkermit tests tonight I dug up an old (1987), simple C version of zmodem. Whether or not I can get gkermit working for me, I'll probably try porting zmodem to CP/M-68K.
Ron
|
|
|
|
Re: Tiny68K, 68000 SBC with 16 Meg memory for CP/M-68K [message #3739 is a reply to message #3738] |
Mon, 13 November 2017 22:50   |
zamp
Messages: 19 Registered: April 2017 Location: Finger Lakes, NY, USA
|
Junior Member |
|
|
I've got some 12MHz oscillators on order and a couple of 12MHZ 68000, so I should soon have it running faster, but I'm honestly pretty happy with the speed right now.
I think by default Kermit does depend on getting most 8-bit characters through unchanged, but control-C is ascii 3, so ANDing it with 7F should still pass it through unchanged. And typing a control-C at the CP/M seems to be doing what it should. Also, I CAN abort a gkermit transfer as long as I type a few control-Cs shortly after I invoke gkermit.
Digital Research also ANDs with 7F in their example conin. I never did much with 68K assembly code and that was back shortly after the 128K Mac came out, so I don't yet have an eye for reading it. But there's a bit in your conin that looks an awful lot like something that watches for the programmers switch on an old 68K Mac to be pressed and drops into the MacsBug debugger. At some point I'll grab a 68000 reference, your BIOS, and your Tiny68K schematic and try to get a rough feel for what you've written. It'll be a good exercise and should help me actually learn a little of the 68000 instruction set.
Thanks, Ben for working up such a nice hardware design and well documented, repeatable OS install procedure. I'm really enjoying putting this system together. I've never worked with CP/M-68K before and I'm really enjoying picking up a "new" OS. And the huge address space is really nice compared to the few old 8080 and Z80 CP/M systems I used to develop on.
Ron
|
|
|
|
|
Re: Tiny68K, 68000 SBC with 16 Meg memory for CP/M-68K [message #3743 is a reply to message #3742] |
Tue, 14 November 2017 16:44   |
zamp
Messages: 19 Registered: April 2017 Location: Finger Lakes, NY, USA
|
Junior Member |
|
|
That was a fast fix, Ben. With tinybios_r5 I'm able to send and receive text files using gkermit and I can at least receive binary (-i) files with gkermit. I've not tried sending binary files yet. gkermit downloaded these executables and they all work:
ARC.68K
LU.68K
SQ.68K
USQ.68K
Ron
|
|
|
Re: Tiny68K, 68000 SBC with 16 Meg memory for CP/M-68K [message #3744 is a reply to message #3743] |
Tue, 14 November 2017 17:47   |
plasmo
Messages: 916 Registered: March 2017 Location: New Mexico, USA
|
Senior Member |
|
|
Excellent! So everything is working? BTW, I'm not familiar with ARC.68K, LU.68K, SQ.68K, and USQ.68K. What are they, and are they available for download? There are not many software for CPM-68K so I'm interested in all software for CPM-68K.
Could you tell me about the brand and size of your CF disk? A user PM me that he is having problem with the creation of CF disk and it sounds like a CF disk problem. There is a particular brand of CF (Transcend 128M, 80x) that I intermittently have checksum errors. I know it is not a setup, access, or hold time problem. I'm wondering if I still have issues with CF access.
|
|
|
Re: Tiny68K, 68000 SBC with 16 Meg memory for CP/M-68K [message #3745 is a reply to message #3744] |
Tue, 14 November 2017 19:03   |
zamp
Messages: 19 Registered: April 2017 Location: Finger Lakes, NY, USA
|
Junior Member |
|
|
Everything does seem to be working. I've not encountered any CRC or other disk errors. The CF card I'm using is a used 128MB Toshiba that I got off of eBay. $23 with shipping for 20 128MB CF cards from China, but they're sold out. The same seller has some other brands of cards for $1.50 and up right now: https://www.ebay.com/sch/mcqo2749/m.html?_nkw=&_armrs=1& amp;_ipg=&_from= . I can send you a few of the 128MB Toshiba cards if you want to try them out.
Those programs are CP/M-68K versions of tools that were used in the old modem download days. Archive creator/extractor, squeeze/unsqueeze (similar to Unix compress/uncompress, but different file format), LU is an all-in-one archiver/unarchiver/squeezer/unsqueezer. I looked for those because I needed to unpack a .LBR for a CP/M-68K version of RUNOFF. LBRs can be unpacked with LU. I found those all at the same site along with some other stuff I've not tried yet. LBRs are kind of nice because you can take a directory full of files and LU them up into a LBR. Then put the LBR someplace safe. CP/M gets cluttered very quickly if you have all of your old projects with many source files all unpacked and spread all over your disks/users. Setting aside a user in a disk for your LBRs lets you keep a text file that lists what all of your LBRs are. For me that's necessary since I have problems remembering what those 8 character filenames mean.
I found all of those archive tools and RUNOFF in the same place: http://www.retroarchive.org/cpm/cdrom/CPM/CPM68K/
What I grabbed from there is this:
68000USQ.LBR 14848 02-09-85 Squeeze/Unsqueeze for CP/M-68K
ARC68K.ARC 133888 11-27-87 ARC 5.12 for CP/M-68K
COM2X.LBR 23808 09-07-86 No description available
CPX2PLUS.DOC 14510 02-22-87 No description available
F83V2-68.LBR 237568 02-09-85 No description available
KMINCE.LBR 89984 08-29-86 KeyPad editor for CP/M-68K Mince
LU.68K 77184 11-20-86 LU for CP/M-68K. See XLU68K.LBR too.
MSUTILS.LBR 135424 02-18-88 No description available
ROFF4161.LBR 229120 05-22-86 Powerful customizable text formatter
SD68K.LBR 27136 06-11-86 No description available
SDB.LBR 201856 10-31-86 Simple Data Base for CP/M-68K
SNOBOL4.LBR 109696 05-22-86 No description available
SYSHACKS.LBR 49792 05-22-86 No description available
UTILS.LBR 161408 05-22-86 No description available
XLU68K.LBR 171136 11-16-86 Source and Documentation for LU.68K
If you start with LU.68K you can then download .LBR files to your CP/M-68K system and unpack them. It's all pretty old-fashioned and not very user friendly. Later this week I'll capture and post a session where I unpack a LBR with LU and describe what I'm doing.
I found some other nice tools and I'm keeping notes on the sources. I'll write it all up and post it somewhere. I could post it here, but I'm not sure if you want to clutter this hardware thread with that stuff. Do you have any suggestions on where to keep track of the stuff we find for CP/M-68K and notes on using it all?
Ben: let me know if you want me to send you a few of these Toshiba CF cards (for free). Sorry I'm not able to do that for everyone. But I'll keep an eye out for more of the Toshiba CF cards and post here if I find some more, especially if I find them at $1 each again.
Ron
|
|
|
|
|
Re: Tiny68K, 68000 SBC with 16 Meg memory for CP/M-68K [message #3748 is a reply to message #3746] |
Wed, 15 November 2017 06:43   |
plasmo
Messages: 916 Registered: March 2017 Location: New Mexico, USA
|
Senior Member |
|
|
computerdoc wrote on Tue, 14 November 2017 21:44Hi Tiny68K Fans,
After much help from Bill troubleshooting my Tiny68K, it all boiled down to a suspicious Transcend 133x 4GB CF Card. It never gave me any good results.
I tried a Transcend 80x 512MB card and it works perfectly. No Errors during the pip with verify command when transferring all files from drive E: to drive A:.
I'm now looking for a good source for some inexpensive as possible Sandisk cards since that is what Bill has successfully tested with. I've looked on ebay
for some good deals. I wish I could buy emass to get the price down. I am interested in getting a few CF cards that work from someone.
I'm using TeraTerm to communicate with my Tiny68K. It can transfer files with Kermit among other protocols. How do I transfer several files at once?
Or do I have to transfer 1 file at a time? I have tried both ways, but I can't seem to get it to work.
Are there any experienced CP/M 68Kers out there to help us all understand how to use CP/M 68K?
Kip,
I was so focused on following up to zamp's last message, I completely overlook yours. Congratulation on getting your kit up and running. Troubleshooting over emails never give me the whole picture and I was speculating all over the places. I start to see a trend with the CF issues: the problem may be with the newer, higher speed, large capacity ones. The older, slower, smaller CF are working. I'm confident it is not an setup/access/hold time issue, it is something else. I love to borrow your 133x 4GB CF to chase down the problem.
I know gkermit accepts wild card character so you can transfer multiple files. You may have the same kermit problem with previous version of BIOS. I updated the wiki page on CF creation with the new BIOS yesterday morning, so if you were using older files, you should visit the CF creation page again and get the latest.
https://www.retrobrewcomputers.org/doku.php?id=boards:sbc:ti ny68k:create_new_cf
|
|
|
|
How to install LU.68K, unpack .LBR archives, and PIP (copy) to other user spaces on other drives [message #3757 is a reply to message #3747] |
Wed, 15 November 2017 18:37   |
zamp
Messages: 19 Registered: April 2017 Location: Finger Lakes, NY, USA
|
Junior Member |
|
|
There are some CP/M-68K .LBR files on the Internet that have tools you may want to unpack. There are many more 8080 or Z80 CP/M .LBR files around that contain source code for programs you may want to try porting to CP/M-68K. A tool that can unpack .LBR files is LU.68K. Here's how you can get a copy of LU.68K on your CP/M-68K computer and use it.
On your host computer (not the target CP/M-68K computer) download these two files:
http://www.retroarchive.org/cpm/cdrom/CPM/CPM68K/LU.68K
http://www.retroarchive.org/cpm/cdrom/CPM/CPM68K/XLU68K.LBR
Connect to your CP/M-68K computer using a terminal emulator that can send files using the Kermit protocol, then perform the following boldfaced steps.
A>d:
D>user 1
1D>dir (We're going to do this work in an empty spot. User 1 on drive D: is empty on my system.)
No file
1D>a:gkermit -r (type this and then start sending LU.68K from your host)
G-Kermit CU-1.00, Columbia University, 1999-12-25
Escape back to your local Kermit and give a SEND command.
KERMIT READY TO RECEIVE...
1D>a:gkermit -r (type this and then start sending XLU68K.LBR from your host)
G-Kermit CU-1.00, Columbia University, 1999-12-25
Escape back to your local Kermit and give a SEND command.
KERMIT READY TO RECEIVE...
1D>dir
D: LU 68K : XLU68K LBR
1D>a:pip a:[g0]=lu.68k
(The above PIP copy command may be confusing. Let me break it down into pieces...
- a:pip PIP copies files. The PIP program is over on drive A: I'm in user 1 and on drive D, but I can just refer to A:PIP and CP/M will first look here in 1D:, then in 1A:, and then finally in 0A: where PIP.68K actually lives.
- a:[g0] This is the destination, 0A:. Because I'm now in user 1, if I said a: instead of a:[g0] PIP would copy it to 1A: instead of to 0A:.
- = This separates the destination from the source
- lu.68k The source file to copy from
refer to the "CP/M-68K Operating System User's Guide" for lots more of the ugliness of the PIP command.)
1D>era lu.68k (now that lu.68k was copied to a0: we don't need it here in d1:)
1D>dir
D: XLU68K LBR
1D>a:lu (start up LU from A0:)
XLU68K - Library Utility for CP/M-68K
(c) 1986 by Robert Heller
-? > -h (ask for help with -h or -?)
Command Function
======= ==========================
-o Open library file
-c Close library file
-x Exit LU
-e Extract file(s)
-eu Extract and unsqueeze
-a Add or replace file(s)
-as Squeeze and add or replace file(s)
-l List files in library
-k Kill file(s) in library
-r Reorganize library
-h This text
-? This text
-H > -o xlu68k (open file xlu68k.lbr)
lu: old library file XLU68K.LBR has 24 entries, 1 free
-O > -l (That's an lowercase L. Either -l or -L will list the files in the directory. The files with a Q in the 2nd character of the extension are sQueezed or compressed.)
Name Type Start Length CRC
==================================
DIRECTORY 0 6 0000
LUADD .CQ 6 54 0000
LUCLOSE .CQ 60 8 0000
LUCPM68K.CQ 68 9 0000
LUEXTRCT.CQ 77 33 0000
LUKILL .CQ 110 13 0000
LULIST .CQ 123 13 0000
LUMAIN .CQ 136 34 0000
LUMISC .CQ 170 18 0000
LUOPEN .CQ 188 28 0000
LUREORG .CQ 216 33 0000
LUDEF .HQ 249 14 0000
LUVARS .HQ 263 6 0000
LU .6QK 269 373 0000
LULINK .SUB 642 1 0000
SQ .CQ 643 127 0000
SQMAIN .CQ 770 17 0000
SQ .6QK 787 203 0000
USQ .CQ 990 50 0000
USQMAIN .CQ 1040 14 0000
USQ .6QK 1054 174 0000
XLU68K .RQF 1228 48 0000
XLU68K .DQC 1276 61 0000
==================================
Used sectors 1337
Deleted sectors 0
Total sectors 1337
Active entries = 23, deleted = 0, free = 1, total = 24
-L > -eu *.* (Extract and Unsqueeze *.* [all files] in the .LBR archive)
sqX0222A -> LUADD.C: unsqueezing, done.
LUADD.CQ extracted
sqX0222B -> LUCLOSE.C: unsqueezing, done.
LUCLOSE.CQ extracted
sqX0222C -> LUCPM68K.C: unsqueezing, done.
LUCPM68K.CQ extracted
sqX0222D -> LUEXTRCT.C: unsqueezing, done.
LUEXTRCT.CQ extracted
sqX0222E -> LUKILL.C: unsqueezing, done.
LUKILL.CQ extracted
sqX0222F -> LULIST.C: unsqueezing, done.
LULIST.CQ extracted
sqX0222G -> LUMAIN.C: unsqueezing, done.
LUMAIN.CQ extracted
sqX0222H -> LUMISC.C: unsqueezing, done.
LUMISC.CQ extracted
sqX0222I -> LUOPEN.C: unsqueezing, done.
LUOPEN.CQ extracted
sqX0222J -> LUREORG.C: unsqueezing, done.
LUREORG.CQ extracted
sqX0222K -> LUDEF.H: unsqueezing, done.
LUDEF.HQ extracted
sqX0222L -> LUVARS.H: unsqueezing, done.
LUVARS.HQ extracted
sqX0222M -> LU.68K: unsqueezing, done.
LU.6QK extracted
sqX0222N is not a squeezed file
LULINK.SUB extracted
sqX0222O -> SQ.C: unsqueezing, done.
SQ.CQ extracted
sqX0222P -> SQMAIN.C: unsqueezing, done.
SQMAIN.CQ extracted
sqX0222Q -> SQ.68K: unsqueezing, done.
SQ.6QK extracted
sqX0222R -> USQ.C: unsqueezing, done.
USQ.CQ extracted
sqX0222S -> USQMAIN.C: unsqueezing, done.
USQMAIN.CQ extracted
sqX0222T -> USQ.68K: unsqueezing, done.
USQ.6QK extracted
sqX0222U -> XLU68K.RFF: unsqueezing, done.
XLU68K.RQF extracted
sqX0222V -> XLU68K.DOC: unsqueezing, done.
XLU68K.DQC extracted
-EU > -x (eXit from the LU utility)
lu: old library XLU68K.LBR closed
1D>dir (c=Check out what we unpacked. XLU68K.DOC is the confusing manual for LU. There are also SQ [squeeze] and USQ [unsqueeze] tools here that you could copy to a0: with PIP if you want to.)
D: LULINK SUB : LUADD C : LUCLOSE C : XLU68K LBR : LUCPM68K C
D: LUEXTRCT C : LUKILL C : LULIST C : LUMAIN C : LUMISC C
D: LUOPEN C : LUREORG C : LUDEF H : LUVARS H : LU 68K
D: SQ C : SQMAIN C : SQ 68K : USQ C : USQMAIN C
D: USQ 68K : XLU68K RFF : XLU68K DOC
1D>ERA xlu68k.lbr (now that it's unpacked you can delete the .LBR - or keep it if that's your preference)
1D>a:
1A>user 0
A> (and we're back in A0: where we started)
Ron
|
|
|
|
Re: Tiny68K, 68000 SBC with 16 Meg memory for CP/M-68K [message #3770 is a reply to message #3738] |
Fri, 17 November 2017 07:55   |
zamp
Messages: 19 Registered: April 2017 Location: Finger Lakes, NY, USA
|
Junior Member |
|
|
plasmo wrote on Tue, 14 November 2017 00:34Are you running at 8MHz right now? I believe you should be able to run at 12MHz.
I ordered some 12MHz full-size oscillators that just showed up. I swapped out the 8MHz oscillator for 12MHz and the Tiny68K still seems to be working error free. I've not yet tested extensively at 12MHz. I have weekend plans that should involve a lot of edit, compile, test cycles so it'll get a decent workout.
Ron
|
|
|
Re: Tiny68K, 68000 SBC with 16 Meg memory for CP/M-68K [message #3782 is a reply to message #3770] |
Sun, 19 November 2017 13:26   |
zamp
Messages: 19 Registered: April 2017 Location: Finger Lakes, NY, USA
|
Junior Member |
|
|
zamp wrote on Fri, 17 November 2017 10:55I have weekend plans that should involve a lot of edit, compile, test cycles so it'll get a decent workout.
My plans were to port Frotz to CP/M-68K, but that didn't pan out. Frotz lets you play Z-Machine games like Zork and Planetfall. But Frotz is nicely written with function and variable names longer than 8 characters as well as #defines of symbol namess longer than 8 characters. And CP/M-68K's version of C allows for:
- 8 character or less local variable names and #define symbols
- 6 character or less global variable names and function names
I could spend many hours doing global search and replaces to make short #define symbol names, variable names, and function names. And then I'd probably find that other limitations of the C compiler or library might need to be worked around.
I'm going to bail on porting Frotz.
I also wanted to port f2c so that I could compile Adventure. I don't need to play it again, but I like having it on a retro system and it would be nice for demos. And having FORTRAN would also be nice. But I think an f2c port might be tough given the limited Alcyon C math library functions, so at the moment I'm not going to look into what it would take.
I guess I'll give rzsz a go which would give us xmodem, ymodem, and zmodem send and receive. It's sufficiently old that I might be able to get it ported.
But I'm starting to think that CP/M-68K is a bit limiting given how few tools there ever were, how few of them are still to be found in archives, and the lack of source code for some essentials like CP/M-68K 1.3 itself, the C compiler (and preprocessor), assembler, linker, libraries.
I'm looking around for another OS that looks more like Unix and has full source. The most appealing I've come across so far is Alan Cox's FUZIX: https://github.com/EtchedPixels/FUZIX . Source for everything is there and Alan (etchedpixels on this forum) has brought up a limited, one-process version on a 68K emulator: https://www.retrobrewcomputers.org/forum/index.php?t=msg& ;th=101&goto=1279&#msg_1279
Alan also appears to have bought one of the Tiny68K boards. I'm really hoping he's going to port Fuzix to it. But the lack of an directly-connected Ethernet interface would probably mean a port isn't that appealing to Alan.
Ron
|
|
|
|
Re: Tiny68K, 68000 SBC with 16 Meg memory for CP/M-68K [message #3785 is a reply to message #3784] |
Sun, 19 November 2017 15:09   |
zamp
Messages: 19 Registered: April 2017 Location: Finger Lakes, NY, USA
|
Junior Member |
|
|
plasmo wrote on Sun, 19 November 2017 17:37What about CPM-68k v1.2? I understand the C source for it is available and the Alcyon C math library is more stable (the floating point library for v1.3 C does not work).
With CP/M-68K 1.2 we could hack on the OS source if we wanted to change things. I'd like to be able to do that. But the short variable, function, and define names are still pretty limiting for the code I would want to port. I supposed we could work up different C, assembler, and linker that could deal with longer names, but that's more effort than I want to go to. And I'd forgotten how much I disliked CP/M's PIP (which is easily fixed by writing a new copy/cp comand) and limited file system users (0-15 on each drive); I much prefer a filesystem with subdirectories. And I also want environment variables.
I didn't realize the math library in CP/M-68K 1.3 wasn't working. That's not good to hear.
plasmo wrote on Sun, 19 November 2017 17:37Etchedpixels has both Tiny68K as well as a repurposed SPX MPU board that has CP/M68K installed. I'm hopeful a 68000 FUZIX will become available... soon? Is Ethernet particular important to an useful FUZIX OS? I have a few CS8900 Ethernet controllers I want to try that should fit within the Tiny68K form factor. Alternatively, the 68302 on the repurposed SPX MPU board has a crude SPI interface that maybe sufficiently fast to work with an SPI-to-Ethernet daughterboard.
I don't know Alan's thinking on any of this, but if it were me and I was developing an OS that was going to include TCP/IP, then I would want to be targeting hardware that could support Ethernet and/or WiFi. But if Alan were to port Fuzix to the Tiny8K then I'd definitely play around with it even if it couldn't do TCP/IP. Fuzix looks like something I want to learn about whether it's on the Tiny68K or another platform. It really looks like a well thought out OS and I can actually understand the bits of the code that I've looked at. I'm sure much of the code would be over my head, but I do like what I see there.
Another OS that looks interesting is CDOS-68K (find it here: http://www.cpm.z80.de/binary.html) which looks complete, but I can find no documentation at all for it online, other than what is in the help files that are in the CDOS-68K source. Without any documentation on porting it to a new system, it's beyond my ability to tackle.
FreeMINT also looks nice, but it appears that no one is developing it any further. But Fuzix looks like it's being very actively developed.
An hour or so into the CP/M-68K port, rzsz is so far looking like I'll get it working. I've got most of rz|rb|rx reworked into rxyz -x|-y|-z. I'm not having to #ifdef out much code. And so far I've not run into any long names. :-)
Ron
|
|
|
|
Re: Tiny68K, 68000 SBC with 16 Meg memory for CP/M-68K [message #3788 is a reply to message #3782] |
Sun, 19 November 2017 19:04   |
zamp
Messages: 19 Registered: April 2017 Location: Finger Lakes, NY, USA
|
Junior Member |
|
|
zamp wrote on Sun, 19 November 2017 16:26And CP/M-68K's version of C allows for:
- 8 character or less local variable names and #define symbols
- 6 character or less global variable names and function names
I just learned there is source for a CP/M-68K version of Alcyon C online. I found links to it at multiple sites, including http:// cpm-connections.blogspot.com/2010/11/list-of-c-compilers-for -cpm.html .
Quote:Alcyon C For CP/M-68K. Includes compiler, assembler, linker and libraries: http://www.cpm.z80.de/download/cpm68k1.zip
Floating point library for the 68881 or 68882: [url=http://www.cpm.z80.de/download/lib68881.zip]
There are multiple versions of the compiler in this archive, but they are not all complete. I haven't read enough of the code to tell if it can be compiled with the existing CP/M-68K C compiler or if it needs to be compiled on VMS. But I do see that the source for everything is there: C preprocessor, compiler, assembler, linking loader, library tools, C library, math library, include files.
And there is a #define for the symbol size (#define SSIZE 8) that looks to be used through the C preprocessor and compiler, so it might be possible to rebuild all of this to allow longer #define names.
Rons-MacBook-Pro:cpm68k1 amp1$ ls
v101 v102 v102a v103
Rons-MacBook-Pro:cpm68k1 amp1$ cd v103
Rons-MacBook-Pro:v103 amp1$ find . -type f -exec grep -l SSIZE {} \;
./cgen/cgen.h
./cgen/main.c
./cpp/lex.c
./cpp/preproc.h
./icode.h
./parser/expr.c
./parser/lex.c
./parser/parser.h
./parser/symt.c
Rons-MacBook-Pro:v103 amp1$
I'm not sure if any of the versions of Alcyon C here exactly match what is bundled into CP/M-68K 1.2 or 1.3. I don't know if I'm going to play around with rebuilding the compiler tool chain or not, but it's nice to know the source for some versions IS available.
Ron
|
|
|
Re: Tiny68K, 68000 SBC with 16 Meg memory for CP/M-68K [message #3791 is a reply to message #3788] |
Sun, 19 November 2017 21:46   |
computerdoc
Messages: 130 Registered: October 2015
|
Senior Member |

|
|
Hi Guys,
I'm still having great difficulty getting gkermit -r to work. I have Tera Term 4.96 installed and communicating with my Tiny68K just fine.
I can send clrcpmmem.s68, cpm15000.s68, tinybios.s68 (v5 but says v0.6), and writeboot.s68 to create the boot code on track 1 of the CF Card.
CP/M 68K v1.3 boots just fine. The serial is setup in TeraTerm to com31,38400,8,n,1,hardware. I run gkermit -r and try to transfer via
Kermit/send to send the file lu.68k to drive d:, but nothing ever gets sent. The only thing that doesn't work is the kermit transfer.
I managed to kermit to work once, but I didn't know I had to transfer/kermit/finish to save the file so I didn't get anything. I have
successful before or since. I even tried upgrading the oscillator can from 8MHZ to 12MHZ and this same output was repested. Everything
worked EXCEPT for the Kermit transfer. Please Help! Here is the output.
-----------------------------begin-------------------------- -------
Tiny68kbug
11/5/17 v0.6, type "he" for help
> ..X
Valid S record received, executing from starting address
S record execution completed
> ............................................................ ............................................................ ............................................................ ............................................................ ............................................................ ............................................................ ............................................................ ............................................................ ............................................................ ............................................................ ......................................................X
> .................................X
> .......X
Valid S record received, executing from starting address
S record execution completed
>
Tiny68kbug
11/5/17 v0.6, type "he" for help
> bo
Copying CP/M 68K from Compact Flash...checksum is 0C0DCC9E
CP/M-68K V1.3 COPYRIGHT (C) 1982, 1984, 1985 Digital Research
A>d:
D>a:gkermit -r
G-Kermit CU-1.00, Columbia University, 1999-12-25
Escape back to your local Kermit and give a SEND command.
KERMIT READY TO RECEIVE...
# N3
Tiny68kbug
11/5/17 v0.6, type "he" for help
>
-------------------------------end-------------------------- -------------
Bill, Can you or anyone shed ANY light on this? I can't seem to whip this thing! ARGH!
Because I can create a good bootable Track 1, wouldn't it stand to reason that I should be able to transfer a file via kermit?
Oh by the way, I still get the Bs in me readme.txt even though I can create the boot code on Track 1 and boot successfully.
I have Skype if needed to troubleshoot. Also Teamviewer. Any help is most appreciated. Thanks in advance.
Kip Koon
computerdoc at sc dot rr dot com
http://www.cocopedia.com/wiki/index.php/User:Computerdoc
|
|
|
|
|
Re: Tiny68K, 68000 SBC with 16 Meg memory for CP/M-68K [message #3795 is a reply to message #3793] |
Mon, 20 November 2017 05:56   |
plasmo
Messages: 916 Registered: March 2017 Location: New Mexico, USA
|
Senior Member |
|
|

Kip,
You've seen this picture of the console serial connector pinout in the wiki page. These are all TTL level signals. I like you to do three tests for me: (note: input or output direction are from the persepctive of Tiny68K)
Signal name Signal direction Active level
(from perspective (TTL level)
of Tiny68K)
---------------------------------------------------------
RTS output to PC (output) TTL low (0V)
CTS input to 68681 (input) TTL low (0V)
Transmit to PC (output) TTL low (0V)
Receive to 68681 (input) TTL low (0V)
GND
VCC
Test 1:
With hardware handshake enabled, for PC to send data to Tiny68K, the RTS output must be active (TTL low). Similarly for Tiny68K to send data to PC, CTS input must be active (TTL low). Hook up a meter or scope to the RTS and CTS pins. Since you are able to communicate with Tiny68K, I expect both are TTL low.
Test 2:
Does Tera Term has the ability to monitor and manually toggle the handshake signals? I know RealTerm does, and I can do the following exercise in RealTerm:
2a. Select the 'Pins' tab, you should see green light for 'RTS (7)' and over at the Status column you should see green light for 'CTS (8)'.
2b. Turn off power to Tiny68K, you should see 'CTS (8)' light goes out.
2c. Hook up a meter or scope to CTS pin
2d. Turn on power to Tiny68K, CTS pin should measure TTL low, the 'CTS(8)' light at Status column should turn green, and Tiny68K should sign on with the power-on message
2e. click the "Clear" button of 'RTS(7)', you should see the 'RTS(7)' light goes out and CTS pin should measure TTL high level. Type 'he' on the console, you should not receive any character echo back.
2f. Click the 'Set' button of 'RTS(7)', you should see the 'RTS(7)' light turns green and CTS pin should now measure TTL low level, and you should see the characters you typed echo back.
This exercise demonstrates PC can send handshake signal to Tiny68K and it will respond properly
Test3:
To demonstrate that Tiny68K can send handshake to PC and get the proper response:
3a. Hook a meter or scope to RTS output pin.
3b. Execute microEMACS in CP/M: me readme.txt
3c. RTS output should measure TTL low. Press and hold the down-arrow key, you should see RTS output toggling, this is Tiny68K signaling to PC not to send more characters because Tiny68K is busily updating the screen. PC should not send characters to Tiny68K when RTS output is TTL high.
3d. CTS input pin should stay TTL low in this exercise because PC is generally fast enough to handle serial data stream at 38400.
I suspect step 3c is where you are having problem, that RTS output of Tiny68K is not toggling, or that it is toggling but somehow the signal is not coming back to PC to stop it from sending more characters. Which means either the serial-to-USB adapter is not transmit the signal back or the PC software is not responding to it.
That looks like a nice, low cost USB-to-serial adapter. I'll go buy a couple just to try it out. On the next revision of pc board I can create an alternate header for it so the adapter just plug in directly.
[Updated on: Mon, 20 November 2017 06:09] Report message to a moderator
|
|
|
Re: Tiny68K, 68000 SBC with 16 Meg memory for CP/M-68K [message #3796 is a reply to message #3702] |
Mon, 20 November 2017 06:24   |
zamp
Messages: 19 Registered: April 2017 Location: Finger Lakes, NY, USA
|
Junior Member |
|
|
If you're using one of the TTL to RS-232 adapters like the one in these photos...
 
...then Transmit, Receive, RTS, CTS, Gnd, VCC from the Tiny68K should all be directly connected to the same-named terminals on the TTL to RS-232 adapter board.
TTL to RS232(DB9 or
Tiny68K DB25) adapter
--------- -------------------
Receive Receive
Transmit Transmit
CTS CTS
RTS RTS
Gnd Gnd
VCC VCC
If you're instead using a cable like one of these...

...then you'll have to connect like this
Tiny68K USB to TTL cable
--------- ----------------
Receive Transmit
Transmit Receive
CTS RTS
RTS CTS
Gnd Gnd
VCC DO NOT CONNECT VCC OF THIS CABLE TO VCC ON TINY68K
Note that the more common 4-pin cable of this style will not work with the Tiny68K as it doesn't include CTS and RTS. For this type of 6-pin cable, you may need to pull the individual terminals out of the 6-pin housing and rearrange them to match the order of the connector on the Tiny68K.
If you're wondering how to rearrange the terminals in a "dupont" style header or make up your own custom dupont cables (like the one in my first two pictures, you can learn how with this video: https://www.youtube.com/watch?v=GkbOJSvhCgU
-
Attachment: overview.jpg
(Size: 96.16KB, Downloaded 4595 times)
-
Attachment: closeup.JPG
(Size: 111.34KB, Downloaded 4532 times)
-
Attachment: other.PNG
(Size: 328.01KB, Downloaded 4482 times)
Ron
[Updated on: Mon, 20 November 2017 07:39] Report message to a moderator
|
|
|
|
Current Time: Sat Apr 26 13:26:57 PDT 2025
Total time taken to generate the page: 0.00821 seconds
|