#: 17900 S1/General Interest 12-Apr-93 20:28:11 Sb: #17852-How come? Fm: Carl Kreider 71076,76 To: Ken Flanagan 75460,2514 (X) Well, I'm not a compression expert, so don't know what you mean. -lh1- looks like an lharc type. The compression ar uses is lzw as described in ACM and implemented in Unix compress. It doesn't add Huffman on top or any of the sorts of things recent lha or zoo do. Nor will it ever. There isn't enough room on an 09. For OSK, I usually use zoo anyway. Lharc can be faster but does not seem to be very portable or even compatible with itself. #: 17897 S1/General Interest 12-Apr-93 08:25:32 Sb: #17888-Ar Version 1.3 Fm: Ken Flanagan 75460,2514 To: Steve Wegert 76703,4255 (X) It may be moot already (compression wise anyways). There is now a LZH archiver program for OS-9 level 2. I uploaded it awhile ago, although I don't see it in the listings yet.... #: 17906 S1/General Interest 13-Apr-93 22:05:50 Sb: #real time application Fm: glen johnson 72630,2275 To: OS9 gurus Thanks for reading... I need help on OS9 interprocess communication (ipc) features for my servo control and acquistion application. I've been given a project of porting over Versados 68000 code (c, fortran, assy). This code generally uses TRAP calls for ipc including wake-ups and message queues. My task is to rewrite the code in C using events, semaphores, traps, signals, or whatever appropriate in the transcription. I have P. Dibble's Insights book but there is no OPC (other people's code) to use as an end to end working guideline. Is there any downloadable or textbook source code available that would be helpful? Thanks in advance for any leads or advice. Glen/Fort Worth TX There is 1 Reply. #: 17916 S1/General Interest 14-Apr-93 23:24:20 Sb: #17906-real time application Fm: Pete Lyall 76703,4230 To: glen johnson 72630,2275 Glen - I'm a bit cooked at the moment, but may be able to provide some help. Give me a call at work sometime... (303) 795-2625. Pete #: 17912 S7/Telecommunications 14-Apr-93 15:20:33 Sb: #17819-#terminal help Fm: Kevin Pease 70516,1633 To: Bill Dickhaus 70325,523 (X) This is not a specific keyboard problem. It has to do with system bus loading during hard disk transfers. I will look to se what the jumpers are. If you are going to be at the fest Maybee I can show you then. There is 1 Reply. #: 17913 S7/Telecommunications 14-Apr-93 17:37:31 Sb: #17912-terminal help Fm: Bill Dickhaus 70325,523 To: Kevin Pease 70516,1633 I thought that might be the case (that is wasn't a keyboard problem), but wasn't sure. Yes, I will be at the fest, see you there! -Bill- #: 17921 S10/OS9/6809 (CoCo) 15-Apr-93 17:51:44 Sb: MultiVue Fm: Brother Jeremy, CSJW 76477,142 To: All Dear Friends: I am posting this with the permission of Boisy Pitre. 73907 6-APR 20:33 Applications (6809) MultiVue patches From: BOISY To: ALL I installed the GShell32 patches to GShell -- wow, Multivue has never been so nice! I've been running it for two days now without a crash, plus running StG BBS, and opening windows like mad.... I did have to manually patch the new GShell to use the new GRFDRV for faster PUTs on an 80x24 screen. My two questions: (1) Where do I patch GShell to obtain similar speeds on the 320x192 screen? (2) Kent Meyers told me once that he had patched GShell so that icons on an 80x24 window would be twice as wide, thus preserving the proportional size of the icon (icons on 80x24 screens look narrow as apposed to 40x24) Does anyone have this patch and would share it?/ With all best wishes, Br. Jeremy, CSJW #: 17923 S12/OS9/68000 (OSK) 16-Apr-93 00:45:14 Sb: #17606-#Basic Error 200 Fm: Tony Elliott 71645,1367 To: Kevin Darling 76703,4227 (X) Kevin, I havn't worked it out yet. But it is true, there is a recursive process going on here. There IS a CLOSE to the path, which we have pretty much determined is the printer (since we believe we do not get the error if we are writing to a file). It's a puzzle! By the by... just set up a FHL KiX-30 (a/k/a Hazelwood EK-30). It's a real screamer compared to the old Uniquad-20 with 12 users! Are there other users on this board? Final thought... where is the un-archive utility in the CIS library for files with the .AR extension. I know there is a specific version to be used by this forum now. Can't seem to find which LIb it's in. Tnx for the repy, and sorry to take so long to respond. I can't believe it has been over a month since I had been on! Happy tax day! Tony There is 1 Reply. #: 17926 S12/OS9/68000 (OSK) 16-Apr-93 21:32:46 Sb: #17923-Basic Error 200 Fm: Kevin Darling 76703,4227 To: Tony Elliott 71645,1367 Tony - see AR.DOC and AR68.BIN in Library 9. Yah, weird about the path thingie! -kev #: 17896 S12/OS9/68000 (OSK) 12-Apr-93 02:52:35 Sb: #17892-#C_error_help Fm: Mark Griffith 76070,41 To: LARRY OLSON 72227,3467 (X) Larry, > I was able to bring the following down: > Init. data off: #72474 #69992 > Data ref. off: #76344 #73858 > > The program now compiles without the Value Out of Range error !! > For some reason, the problem is tied into the size of the program. Sounds like something in the linker. Let me give you an example. I have a library function that issues a BREAK on the modem port. This is the code: send_break() { if (_ss_sbreak(mp) < 0) #asm I$SetStt equ $008E ; 8f is get _ss_sbreak: link a5,#0 movem.l D1/D2/A0,-(A7) move.l D1,D2 move.w #SS_Break,D1 os9 I$SetStt bra _sysret } Notice the bra _sysret call. Sysret is located in the sys.l library. If the program is very large, over 32K, and the location of the break function is at the beginning, when I link in sys.l, I will get an error if the location of _sysret is greater than 32K from where it was called. I am not good enough at OSK assembler to fix this problem. So for now, I just make sure I put the break function at the end of the program source file, and then link sys.l first (if I can). I belive you might be having the same trouble. Perhaps someone else here can shed some more light on these problems. /************* /\/\ark ************/ There are 2 Replies. #: 17898 S12/OS9/68000 (OSK) 12-Apr-93 17:25:06 Sb: #17896-#C_error_help Fm: LARRY OLSON 72227,3467 To: Mark Griffith 76070,41 (X) Mark, That sounds like what I ran into. When looking at the assemble code generated, the error was pointing at the second statement in the program. P_id - getpid(); Wpath2 = open("/w", 3); <-- This is where the error came in The code was: moveq.l #3,d1 :2 lea_64(pc),a0 <-- Here is the VALUE OUT OF RANGE ERROR move.l a0,d0 :2 bsr open The only other possibility I could think of was the fact that Wpath2 would be the last variable name, if the names were sorted, and it for some reason was out of range when linking. I think I will be running into the error again as I add more to the program, and if I do, I will try renaming the variable, and see if the error transfers to the new last in line variable. larry There are 2 Replies. #: 17908 S12/OS9/68000 (OSK) 14-Apr-93 04:14:44 Sb: #17898-#C_error_help Fm: Mark Griffith 76070,41 To: LARRY OLSON 72227,3467 (X) Larry, > Wpath2 = open("/w", 3); <-- This is where the error came in > > The code was: > moveq.l #3,d1 :2 > > lea_64(pc),a0 <-- Here is the VALUE OUT OF RANGE ERROR > move.l a0,d0 :2 > bsr open This is very strange. I don't see any reason for the compiler to put out code like this. How is Wpath2 defined? /************* /\/\ark ************/ There are 2 Replies. #: 17910 S12/OS9/68000 (OSK) 14-Apr-93 08:01:17 Sb: #17908-#C_error_help Fm: Bill Dickhaus 70325,523 To: Mark Griffith 76070,41 (X) Mark, It looks like Larry left some of the code out, but I don't see anything really strange about it (other than its 68K code, I'm still not used to it yet :-) > lea _64(pc),a0 <-- Here is the VALUE OUT OF RANGE ERROR This IS the problem, assuming that _64 is the label of the "/w" constant, since the compiler always puts string constants at the end of the module. -Bill- There is 1 Reply. #: 17925 S12/OS9/68000 (OSK) 16-Apr-93 06:06:35 Sb: #17910-C_error_help Fm: Mark Griffith 76070,41 To: Bill Dickhaus 70325,523 (X) Bill, > > lea _64(pc),a0 <-- Here is the VALUE OUT OF RANGE ERROR > > This IS the problem, assuming that _64 is the label of the "/w" constant, > since the compiler always puts string constants at the end of the module. I guess that his program then is much larger than 32K, so the string constants can't be reached. Perhaps he can fix this by defining the constants as a variable? Strange I never ran into this, but then the largest program I've done is Sterm and it is only 54K. /************* /\/\ark ************/ #: 17918 S12/OS9/68000 (OSK) 15-Apr-93 00:00:18 Sb: #17908-C_error_help Fm: LARRY OLSON 72227,3467 To: Mark Griffith 76070,41 (X) Mark, Wpath2 was defined as an integer, then used : Wpath2 = open("/w", 3); Did that file I sent you come through ok ? larry #: 17911 S12/OS9/68000 (OSK) 14-Apr-93 08:02:13 Sb: #17898-#C_error_help Fm: Bill Dickhaus 70325,523 To: LARRY OLSON 72227,3467 (X) Larry, > lea _64(pc),a0 <-- Here is the VALUE OUT OF RANGE ERROR This is the problem, and it has nothing to do with variables. If you look toward the end of the assembler code, I think you will find that _64 is the label of the "/w" constant. This instruction puts the address of that constant in a0. The problem is that the compiler puts all string constants (like "/w") at the end of the module, there is no way to get around this (that I know of) other than make the modules smaller. As soon as you add more code, it will push the constants beyond the 64K limit, and this will happen again. I strongly suggest that you take the time now to learn how to use the linker and make. It will actually save you time, as you won't be compiling one large module each time you make a change. I'd be happy to provide some sample make files, and there are pleny of people around to help out. Once you learn how to use make, and the linker, you will never go back :-) -Bill- There is 1 Reply. #: 17919 S12/OS9/68000 (OSK) 15-Apr-93 00:11:27 Sb: #17911-C_error_help Fm: LARRY OLSON 72227,3467 To: Bill Dickhaus 70325,523 (X) Bill, It definently sounds like that is the problem. When I went through and did some cleanup and pared the program down some, the error went away. It looks like I will have to dig into using the linker. Its funny but I had no problem using the RMA assembler and linker on the CoCo, but I can't get a handle on the linker for C. But I will try... So individual modules can't be greater than 64k, but you can link any number of 64k modules together(within system limits) ? Thanks Bill larry #: 17899 S12/OS9/68000 (OSK) 12-Apr-93 19:25:57 Sb: #17896-#C_error_help Fm: Bob van der Poel 76510,2203 To: Mark Griffith 76070,41 (X) Mark, The 68000 can only have bra and bsr in a 32K max offset (the 68020, etc) can manage a 32bit offset). The linker is supposed to generate an entry in a jump table for branches out of reach. A bra.w is converted to a jmp by the linker. Could be that since you have coded the routine in asm that the linker is missing the call? There are 2 Replies. #: 17901 S12/OS9/68000 (OSK) 13-Apr-93 00:07:23 Sb: #17899-#C_error_help Fm: LARRY OLSON 72227,3467 To: Bob van der Poel 76510,2203 (X) Bob, The routine was written in C, not asm. In the process of compiling the program, during the r68 pass, a ** value out of range ** error popped up. The error was reported as such: Value out of range lea_64(pc),a0 ^ So I recompiledthe file using the -a option, in order to see the asm code that was generated and where the error was. That short bit of asm code, is what was produced by the compiler. larry There is 1 Reply. #: 17914 S12/OS9/68000 (OSK) 14-Apr-93 20:06:53 Sb: #17901-#C_error_help Fm: Bob van der Poel 76510,2203 To: LARRY OLSON 72227,3467 (X) Just thinking out loud...I wonder if the assembler/linker can handle calls past +/- 32K only if the dest. is in another file? If the problem comes up during the assembly then the assembler will report the branch error. If it just sticks in a label for the linker to worry about, the linker will create the jump table. Seems to be one more reason for breaking up programs into smaller segments. There is 1 Reply. #: 17920 S12/OS9/68000 (OSK) 15-Apr-93 00:22:01 Sb: #17914-C_error_help Fm: LARRY OLSON 72227,3467 To: Bob van der Poel 76510,2203 (X) Bob, Yes, it looks like its unanimous, I need to learn how to use the linker. The only problem I have now is that When I started writing this program I had no idea that it would get this large, so I didn't give any thought to breaking it up. I'll have to see what I can break up. larry #: 17909 S12/OS9/68000 (OSK) 14-Apr-93 04:14:57 Sb: #17899-C_error_help Fm: Mark Griffith 76070,41 To: Bob van der Poel 76510,2203 (X) Bob, > The linker is supposed to generate an entry in a jump > table for branches out of reach. > Could be that since you have coded the routine in asm that the linker is > missing the call? That sounds like a reasonable guess. In any case, in my example, it is not possible to do that (make it a jmp) and still have it work correctly. Perhaps someone else can come up with a better solution. /************* /\/\ark ************/ #: 17894 S12/OS9/68000 (OSK) 11-Apr-93 19:16:09 Sb: #MM/1 disasm Fm: Bob van der Poel 76510,2203 To: all I've been wasting a bit of my time looking at disasms of some of the mm/1 system code. I'm confused by the way some of the ports are addressed. For example, I see stuff like: move.b $9ffc01,d0 Which, I know, means to move a byte from $9ffc01 to register d0. However, are not all the ports addressed at EVEN memory addresses? Don't know why I figure that...I just figured it. So, assuming that there is a device with its base addresses at $9ffc00, just what is at $9ffc01? BTW, the mm/1 tech man suggests that the MC68901 on the main board is at $9ffc00. I must be missing some important hardware concept! There are 2 Replies. #: 17902 S12/OS9/68000 (OSK) 13-Apr-93 04:06:21 Sb: #17894-MM/1 disasm Fm: Mark Griffith 76070,41 To: Bob van der Poel 76510,2203 (X) Bob, > I'm confused by the way some of the ports are addressed. For > example, I see stuff like: > > move.b $9ffc01,d0 > > So, assuming that there is a device with its base addresses at $9ffc00, just > what is at $9ffc01? BTW, the mm/1 tech man suggests that the MC68901 on the > main board is at $9ffc00. That address is where the 68901 on the mother (CPU) board is. The base address is indeed $9FFC00 and the offset of 1 points to the general purpose data register of that chip. Here are some offsets for you: /* define base addresses of I/O chips */ #define SIG_070S 80002011 /* serial port t0 */ #define MOT_901a 10484736 /* serial port t0 and t1 */ #define MOT_901b 14680960 /* serial port t2 */ #define MOT_681 14680704 /* serial ports t3 and t4 */ #define MOT_230 14680448 /* parallel ports */ #define WD33C65 10484929 /* WD33C65 floppy cntlr */ #define RTC 14680577 /* DS1287 Real Time Clock */ /* define offsets for the 68901 register map */ #define GPDR_901a (u_char *)(MOT_901a + 1) /* gen purp data reg */ #define DDR_901a (u_char *)(MOT_901a + 5) /* data direction reg */ #define UCR_901a (u_char *)(MOT_901a + 41) /* USART control reg */ #define RSR_901a (u_char *)(MOT_901a + 43) /* Recvr status reg */ #define TSR_901a (u_char *)(MOT_901a + 45) /* Trans status reg */ #define UDR_901a (u_char *)(MOT_901a + 47) /* USART data reg */ Hope this helps you figure it all out. /************* /\/\ark ************/ #: 17904 S12/OS9/68000 (OSK) 13-Apr-93 17:27:15 Sb: #17894-MM/1 disasm Fm: ole hansen 100016,3417 To: Bob van der Poel 76510,2203 (X) Hello Bob The reason why you use 'odd'-addresses and not 'even'addresses is the way the 68000 cpu is connected to the DATA-BUS. If you use move.w $10000,d0, bit d15-d8 will be read from $10000 and d7-d0 will be read from $10001, so if you only read a byte from an I/O-chip like MC68901, which is an 8-bit device, you need to access it via 'odd'-addresses, otherwise you are likely to get an 'error-102' or 'garbage'. If you need to access several register in 'one go', you can use the MOVEP.L instruction. It will read/write 4-bytes on every second-address from base-address. Example: MOVEP.L d0,$ffa001 will write 1 byte at $ffa001 and 1 at $ffa003 and 1 at $ffa005 and one at $ffa007. regards ole@danelec.dk #: 17895 S12/OS9/68000 (OSK) 11-Apr-93 22:43:07 Sb: #login Fm: Bob van der Poel 76510,2203 To: all I've been setting up my system to use login, instead of just booting with a startup file. I have got tsmon running from startup to monitor the terminal posts. This works fine. However, I would like to force anyone just turning on the computer to go though login as well. I can do this by sticking a login command in the startup file...however, everything past the command gets ignored. Since, I want to set up some extra windows...this is not good. I can't set the windows first; that would eliminate the security of login. Seems that I am in a catch-22 situation. Next, I figured that I'd give each user his own directory. And to make it hard for other users to examine the files of others I also figured I'd set the access permissions of the directories to prevent public read/write. No good. The first thing login does is try to chd to the directory. But, if the directory does NOT have public read/write then it can't do so. Frankly, this doesn't make sense to me since login is running in superuser mode. Is there a way around this one? There are 2 Replies. #: 17903 S12/OS9/68000 (OSK) 13-Apr-93 05:32:43 Sb: #17895-#login Fm: Steve Wegert 76703,4255 To: Bob van der Poel 76510,2203 (X) Bob, I've got my system set up for dialup operation. All my users have they own directory space with owner read/write/execute permissions set only. Things work just dandy. What type of errors are you getting? *- Steve -* There is 1 Reply. #: 17915 S12/OS9/68000 (OSK) 14-Apr-93 20:07:01 Sb: #17903-#login Fm: Bob van der Poel 76510,2203 To: Steve Wegert 76703,4255 (X) More on the read/write attrs. Here is a password file entry: steve,secret,3.3,128,.,/dd/usr/steve,shell In /dd/usr/steve I have a .login file. If the directory "steve" is set with all the permissions all works file (motd is displayed, and the .login file is processed). However, if I just set owner permissions in "steve" then motd is displayed -- but I then get the message "login: can't chd to /dd/usr/steve". There is 1 Reply. #: 17924 S12/OS9/68000 (OSK) 16-Apr-93 05:33:20 Sb: #17915-login Fm: Steve Wegert 76703,4255 To: Bob van der Poel 76510,2203 (X) > More on the read/write attrs. Here is a password file entry: > > steve,secret,3.3,128,.,/dd/usr/steve,shell > > In /dd/usr/steve I have a .login file. If the directory "steve" is set with > all the permissions all works file (motd is displayed, and the .login file is > processed). However, if I just set owner permissions in "steve" then motd is > displayed -- but I then get the message "login: can't chd to /dd/usr/steve". > My entries are similar with one exception. I call out the path to the cmds directory. So where you've just a dot, I've got /dd/cmds. I don't know if this is significant, (no manuals), but give it a try and see what happens. *- Steve -* #: 17905 S12/OS9/68000 (OSK) 13-Apr-93 17:35:21 Sb: #17895-login Fm: ole hansen 100016,3417 To: Bob van der Poel 76510,2203 (X) Hello Bob The best solution for your first problem is to make a 'new' sysgo, which does not 'fork' shell after execution of 'startup', but instead fork 'tsmon' on your 'console' or just 'login' on your 'console'. Your second problem is related to 'ALWAYS WANT TO BE SUPERUSER'. NON-superuser users will have normal protection between access to other users files. regards ole@adanelec.dk #: 17907 S12/OS9/68000 (OSK) 14-Apr-93 00:59:39 Sb: #TCP/IP Fm: Chris Piedmonte 71730,1274 To: Sysop (X) I hope someone here (or at Microware) can be of some help. I have a client that has two GESPAC 68030 based OS-9 systems that are running on an ethernet network. They appear to be using sockman, ifman, inet, tcp,, udp and the like with file dates from around 10/90 to 11/91. They are not attempting to connect the systems to a PC running Windows and the TCP/IP package from Distinct Software. Unfortunately, they are not having a lot of success. They apparently cannot locate the internet address for their OS-9 systems, nor can they get any of Distinct's utilities to be of help. For the most part, they know little to nothing about their OS-9 system, and the original vendor is no longer available/or interested. Can anybody suggest a course of action to get their PCs talking to their OS-9 system using TCP/IP and FTP? Thanks, Chris Piedmonte Eagle Creek Systems There is 1 Reply. #: 17917 S12/OS9/68000 (OSK) 14-Apr-93 23:29:31 Sb: #17907-TCP/IP Fm: Pete Lyall 76703,4230 To: Chris Piedmonte 71730,1274 The internet addresses are usually in /dd/inet/etc/hosts... Pete #: 17922 S12/OS9/68000 (OSK) 15-Apr-93 19:09:21 Sb: login Fm: Bob van der Poel 76510,2203 To: all Any HP Laser Jet experts out there? I just got an Epson Laser printer and am trying to learn the PCL language...it's never as easy as it seems. I have the Epson "manual" and a couple of books on the subject. I was trying to set the page size and got real confused, real fast. The Epson manual just lists the sizes available for the "ESC & l # A" command--it doesn't bother to list the values needed for the different sizes. However, I have a book on the PCL language (The Laserjet Handbook, Bennett & Randall, Brady) and it does list them. For example, the book clearly states that a parameter of "6" will select Commercial 10 (envelope) size. Of course, this doesn't work (If all this worked, then what would we need CIS for...hmmm, is there a conspiracy?). I grabbed a few programs for lasers off the UNIX forum...and one one of them sets the printer properly....but it uses a param of "81" for C10 env. This program has a few other values...but it is not complete. I started just sending test values out to the printer...but having to constantly turn the sucker off line and then wade through the "easy to use" panel display gets real old, real fast. So, either I'm missing the logic of sending a "81" when a "6" is called for (I fail to see the relationship), or the book I have is lying, or... Anyone happen to have a table of sizes and params. This is not a big deal in itself...but I have the feeling if I can't even set the paper size from the computer, I'm going to have even more frustrations when it comes to other goodies. Press !>