That was an education! Back in the day, I just wrote Fortran. I never had to think about dealing directly with the hardware.
Then came the bit about putting a ‘1’ in column 19 of the XEQ card. This isn’t well documented in the books I have – it is barely mentioned in “Elements of IBM1130 Programming” by Price and then only in the table of linker errors.
It is also shown in the “IBM1130 Disk Monitor System, Version 2 Programming and Operator’s Guide” after Price describes the R22 error.
Nevertheless, it works on hardware. Later on, I’m going to read the file back and print the contents to the console. I want to be certain the data was actually written.
Richard
--
You received this message because you are subscribed to the Google Groups "IBM1130" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ibm1130+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
Works fine! The dump looks right… My hardware also emulates the 1403 Printer and 2501 Card Reader. I chose these because the data transfer is based on DMA and that was easier to implement. And faster…
My problem was with tabs versus spaces and column alignment. These problems could have been inserted by my editor. My sources have to be in exactly the proper column with only spaces, no tabs. I probably should have used Notepad.
Richard
--
My hardware also emulates the 1403 Printer and 2501 Card Reader. I chose these because the data transfer is based on DMA and that was easier to implement. And faster…
-- john r pierce 37N 122W somewhere on the middle of the left coast
I imagine it is FAR easier to type. Keeping track of the various columns for assembly language programs is a huge pain.
I need an editor that has programmable tabs – kind of like the 029 card punch programming card. There needs to be a saved setup for each type of coding.
From: ibm...@googlegroups.com [mailto:ibm...@googlegroups.com] On Behalf Of Bob Flanders
Sent: Tuesday, January 21, 2014 12:15 PM
To: ibm...@googlegroups.com
Subject: Re: [IBM1130] Small assembler program
On the emulator, there's an option to reformat cards read based on tabbing. There's Assembler, Fortran and regular 8 space tabs, hence the poor" formatting... but easier to type.
--
I tried it without the FILE statement or the FILES card and it seems to work fine. I changed the data so that I wasn’t reading something left behind. I also recompiled a lengthy program hoping to overwrite WS before testing again.
I don’t think either of these are required.
I’m pretty sure that the disk driver just sets up the operation and returns. There will be an interrupt later on and it will reenter the program and do whatever is required. $DBSY marks the disk routine as busy. It is set to allow 16 retries. I’m pretty sure you have to do the test before you can start another operation. Regardless of what the code does, the hardware gets a command block by way of the XIO instruction and autonomously deals with it.
Here’s a fun scenario: Hardware that isn’t known to work, no real debugging platform (JTAG would have been nice) and booting hangs. It was a simple fix but it took a while to get there. Fortunately, I built a breakpoint facility into hardware using the console switches. I could set an address, run to the breakpoint and then single step.
--
I think you are right about DISK1. It does an XIO then goes to D1150 .. no looping waiting for IO to complete. That means you could call to write... do some other stuff then check if it's done. Or just test before calling the routine. I wonder if it would get upset if you called to write then returned to monitor.
John Doty Noqsi Aerospace, Ltd.
1. I did some testing and I the FILE statement is not needed. When reading the Monitor document, I was thinking that the FILE statement, when referenced by the *FILES(FILE1,,) command without a file name would save the address of working storage in WSSCT. It didn't. I checked this by adding a DUMP command right after start and dumping the program WSSCT remained zero.
Finally, when reading DISK1, I was surprised at the spaghetti and self-modifiction techniques. I shouldn't have been. They used every trick to save space and make it as fast as possible.
“Elements of IBM 1130 Programming” by Winston T. Price is ALL about assembly level programming. Fortran is only mentioned in passing on page 36.
Richard
From: ibm...@googlegroups.com [mailto:ibm...@googlegroups.com] On Behalf Of Bob Flanders
Sent: Tuesday, January 21, 2014 5:41 PM
To: ibm...@googlegroups.com
Subject: Re: [IBM1130] Re: Small assembler program
To unsubscribe from this group and stop receiving emails from it, send an email to ibm1130+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google Groups "IBM1130" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ibm1130+unsubscribe@googlegroups.com.
I can't remember now, this could have been during COBOL compile or during CLB. But, there were two different pitches of buzzing from the drive. Bit 13 in the accumulator extension would be on for one sound and off for the other. No idea which way the head was moving when the lamp was on or off. Wish I could have watched it like I could on the 1401 system. I miss the sounds of that drive.John McKee
On Wed, Jan 22, 2014 at 11:21 PM, Peter Sawyer <peter....@sympatico.ca> wrote:
The DISKZ interface, a BSI to DZ000 (decimal 242, /F2) was supported by DISK1 and DISKN, so code written to use that calling method would work no matter which DISKx version was in core. Writes using that interface could be done anywhere. DISKN was able to support multiple operations on multiple devices, but was also fast enough to read consecutive sectors without missing a revolution of the disk. When Fortran programs had large SOCAL overlays, it was sometimes worth it to run them with DISKN. Despite the smaller available memory, the execution time could be better.
BTW, when the DISKx sub was being switched (that was done by the CIL, phase 2 @CIL2 (/A1)), there was a visible WAIT during the disk read. Neat to see on the console lights.
----- Original Message ----- From: "John Doty" <j...@noqsi.com>
To: <ibm...@googlegroups.com>
Sent: Wednesday, January 22, 2014 11:35 PM
Subject: Re: [IBM1130] Re: Small assembler program
On Jan 22, 2014, at 2:39 PM, Richard Stofer wrote:
DISKZ is intended for use with Fortran programs because it doesn't make
checks for correct calls. Instead it relies on the compiler to make the
proper calls.
Also system programs, not just Fortran. DISKZ was the disk driver that was in core by default.
John Doty Noqsi Aerospace, Ltd.
http://www.noqsi.com/
j...@noqsi.com
--
You received this message because you are subscribed to the Google Groups "IBM1130" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ibm1130+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google Groups "IBM1130" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ibm1130+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google Groups "IBM1130" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ibm1130+u...@googlegroups.com.
Was that Jeff Broido?
I was thinking of Bob Schreiber, but yeah, Jeff fit that description too :-)
Ross
Sent from my phone - apologies for brevity
--
You received this message because you are subscribed to the Google Groups "IBM1130" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ibm1130+u...@googlegroups.com.
I imagine it is FAR easier to type. Keeping track of the various columns for assembly language programs is a huge pain.
I need an editor that has programmable tabs – kind of like the 029 card punch programming card. There needs to be a saved setup for each type of coding.
From: ibm...@googlegroups.com [mailto:ibm...@googlegroups.com] On Behalf Of Bob Flanders
Sent: Tuesday, January 21, 2014 12:15 PM
To: ibm...@googlegroups.com
Subject: Re: [IBM1130] Small assembler program
On the emulator, there's an option to reformat cards read based on tabbing. There's Assembler, Fortran and regular 8 space tabs, hence the poor" formatting... but easier to type.
The DISKZ interface, a BSI to DZ000 (decimal 242, /F2) was supported by
DISK1 and DISKN, so code written to use that calling method would work no
matter which DISKx version was in core. Writes using that interface could be
done anywhere. DISKN was able to support multiple operations on multiple
devices, but was also fast enough to read consecutive sectors without
missing a revolution of the disk. When Fortran programs had large SOCAL
overlays, it was sometimes worth it to run them with DISKN. Despite the
smaller available memory, the execution time could be better.
BTW, when the DISKx sub was being switched (that was done by the CIL, phase
2 @CIL2 (/A1)), there was a visible WAIT during the disk read. Neat to see
on the console lights.
----- Original Message -----
From: "John Doty" <j...@noqsi.com>
To: <ibm...@googlegroups.com>
Sent: Wednesday, January 22, 2014 11:35 PM
Subject: Re: [IBM1130] Re: Small assembler program
>
> On Jan 22, 2014, at 2:39 PM, Richard Stofer wrote:
>
>> DISKZ is intended for use with Fortran programs because it doesn't make
>> checks for correct calls. Instead it relies on the compiler to make the
>> proper calls.
>
> Also system programs, not just Fortran. DISKZ was the disk driver that was
> in core by default.
I have returned to using VEDIT, a program I used MANY years ago with CP/M. It has programmable tabs and works very well for creating assembly language programs.
Richard
From: ibm...@googlegroups.com [mailto:ibm...@googlegroups.com] On Behalf Of Eddy Quicksall
Sent: Tuesday, April 22, 2014 5:13 PM
To: ibm...@googlegroups.com
Subject: Re: [IBM1130] Small assembler program
For programmable tabs, if you can get a hold of CYTOS (written by Tim Mellon) then that editor has programmable tabs. I know he originally ran CYTOS on DM2. I use CYTOS now but I don't remember how or even if I could extract the binary and post it. Today I use Visual Studio to edit my 1130 files and then transfer them to the 1130 file system with a Windows program. If it would help I could post the program I use to transfer files to/from the 1130 file system (but it assumes my format of the "drives" which is a 1::1 copy of the 1130 cartridges).
On Tuesday, January 21, 2014 4:02:18 PM UTC-5, Richard Stofer wrote:
I imagine it is FAR easier to type. Keeping track of the various columns for assembly language programs is a huge pain.
I need an editor that has programmable tabs – kind of like the 029 card punch programming card. There needs to be a saved setup for each type of coding.
From: ibm...@googlegroups.com [mailto:ibm...@googlegroups.com] On Behalf Of Bob Flanders
Sent: Tuesday, January 21, 2014 12:15 PM
To: ibm...@googlegroups.com
Subject: Re: [IBM1130] Small assembler program
On the emulator, there's an option to reformat cards read based on tabbing. There's Assembler, Fortran and regular 8 space tabs, hence the poor" formatting... but easier to type.
--
You received this message because you are subscribed to the Google Groups "IBM1130" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ibm1130+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.