Re: corrupt zip files
On Sun, 6 May 2012 12:40:29 -0500, Bill Godfrey wrote: >On Sat, 5 May 2012 08:54:52 -0500, Paul Edwards wrote: > >Most likely the original byte was x'14' which is also quite common in this > location in zip files. In code page 437 and its cousins, x'14' is the > paragraph sign. In iso9959-1 and many of its cousins, x'b6' is the > same paragraph sign. In 437, x'15' is the section symbol. In > iso8859-1, x'a7' is the same section symbol. Your occurrence counts > show there are no x'14' or x'15', but among the few characters > occurring above x'7f' are x'b6' and x'a7'. I would guess that at least > two separate things happened to the file at different times. First, > all the high-order bits were turned off. Later, a translation was > done as if the data was presumed to be in code page 437, which > converted x'14' and x'15' to x'b6' and x'a7', resulting in some > values having the high-order bit set. Something else happened, > either at the same time or not, that changed a few other characters > to other values that have the high-order bit set, for which I have > no explanation. Thanks Bill. That is the best "working theory" I have seen to date. Unfortunately it doesn't look like I will be provided an opportunity to get to the bottom of this, because the person who sent it has already sent a proper replacement, and is not interested beyond that. BFN. Paul. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
corrupt zip files
I have a zip file that appears to have been produced using pkzip for z/OS. However, it looks like it has been transmitted using some sort of text protocol, because the high bit has been stripped from most bytes, and some other bytes appear to have been translated. e.g. I think x'0a' in the input file has been mangled to x'b6' on the way. Does anyone know what software would do a translation like that? I believe these characters: > 0A 1060 > 0D 0 > 12 1044 > 14 0 > 15 0 > 1C 0 > 1E 0 > 24 1030 > 7F 0 are being mapped to these: > 81 576 > 9C 361 > A7 645 > B6 527 > BF 284 > E0 249 > E9 644 > F2 718 Except for x'0d' which I think is just being deleted. This belief comes from counting (see below) occurrences of the various bytes in a largish (80k) file. Here is a small file that shows the problem: 00 504B0304 B6000600 08006455 22405746 PKdU"@WF That x'b6' above should be x'0a' I think (that's more normal). Apparently some protocol doesn't think that x'0a' will make it through, so translates it in advance. 10 30447A00 2802 0800 5851 0Dz...(...XQ 20 46303130 38313510 310A4330 0C447740 F010815.1.C0.Dw@ ... A0 504B0102 780BB600 06000800 64552240 PK..x...dU"@ B0 57463044 7A00 2802 08003401 WF0Dz...(.4. C0 0100 5851 ..XQ D0 46303130 38316500 30016973 7976 F01081e.0.isyp.. This x'69737970' is really (once high bit is added back) x'E9F3F9F0' ie 'Z390' ie something that pkzip for z/OS inserts. E0 00014000 00050002 1600 04022800 ..@...(. F0 06005C00 08000700 0501 00070006 ..\. 000100 4B00 05000740 004B 00064462 ..K@.@Db 000110 52707073 40404040 40404040 40404040 Rpps 000120 40404040 40404040 40400A @@. Does anyone have any idea what protocol (ftp, sftp, winscp, kermit, connect:direct, http) would affect data in this manner? I've never seen mangling like that before. Thanks. Paul. 00 594 01 698 02 740 03 488 04 749 05 697 06 536 07 526 08 545 09 854 0A 1060 0B 597 0C 641 0D 0 0E 608 0F 639 10 817 11 679 12 1044 13 641 14 0 15 0 16 621 17 533 18 554 19 611 1A 517 1B 555 1C 0 1D 612 1E 0 1F 639 20 731 21 592 22 607 23 549 24 1030 25 546 26 565 27 618 28 490 29 602 2A 436 2B 684 2C 629 2D 706 2E 589 2F 667 30 547 31 815 32 670 33 530 34 569 35 598 36 570 37 619 38 723 39 572 3A 508 3B 626 3C 676 3D 626 3E 615 3F 621 40 687 41 598 42 636 43 557 44 752 45 579 46 645 47 813 48 849 49 837 4A 617 4B 563 4C 587 4D 532 4E 618 4F 705 50 538 51 541 52 553 53 573 54 467 55 416 56 653 57 681 58 727 59 599 5A 560 5B 344 5C 611 5D 293 5E 663 5F 552 60 578 61 562 62 608 63 814 64 649 65 711 66 515 67 660 68 484 69 506 6A 528 6B 627 6C 773 6D 646 6E 627 6F 599 70 602 71 657 72 636 73 620 74 521 75 516 76 732 77 631 78 596 79 715 7A 551 7B 718 7C 621 7D 606 7E 630 7F 0 80 0 81 576 82 0 83 0 84 0 85 0 86 0 87 0 88 0 89 0 8A 0 8B 0 8C 0 8D 0 8E 0 8F 0 90 0 91 0 92 0 93 0 94 0 95 0 96 0 97 0 98 0 99 0 9A 0 9B 0 9C 361 9D 0 9E 0 9F 0 A0 0 A1 0 A2 0 A3 0 A4 0 A5 0 A6 0 A7 645 A8 0 A9 0 AA 0 AB 0 AC 0 AD 0 AE 0 AF 0 B0 0 B1 0 B2 0 B3 0 B4 0 B5 0 B6 527 B7 0 B8 0 B9 0 BA 0 BB 0 BC 0 BD 0 BE 0 BF 284 C0 0 C1 0 C2 0 C3 0 C4 0 C5 0 C6 0 C7 0 C8 0 C9 0 CA 0 CB 0 CC 0 CD 0 CE 0 CF 0 D0 0 D1 0 D2 0 D3 0 D4 0 D5 0 D6 0 D7 0 D8 0 D9 0 DA 0 DB 0 DC 0 DD 0 DE 0 DF 0 E0 249 E1 0 E2 0 E3 0 E4 0 E5 0 E6 0 E7 0 E8 0 E9 644 EA 0 EB 0 EC 0 ED 0 EE 0 EF 0 F0 0 F1 0 F2 718 F3 0 F4 0 F5 0 F6 0 F7 0 F8 0 F9 0 FA 0 FB 0 FC 0 FD 0 FE 0 FF 0 -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: gcc (was: CBT Tape Version 482 has been cut)
> I see about 12 MB and 14 MB zipped, respectively. "very large" > more by OS/360 standards than by current-day laptop. How large > unzipped and installed? About 100 MB. >> enable anyone with an MVS system, new or old, to compile and execute > Does "new or" mean they're well tested on z/OS? z/OS is the primary target, and that's why it is distributed as an XMIT instead of a HET. It gets used and tested on z/OS, but development is mostly done on MVS/380. > Are they Unix System Services-friendly (source, header, and > object files)? GCCMVS is for MVS, not USS, and I don't know much about USS. However, Dave Pitts distributes something for USS. > Are they GNU autoconf-friendly? I don't know what that entails. > Are they, at least optionally, ASCII-friendly? (I.e. what does > the preprocessor do for "#if '0' == 48"? z/OS C/C++ has at > least an ASCII mode in which cpp says, "yes". But the runtime > libraries are incomplete.) There is much open-source software > available which is difficult to deal with because of EBCDIC- > centric compilers. An enormous effort has been made by multiple people in order to turn GCC into what you may call an EBCDIC-centric compiler. > What runtime libraries are available? X11? Curses? Sockets? > Others? Only the C standard library is provided. > LE? Dave Pitts distributes something for that, but I'm not really familiar with that. My focus has been on ensuring that the basic compiler is able to be hosted on a pure MVS environment (not USS), and that it has a suitable C runtime library that conforms to the MVS rules so that you can write utilities, and that GCC should be one of those utilities, to allow for self-improvement. Actually my main interest is in improving the C runtime library. BFN. Paul. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: BCPii code
On Wed, 29 Dec 2010 11:11:10 -0600, Paul Gilmartin wrote: >>How about a Public Domain C90 compiler? The compiler itself is freeware rather than PD. The C library is PD. I guess most people won't know/care about the distinction though. >> http://gccmvs.sourceforge.net/ >> >From the discussion on that page, it appears to be mostly >MVS 3.8 oriented. Given the effort that goes into making the package totally 31-bit clean for z/OS, I was surprised by this, and read the website, and have now updated it to try to make it clearer that z/OS is the primary target, and that MVS 3.8 (actually, I use MVS/380 for 31-bit) is (sort of) merely a means to that end. >o Will it compile the samples in OA31731? Don't know. Do the samples conform to ISO/IEC 9899:1990? If so, yes. The samples aren't available for anonymous download. >o Is it Unix System Services-friendly? Not the one I produce. It's MVS, not USS. There is an LE/370 target though if you rebuild from source. I don't know much about that though - Dave Pitts was the one who used the LE target. BFN. Paul. P.S. Sorry to hear about your economy drive, but that's the exact void that GCCMVS is designed to fill (ditto for CMS or VSE sites that struggle to cost-justify a compiler). -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
PDOS/390
I've just uploaded a new version of PDOS/390 here: http://sourceforge.net/projects/pdos/files/pdos/pdos-stage67.zip/download This beta is far better than previous betas, and is actually good enough to allow GCC to self-compile under it. Obviously there's still a lot lacking, but that is at least one real-world task that PDOS/390 can do. And it does it with the natural filenames that GCC uses by default too. A lot of people downloaded the previous beta, but no reports of anyone successfully using it on real iron. It should be in with a shot at working on real iron so long as a telnet connection is used (ie it doesn't support 3270 currently). BFN. Paul. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: PDOS/390
On Sun, 3 Oct 2010 09:35:34 -0500, Shmuel Metz (Seymour J.) wrote: >In , on 09/26/2010 > at 10:01 AM, Paul Edwards said: > >>2. This writes to a 3215 console (only), not 3270 - do >>real machines typically have PC emulators attached >>that can be made to emulate 3215? > >No. Real machines had 1052-7, 3210 and 3215 devices back when they >were part of the operators' console, but once IBM switched to a 3270 >interface they became much less common, and they were probably dead >long before the HMC came on the scene. I have been told that telnet is effectively TN3215, even though it's not called that. Regardless, my app is doing a CCW x'09' (write with automatic carriage return and CCW x'0A' (read inquiry). I don't know what magic happens after the x'09' CCW is executed, but surely a PC can handle this basic line mode communication in lieu of the 3270 sophistication? BFN. Paul. P.S. some miscellaneous output from latest development ... rem this is an example autoexec.bat dir echo about to run world world aBc DeF echo finished running world echo dumpblk 0 1 1 02:36:15 welcome to pcomm 02:36:15 pcomm is calling dir 02:36:15 SVC code is 120 02:36:15 SVC code is 42 02:36:15 got request to run DIR 02:36:15 parameter string is 0 bytes 02:36:15 PLOAD.SYS 02:36:15 PDOS.SYS 02:36:15 CONFIG.SYS 02:36:15 COMMAND.EXE 02:36:15 AUTOEXEC.BAT 02:36:15 WORLD.EXE 02:36:15 SVC code is 1 02:36:15 SVC code is 62 SVC code is 10 welcome to my world argc = 3 arg 0 is <> arg 1 is arg 2 is looping for a while finished looping SVC code is 10 SVC code is 120 SVC code is 120 SVC code is 20 SVC code is 120 SVC code is 10 SVC code is 10 SVC code is 120 SVC code is 120 SVC code is 20 SVC code is 120 SVC code is 10 SVC code is 10 SVC code is 120 SVC code is 120 SVC code is 20 SVC code is 120 SVC code is 10 SVC code is 120 SVC code is 120 SVC code is 3 SVC code is 1 SVC code is 62 SVC code is 10 rc from program is 5 finished running world dumping cylinder 0, head 1, record 1 00 000C 8400 10 20 ... 0003B0 0003C0 0003D0 0003E0 0003F0 000400 05C006C0 06C0D207 0078C058 D2070070 .{.{.{K...{.K... 000410 C060D207 0060C068 D2070068 C0701FAA {-K..-{.K...{... 000420 BFAF00B8 4130C078 50300048 4141 ..{.& .. 000430 5850C048 4161 4172 9C00A000 .&{..-.. 000440 8200C050 4814 b.{& 000450 020E 000C 84A4 ...u 000460 000E 0111 000E 0222 000470 000E 0333 07000498 4006 ...q ... 000480 3100049E 4005 08000480 ... 000490 06004814 20007FFF 0001 ..". 0004A0 00010200 5A50C120 BE57C091 41770001 !&A...{j 0004B0 5970C124 4740C0C0 4171 41660001 ..A.. {{ 0004C0 4270C0A2 BE63C09C BE63C0A0 41440001 ..{s..{...{. 0004D0 5940C128 4720C0E0 9C00A000 8200C050 . A...{\b.{& 0004E0 8200C0E8 000C 84F8 b.{Y...8 0004F0 000E 0444 58D0C12C 4120 .}A. 000500 502D0004 182D5A20 C130502D 004C4110 &.!.A.&..<.. 000510 C13858F0 C13405EF 8200C0F0 A..0A...b.{0 000520 4814 0004 0028 0008 000530 0078 0800 053C 000540 0004 0010 D7C4D7C3 D3C9C25A PDPCLIB! 000550 000560 000570 000580 000590 0005A0 ... 0007C0 0007D0 0007E0 0007F0 E9C1D7C3 D6D5E2D3 ZAPCONSL 000800 47F0F00C 067C7CC3 D9E3F000 90ECD00C .00..@@CRT0...}. 000810 18CF58FD 004C50DF 000450FD 000818DF .<&...&. 000820 5AF0C030 50FD004C 47F0C034 !0{.&..<.0{. 000830 0078 05C018B1 41CC 4120 .{.. 000840 5020D048 4120D130 5020D04C 4170D068 &.}...J.&.}<..}. 000850 50E0D068 5830C0BA 1A235027 000C4120 &\}...{...&. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
PDOS/390
I have uploaded the latest alpha of my operating system PDOS/390 to here: https://sourceforge.net/projects/pdos/files/pdos/pdos-stage36.zip/download This is the real bit: Directory of C:\devel\pdos\s370 26/09/2010 07:28 PM 231,236 pdos00.199 which is a 3390-1 disk image for use under Hercules. There's a readme.txt in the same place (reproduced below). I am interested in the following: 1. Does this work on real hardware? ie real S/390,z10 or whatever. 2. This writes to a 3215 console (only), not 3270 - do real machines typically have PC emulators attached that can be made to emulate 3215? 3. Could someone make available an uncompressed DFDSS physical dump of this data so that Gerhard's DSSDUMP can be updated? 4. What transfer mechanisms really work for getting this data onto a real box? Thanks. Paul. Welcome to PDOS/390 (and friends). This distribution comes with the PDOS operating system installed on a 3390. You will need to dump the 3390-1 disk image (pdos00.199), restore it to a real 3390, then zap the SYS1.PDOS dataset at location 7FC. Note that there is an eyecatcher "ZAPCONSL" just before the location. 0007E0 E9C1D7C3 D6D5E2D3 *ZAPCONSL* 000800 47F0F00C 067C7CC3 D9E3F000 90ECD00C 18CF58FD 004C50DF 000450FD 000818DF *.00..@@CRT0..<&...&.* The following JCL will do that: //ZAP JOB CLASS=C,REGION=0K //* //* zap a dataset //* //ZAP EXEC PGM=IMASPZAP //SYSPRINT DD SYSOUT=* //SYSLIB DD DSN=SYS1.PDOS,DISP=SHR,UNIT=SYSALLDA,VOL=SER=PDOS00 //SYSINDD * CCHHR 000101 VER 07FC REP 07FC 00010038 ABSDUMPT ALL /* //* // (the example sets the subchannel to x'10038') Options for dumping the data would be to run ADRDSSU on a Hercules system running z/OS, or there is also a CCKDDUMP/CCKDLOAD. I've never actually used either, as I don't have access to a real system. I'm hoping that DSSDUMP can also be enhanced to do a physical dump, but at time of writing, Gerhard is waiting on some sample dumps to be made available. Maybe dumping this data (uncompressed) with ADRDSSU would give him what he needs. Note that PDOS is expecting the console to be a 3215, not a 3270. Since real sites are expected to be using a PC emulator of some description, or perhaps telnet, it is unclear whether it is possible to get this to work in the real world, even assuming some of the programming shortcuts (ie not checking for device errors) work in the real world. Here is an example of how to define the disk under Hercules: 01b9 3390 dasd/pdos00.199 Although all the source code for PDOS is provided, the build script (doit.bat) makes use of some separately-packaged utilities. Also note that pdptop.mac is copied from pdp390.mac. Note that currently PDOS is only designed to load a single load module (PCOMM) and then terminate (which eventuates in a wait code of 444). PCOMM is a normal MVS load module doing normal MVS calls, but PDOS only supports a fraction of normal MVS calls (it's still in design/proof-of-concept stage, basically). Support/feedback can be obtained here: http://tech.groups.yahoo.com/group/hercules-os380/ -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
PDOS/380
Using Hercules/380, I have created a PDOS/380, intended to run MVS executables, under an interface more like MSDOS. It has 24-bit and 31-bit flavours. Main code consists of ... 500 lines of C ... http://pdos.cvs.sourceforge.net/viewvc/pdos/pdos/s370/pdos.c?view=markup and 300 lines of assembler ... http://pdos.cvs.sourceforge.net/viewvc/pdos/pdos/s370/pdossup.asm? view=markup Other code to support stand-alone programs is in PDPCLIB. It is working (see below) as far as proof of concept is concerned. If anyone would like to provide input into the design, now would be the best time, as it will get stuck in stone before too long. BFN. Paul. 22:40:33 * MSG FROM HERCULES: Welcome to PDOS!!! 22:40:33 * MSG FROM HERCULES: IPL device is 1b9 22:40:33 * MSG FROM HERCULES: PCOMM should reside on cylinder 2, head 0 of IPL device 22:40:33 * MSG FROM HERCULES: SVC code is 120 22:40:33 * MSG FROM HERCULES: SVC code is 120 22:40:33 * MSG FROM HERCULES: SVC code is 10 22:40:33 * MSG FROM HERCULES: SVC code is 120 22:40:33 * MSG FROM HERCULES: SVC code is 24 22:40:33 * MSG FROM HERCULES: SVC code is 64 22:40:33 * MSG FROM HERCULES: SVC code is 27 22:40:33 * MSG FROM HERCULES: SVC code is 22 22:40:33 * MSG FROM HERCULES: SVC code is 120 22:40:33 * MSG FROM HERCULES: SVC code is 120 22:40:33 * MSG FROM HERCULES: SVC code is 10 22:40:33 * MSG FROM HERCULES: SVC code is 10 22:40:33 * MSG FROM HERCULES: SVC code is 120 22:40:33 * MSG FROM HERCULES: SVC code is 24 22:40:33 * MSG FROM HERCULES: SVC code is 64 22:40:33 * MSG FROM HERCULES: SVC code is 27 22:40:33 * MSG FROM HERCULES: SVC code is 22 22:40:33 * MSG FROM HERCULES: SVC code is 120 22:40:33 * MSG FROM HERCULES: SVC code is 120 22:40:33 * MSG FROM HERCULES: SVC code is 10 22:40:33 * MSG FROM HERCULES: SVC code is 10 22:40:33 * MSG FROM HERCULES: SVC code is 120 22:40:33 * MSG FROM HERCULES: SVC code is 24 22:40:33 * MSG FROM HERCULES: SVC code is 64 22:40:33 * MSG FROM HERCULES: SVC code is 27 22:40:33 * MSG FROM HERCULES: SVC code is 22 22:40:33 * MSG FROM HERCULES: SVC code is 120 22:40:33 * MSG FROM HERCULES: SVC code is 120 22:40:33 * MSG FROM HERCULES: SVC code is 10 22:40:33 * MSG FROM HERCULES: welcome to pcomm 22:40:33 * MSG FROM HERCULES: argc = 3 22:40:33 * MSG FROM HERCULES: arg 0 is <> 22:40:33 * MSG FROM HERCULES: arg 1 is 22:40:33 * MSG FROM HERCULES: arg 2 is 22:40:33 * MSG FROM HERCULES: SVC code is 10 22:40:33 * MSG FROM HERCULES: SVC code is 120 22:40:33 * MSG FROM HERCULES: SVC code is 120 22:40:33 * MSG FROM HERCULES: SVC code is 20 22:40:33 * MSG FROM HERCULES: SVC code is 120 22:40:33 * MSG FROM HERCULES: SVC code is 10 22:40:33 * MSG FROM HERCULES: SVC code is 10 22:40:33 * MSG FROM HERCULES: SVC code is 120 22:40:33 * MSG FROM HERCULES: SVC code is 120 22:40:33 * MSG FROM HERCULES: SVC code is 20 22:40:33 * MSG FROM HERCULES: SVC code is 120 22:40:33 * MSG FROM HERCULES: SVC code is 10 22:40:33 * MSG FROM HERCULES: SVC code is 10 22:40:33 * MSG FROM HERCULES: SVC code is 120 22:40:33 * MSG FROM HERCULES: SVC code is 120 22:40:33 * MSG FROM HERCULES: SVC code is 20 22:40:33 * MSG FROM HERCULES: SVC code is 120 22:40:33 * MSG FROM HERCULES: SVC code is 10 22:40:33 * MSG FROM HERCULES: SVC code is 120 22:40:33 * MSG FROM HERCULES: SVC code is 120 22:40:33 * MSG FROM HERCULES: SVC code is 3 22:40:33 * MSG FROM HERCULES: return from PCOMM is 5 -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: SEASIK 1.0 released
On Wed, 9 Jun 2010 10:48:18 -0400, Gerhard Postpischil wrote: >On 6/9/2010 5:17 AM, Paul Edwards wrote: >> Don't look at me. IBM are the ones who created ftp >> with the RDW option, and I'm not the only user of that. > >You missed one crucial step - you zip the AWS file, and then ftp >that. No, you missed the fact that IBM created a you-beaut ftp with RDW option, specifically for transporting binary VB files, which happens to be the natural form of the data itself (ie before any packaging like zip or XMIT etc is done). > No worry about record format or boundaries, The worry has been transferred into a fairly custom tape-packaging facility. Which, surprise surprise, IBM also doesn't provide a standard utility for on the MVS side. But, at least IBM, via their ftp with RDW option, provides something for one leg of the journey. Hopefully now that they've gone that far, they'll realise there's another leg that isn't currently covered, hence the minimalist custom routine requirement (available from two different people, at least, and very simple to write regardless). You don't need to learn about the AWS tape format in order to write it. > and a >"universal" unzip is available on just about every PC, Mac, and >other workstation these days. That much isn't a problem. >> The only source code that is actually mine, is this one: > >Sorry - if you distribute it, you own it My problem is that >I have online displays to examine files, with scrolling, >updating, etc. that are geared to 80 bytes lines; to support VB >I'd need a complete rewrite, plus horizontal scrolling (perhaps >I'll steal Browse from ETPS?). Just use COPYFILE to copy from VB into FB80 before displaying. It will silently truncate any long lines. >While you may consider 3350s dinosaurs or only fit for them, >that perfectly describes the Hercules/MVS crowd. Very few of them are running without 3390 support. There are more people who will struggle to find a 3350 to restore to. >And PDPCLIB is >only one out of eight (or whatever), so the next one will be >one-eighth in 3390 size Pardon? >BTW, I downloaded Jay's SYSCPK distribution, again with a few >pains. His also lacks decent documentation, but at least some is >on his site. Have you considered, at a minimum, adding a single >PDS with the appropriate man members for each program? With products like SED etc, I only patched them to work on MVS, so am mainly focussed on producing executables. The original archive is available, and contains man pages in whatever format the (e.g.) Unix people decided to put them in, along with examples, known bugs, change logs or whatever. Often these people have made the documentation available on the web too. And there are mailing lists to ask questions about the product, and bug submission sites, and a bug report database. So it wasn't really my intention to get involved in any of that. I do provide documentation just pointing back to the archive that was used, and from there, you can decide what to do. I've never even read it myself. I either learnt from examples from Unix shell scripts, or type in "sed" without parameters to see the usage (ie EXEC PGM=SED,PARM='') or occasionally I do a search of the internet, usually looking for questions from humans, ie "how do I make sed look for a real period instead of treating it as a character substitution". Having said that, if you want to wade through the existing documentation and point to something specific you want to appear in a specific dataset of specific RECFM on MVS, I can add that in. E.g. do you want the sed\doc\sed.1 added to SED.JCL(SED)? Looks like it will fit without truncation. It probably won't look very nice without being filtered through a "man" program though. Is there one of those on MVS or you just want to read the raw file? >I also need to look at BWBASIC - it's not using PDPCLIB, and I Where on earth did you get the idea that it wasn't using PDPCLIB from? There is one unusual thing about BWBASIC though. The author was happy to incorporate all the MVS changes into the official distribution, and made me a developer on the sourceforge project. >need to see how usable their MVS interface is (same problems >with PDS and DCB support). Why am I not surprised you have the same problems? :-) Unless ... You mean you're using an old version of BWBASIC that doesn't have the latest PDPCLIB changes? The restore of SEASIK didn't give you a new version? I didn't package the new version properly? >Have you looked at AFOX00? I noticed you posted the IFOX source >- does that version match our system? I thought it did when I posted it, but now that I'm doing disassemblies, I have found that it doesn't. However
Re: SEASIK 1.0 released
On Mon, 7 Jun 2010 03:11:20 -0400, Gerhard Postpischil wrote: >There's good news and bad news > >I've been trying to restore SEASIK since Friday, with no luck. > >1) There is a design error in DSSREST. When I added the RDW >code, I wrote the code so it only works when the block size is >equal to the sum of the lengths of all RDWs (+4 if there is a >BDW). When I use IND$FILE to restore, I get block boundaries >unrelated to the RDW sizes. I started to fix this, but the code >got more and more complicated, and failed after processing three >thousand blocks. I decided to redo Scott's code to eliminate one >intermediate buffer, and just use the input buffer directly. >That fails on the second block, and I ran out of time. But once >it works it will be faster than the old version. I also fixed >some spelling errors (leng for length). Ok. I use the tape processing facility and block at RDW boundaries naturally. >2) If you weren't such a sadist, I could have had this restored >on Friday. a) Use DSSDUMP to create an AWS or HET tape. b) zip >it. c) ftp or upload to wherever. d) user runs DSSREST against >the tape file and gets all the files. None of this IDCAMS and >special utility crap. For a real mainframe, there is an AWS >conversion utility to create a real tape between steps c) and d). Don't look at me. IBM are the ones who created ftp with the RDW option, and I'm not the only user of that. And the special utility is only required because IBM (again) neglected to provide a facility to reverse that. They will presumably fix that oversight one day. I've seen others complaining about that, and the need for a utility. This process has nothing to do with tapes, so there's no need to force a tape format file into the mix, any more than forcing in a CKD VTOC. > I uploaded a new version of DSSREST as part of the DSSDMP tape. > It's still in 3350 format (I'll change it to 3390 when you > change .SOURCE files to FB/80 ). It restored the SEASIK files > without a hitch, using slightly less memory and time. You've got to stop walking into these things. :-) The only source code that is actually mine, is this one: PDPCLIB.SOURCE SEASIK 10.160 PO FB 80 6160 1414 And you'll notice that not only is it FB80 as requested, it's even blocked at the universal block size. The reason it is this way is because I was programming in MVS while you were still knee-high to a grasshopper. Well, maybe that's an exaggeration. You must be looking at (my bundling of) source code from Unix type people, where they don't seem to have gotten the message about restricting the length of lines to 80 so that it fits onto a card. So anyway, where's my 3390 dump? I had to especially go and mount a 3350 disk just to load your new version (which works). Do you know how much those things weigh? My site has been all-3390 for WEEKS now (at least, pubicly-mounted). Just like all z/OS shops. Only dinosaurs still use 3350s. And I'm no dinosaur, even if I do still block at 6233 or less so that I can fit data onto even a 2314 if necessary. BFN. Paul. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: SEASIK 1.0 released
On Mon, 31 May 2010 18:07:08 -0400, Shmuel Metz (Seymour J.) wrote: >In , on 05/24/2010 > at 05:06 PM, Paul Edwards said: > >>Also GETLINE/PUTLINE are used in a TSO environment, >>so all programs automatically become command processors. > >I takes more than that to make them command processors. Are you talking about the parameter processing? They do that too. If that's still not enough to be a command procesor, then I'm probably using the wrong word. What's the word to describe a program that can be invoked from the TSO ready prompt, with parameters, and can have its output trapped in a CLIST with SYSOUTTRAP, so that from a user's perspective, it does exactly what they want? BFN. Paul. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: SEASIK 1.0 released
Wow, what a lot of misses. > *nix humor. This is after all an environment with a utility > called grep and where processes fork in order to make children. No Charles, Gerhard is MVS through and through. Nothing to do with Unix. You're right about the SEA = C though. > Well, it's certainly memorable. Not sure I understand > where it comes from -- it looks like an acronym, but for what? No Zman, not an acronym. It had to fit into a 6-character volser though, being MVS. On Mon, 24 May 2010 21:25:46 -0400, Gerhard Postpischil wrote: >On 5/24/2010 8:38 PM, zMan wrote: >> Well, it's certainly memorable. Not sure I understand where it comes from -- >> it looks like an acronym, but for what? > >Paul asked me to suggest something, No, it was unsolicited: http://tech.groups.yahoo.com/group/hercules-os380/message/1391 If I were seriously planning on writing lots of c programs, I would create a new pack (e.g, SEASIK ), allocate a user catalog on it, put the GCC and PDPCLIB stuff on there, add some user source libraries, and keep it separate and easy to back up. In fact, I would have to say that I explicitly turned down your suggestion: http://tech.groups.yahoo.com/group/hercules-os380/message/1611 > > The actual packaging of the SEASIK disk can be > > decided later. It'll probably just be a normal > > Hercules image to start with, but may in the > > future be DFDSS. Either way, I think 3390s > > should be the way ahead. The universal blocksize > > remains so that they can be copied off if required. > > I hope you'll think long and hard about the disk name - I meant > SEASIK to be an obvious joke, reflecting my opinion on > unreadable languages I know it was a joke, but I honestly don't think I could come up with something better than that. And it's cool having both sides of the story out there. So, you let me put C on MVS, and I'll agree to advertise the fact that this is a sick thing to do, even if I don't personally agree. :-) So long as the things I want to achieve are done, I don't mind if I have to wear a Daffy Duck costume while doing them. :-) BFN. Paul. P.S. And yes, I really am so sad that I spent more than an hour trying to find the message when both gmane and Yahoo search failed to pick up the oldest reference, despite the fact that that means I'm going to sleep at 2am, when I know I have a meeting at 7am. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
SEASIK 1.0 released
I have just released SEASIK 1.0, which is (effectively) a DFDSS dump of a whole lot of C products, namely: GCC 3.2.3 MVS 8.0 PDPCLIB 3.00 BISON 1.35 MVS 4.0 BREXX 2.1.8 MVS 1.0 BWBASIC 2.50 MVS 1.0 DIFFUTIL 2.8.1 MVS 4.0 FLEX 2.5.4a MVS 4.0 M4 1.4 MVS 4.0 PATCH 2.5.4 MVS 4.0 SED 3.02 MVS 4.0 MINIZIP 0.15 MVS 4.0 These products are: GCCMVS - a C compiler PDPCLIB - a C runtime library BISON - a parser BREXX - a REXX interpreter BWBASIC - a Basic interpreter DIFFUTIL - programs such as diff3 to do a three-way diff FLEX - a parser M4 - a text-processing utility PATCH - used to apply patches to source code (from diff) SED - substitutes text MINIZIP - a zip-like utility GCCMVS is also available as a standalone XMIT. Also there is a CMS version. All available from here: http://gccmvs.sourceforge.net PDPCLIB is also available standalone from here: http://pdos.sourceforge.net Note that while z/OS is the primary target, most of the executables will work fine on any other flavor of MVS (from MVS 3.8j up). Special thanks to Gerhard Postpischil for the revamp of mvssupa.asm which is at the heart of every C program compiled in this manner and which means you are no longer forced to provide DCB information on your output files (while still having complete flexibility to do so). Also GETLINE/PUTLINE are used in a TSO environment, so all programs automatically become command processors. Please report any problems to: http://tech.groups.yahoo.com/group/hercules-os380/ BFN. Paul. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
PDPCLIB (GCC) on S/390
Hi all. PDPCLIB is the C runtime library for the GCC port to MVS. Within PDPCLIB, there are two assembler files - mvsstart and mvssupa that do all the interaction with MVS. Almost all the work is in mvssupa. That has recently been radically revamped, and I would like to get it: 1. Tested on S/390 (ie MVS/ESA, OS/390, or z/OS). 2. Peer-reviewed. There is stand-alone JCL here: http://mvs380.sourceforge.net/pdp390.txt I have tested it on an MVS/XA-like environment, but I want to see if the code will run RMODE ANY. Regarding the peer review, I'm not after radical changes to add great new features (that could be done another day though). I'm just after "you should have checked for the return code here" or "you used an L instead of LA here" one or two-line changes. I know a couple of people here are interested in GCCMVS on z/OS, so here's your chance to ensure you get (closer to) what you want. Note that not all the features you see in the assembler have been opened up to the public (since that requires a separate overhaul of the C code, which is done by people with a different skillset), but some really great improvements are: 1. You now have default DCB info for datasets. 2. GETLINE/PUTLINE are used for a proper TSO CP. The S370 (24-bit only) and S380 (24-bit code, 31-bit data) I am able to test myself (and they work), but I am unable to test the S390 (pure 31-bit) myself and would normally have to go through a 3rd party to do that, so I'm hoping someone here could do that as well as looking over the code. I'm expecting it to be released in a matter of weeks, and be bundled as part of a "SEASIK" DFDSS dump containing this plus a variety of other free software (DIFF3, PATCH, BISON etc). Thanks. Paul. P.S. Expected output: 00 93899585 40F14040 40404040 40404040 line 1 10 40404040 40404040 40404040 40404040 20 40404040 40404040 40404040 40404040 30 40404040 40404040 40404040 40404040 40 40404040 40404040 40404040 40404040 50 93899585 40818283 40404040 40404040 line abc 60 40404040 40404040 40404040 40404040 70 40404040 40404040 40404040 40404040 80 40404040 40404040 40404040 40404040 90 40404040 40404040 40404040 40404040 -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
new mainframe software releases (C compiler mainly)
Jujitsu are pleased to announce the release of the following software: GCC 3.2.3 MVS 7.5 - GCC C compiler for z/OS, MVS/380, MVS/370. Delivered in xmit format. GCC 3.2.3 CMS 7.5 - GCC C compiler for z/VM, VM/380, VM/370. Delivered in vmarc format. PDPCLIB 2.00 - C (C90-compliant) runtime library for MVS (all flavours), CMS (all flavours), Windows 32, MSDOS, OS/2, Linux (new with this release), PDOS. Provided in source form only, but also delivered as part of GCCMVS and GCCCMS. Hercules/380 3.06 v6.0 - Used to run MVS/380. It now does S/380 even if you specify S/370, so that Hercgui will work. Now has native support for ftp-rdw files (ie files that have been transferred from z/OS using ftp with the RDW option), so that you can quickly get your files restored to a V dataset. Windows executables provided. Unix users need to compile from source. You can find the products at: http://gccmvs.sourceforge.net http://pdos.sourceforge.net http://mvs380.sourceforge.net (respectively). Initial documentation can be found in gccmvs.txt, pdpclib.txt and README.S380 respectively. Any comments/questions please post over at: http://tech.groups.yahoo.com/group/hercules-os380 where our complaint department is in operation 24 hours a day, even during Ramadan - may Allah have mercy on our souls. BFN. Paul. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
MVS/380 1.0 and VM/380 1.0 now available
The Hercules community is pleased to announce the availability of two new freely-available operating systems that provide 31-bit programming capability. Load modules can be developed and tested on these environments and the binaries work unchanged (and without requiring special alternate APIs or support modules etc) on their z/OS and z/VM big brothers. Both are available from: http://mvs380.sourceforge.net An example of such a 31-bit program is GCCMVS, the GCC C compiler (fully C90 compliant) ported to MVS and CMS, and it comes bundled with the operating systems. It is also available as a separate product suitable for direct loading on z/OS and z/VM. See here: http://gccmvs.sourceforge.net There's also a stack of useful utilities there, e.g. diff3 (a 3-way diff - one of the great breakthroughs in computer science). These utilities have been precompiled as part of MVS/380 and VM/380. The port of GCC is dependent on the public domain (not GPL) C runtime library PDPCLIB (also fully C90 compliant). That is available here: http://pdos.sourceforge.net Other utilities include bwBASIC, BREXX, bison, sed, flex, m4, patch, minizip. There are also specialized batch files to assist in targetting the mainframe platforms from a PC. The S/380 platforms have quite a lot of development activity taking place (e.g. a DFDSS-compatible dump program) to push these platforms forward. Come and join us over at: http://tech.groups.yahoo.com/group/hercules-os380 -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html