Microsoft Fortran v5.0
This commit is contained in:
parent
e476d8fafc
commit
979ffce0f7
36
Microsoft Fortran v5/E.FOR
Normal file
36
Microsoft Fortran v5/E.FOR
Normal file
@ -0,0 +1,36 @@
|
||||
program e
|
||||
integer*2 high, n, x
|
||||
integer*2 a(200)
|
||||
|
||||
high = 200
|
||||
x = 0
|
||||
n = high - 1
|
||||
|
||||
150 if ( n .le. 0 ) goto 200
|
||||
a( n + 1 ) = 1
|
||||
n = n - 1
|
||||
goto 150
|
||||
|
||||
200 a( 2 ) = 2
|
||||
a( 1 ) = 0
|
||||
220 if ( high .le. 9 ) goto 400
|
||||
high = high - 1
|
||||
n = high
|
||||
240 if ( n .eq. 0 ) goto 300
|
||||
a( n + 1 ) = MOD( x, n )
|
||||
x = ( 10 * a( n ) ) + ( x / n )
|
||||
n = n - 1
|
||||
goto 240
|
||||
300 if ( x .ge. 10 ) goto 320
|
||||
write( *, 2000 ) x
|
||||
goto 220
|
||||
320 write( *, 2001 ) x
|
||||
goto 220
|
||||
400 write( *, 2010 )
|
||||
2000 format( '+', I1 )
|
||||
2001 format( '+', I2 )
|
||||
2010 format( ' done' )
|
||||
end
|
||||
|
||||
|
||||
|
113
Microsoft Fortran v5/FOREXEC.INC
Normal file
113
Microsoft Fortran v5/FOREXEC.INC
Normal file
@ -0,0 +1,113 @@
|
||||
c FOREXEC.INC - interface file for C library routines
|
||||
|
||||
c This include file along with the CEXEC.LIB library has been included
|
||||
c with your FORTRAN 3.30 to show you how easy it is to call routines
|
||||
c written in our new C 3.00 release. The CEXEC.LIB contains several
|
||||
c routines from the C library which we think you will find useful in
|
||||
c extending the power of your FORTRAN programs.
|
||||
c
|
||||
c The new Microsoft FORTRAN 3.30, PASCAL 3.30, and C 3.00 releases
|
||||
c have been designed so that libraries or subprograms can be written
|
||||
c in any one of these languages and used in any other.
|
||||
c
|
||||
c Try compiling and running the demonstration program DEMOEXEC.FOR
|
||||
c to see some actual examples.
|
||||
|
||||
c C function
|
||||
c
|
||||
c int system(string)
|
||||
c char *string;
|
||||
c
|
||||
c The system() function passes the given C string (00hex terminated)
|
||||
c to the DOS command interpreter (COMMAND.COM), which interprets and
|
||||
c executes the string as an MS-DOS command. This allows MS-DOS commands
|
||||
c (i.e., DIR or DEL), batch files, and programs to be executed.
|
||||
c
|
||||
c Example usage in FORTRAN
|
||||
c
|
||||
c integer*2 system (the return type must be declared)
|
||||
c ...
|
||||
c i = system('dir *.for'c) (notice the C literal string '...'c)
|
||||
c
|
||||
c The interface to system is given below. The [c] attribute is given
|
||||
c after the function name. The argument string has the attribute
|
||||
c [reference] to indicate that the argument is passed by reference.
|
||||
c Normally, arguments are passed to C procedures by value.
|
||||
|
||||
interface to integer*2 function system [c]
|
||||
+ (string[reference])
|
||||
character*1 string
|
||||
end
|
||||
|
||||
|
||||
c C function
|
||||
c
|
||||
c int spawnlp(mode,path,arg0,arg1,...,argn)
|
||||
c int mode; /* spawn mode */
|
||||
c char *path; /* pathname of program to execute */
|
||||
c char *arg0; /* should be the same as path */
|
||||
c char *arg1,...,*argn; /* command line arguments */
|
||||
c /* argn must be NULL */
|
||||
c
|
||||
c The spawnlp (to be referenced in FORTRAN as spawn) creates and
|
||||
c executes a new child process. There must be enough memory to load
|
||||
c and execute the child process. The mode argument determines which
|
||||
c form of spawn is executed as follows:
|
||||
c
|
||||
c Value Action
|
||||
c
|
||||
c 0 Suspend parent program and execute the child program.
|
||||
c When the child program terminates, the parent program
|
||||
c resumes execution. The return value from spawn is -1
|
||||
c if an error has occured or if the child process has
|
||||
c run, the return value is the child processes return
|
||||
c code.
|
||||
c
|
||||
c 2 Overlay parent program with the child program. The
|
||||
c child program is now the running process and the
|
||||
c parent process is terminated. spawn only returns
|
||||
c a value if there has been a recoverable error. Some
|
||||
c errors can not be recovered from and execution will
|
||||
c terminate by safely returning to DOS. This might
|
||||
c happen if there is not enough memory to run the new
|
||||
c process.
|
||||
c
|
||||
c The path argument specifies the file to be executed as the child
|
||||
c process. The path can specify a full path name (from the root
|
||||
c directory \), a partial path name (from the current working directory),
|
||||
c or just a file name. If the path argument does not have a filename
|
||||
c extension or end with a period (.), the spawn call first appends
|
||||
c the extension ".COM" and searches for the file; if unsuccessful, the
|
||||
c extension ".EXE" is tried. The spawn routine will also search for
|
||||
c the file in any of the directories specified in the PATH environment
|
||||
c variable (using the same procedure as above).
|
||||
c
|
||||
c Example usage in FORTRAN
|
||||
c
|
||||
c integer*2 spawn (the return type must be declared)
|
||||
c ...
|
||||
c i = spawn(0, loc('exemod'c), loc('exemod'c),
|
||||
c + loc('demoexec.exe'c), int4(0)) (execute as a child)
|
||||
c
|
||||
c The interface to spawnlp is given below. The [c] attribute is given
|
||||
c after the function name. The [varying] attribute indicates that a
|
||||
c variable number of arguments may be given to the function. The
|
||||
c [alias] attribute has to be used because the C name for the function
|
||||
c spawnlp has 7 characters. Names in FORTRAN are only significant to
|
||||
c 6 characters, so we 'alias' the FORTRAN name spawn to the actual C
|
||||
c name spawnlp. Notice in the example above the C strings are passed
|
||||
c differently from the system function. This is because the string
|
||||
c arguments to spawn are undeclared in the interface below and assumed
|
||||
c to be passed by value. The C spawnlp function is expecting the
|
||||
c addresses of the strings (not the actual characters), so we use the
|
||||
c LOC() function to pass the address (remember that functions with the
|
||||
c [c] attribute pass arguments by value). The last parameter to the
|
||||
c spawn routine must be a C NULL pointer which is a 32-bit integer 0,
|
||||
c so we use the INT4(0) function to pass this number by value as the
|
||||
c last parameter.
|
||||
|
||||
interface to integer*2 function spawn
|
||||
+ [c,varying,alias:'spawnlp']
|
||||
+ (mode)
|
||||
integer*2 mode
|
||||
end
|
28
Microsoft Fortran v5/SIEVE.FOR
Normal file
28
Microsoft Fortran v5/SIEVE.FOR
Normal file
@ -0,0 +1,28 @@
|
||||
C Eratosthenes Sieve from BYTE magazine
|
||||
program sieve
|
||||
logical flags( 8191 )
|
||||
integer*2 i, prime, k, count
|
||||
integer*2 iter
|
||||
|
||||
write( *, 50 )
|
||||
50 format( ' 10 iterations' )
|
||||
do 92 iter = 1, 10
|
||||
count = 0
|
||||
do 10 i = 0, 8190
|
||||
10 flags( i ) = .true.
|
||||
do 91 i = 0, 8190
|
||||
if ( .not. flags( i ) ) go to 91
|
||||
prime = i + i + 3
|
||||
k = i + prime
|
||||
20 if ( k .gt. 8190 ) go to 90
|
||||
flags( k ) = .false.
|
||||
k = k + prime
|
||||
go to 20
|
||||
90 count = count + 1
|
||||
91 continue
|
||||
92 continue
|
||||
write( *, 200 ) count
|
||||
200 format( 1X, I6, ' primes' )
|
||||
stop
|
||||
100 format( 1X, I6 )
|
||||
end
|
214
Microsoft Fortran v5/TTT.FOR
Normal file
214
Microsoft Fortran v5/TTT.FOR
Normal file
@ -0,0 +1,214 @@
|
||||
C fortran version of proving you can't win at tic-tac-toe if the opponent is competent
|
||||
C constants:
|
||||
C score win: 6
|
||||
C score tie: 5
|
||||
C score lose: 4
|
||||
C score max: 9
|
||||
C score min: 2
|
||||
C piece X: 1
|
||||
C piece O: 2
|
||||
C piece blank: 0
|
||||
|
||||
$include : 'forexec.inc'
|
||||
|
||||
program ttt
|
||||
integer*4 moves
|
||||
integer*2 b(9), sp(10), sv(10), sa(10), sb(10), sm(10)
|
||||
integer*2 mc
|
||||
integer*2 alpha, beta, wi, st, sc, v, p, pm, m
|
||||
common /area/ b,sp,sv,sa,sb,sm,mc,alpha,beta,wi,st,sc,v,p,pm,m
|
||||
|
||||
integer*2 system
|
||||
|
||||
do 6 l = 1, 9, 1
|
||||
b( l ) = 0
|
||||
6 continue
|
||||
|
||||
l = system('tm'c)
|
||||
moves = 0
|
||||
|
||||
do 10 l = 1, 10, 1
|
||||
C do 10 l = 1, 1, 1
|
||||
mc = 0
|
||||
m = 1
|
||||
call runmm
|
||||
m = 2
|
||||
call runmm
|
||||
m = 5
|
||||
call runmm
|
||||
moves = moves + mc
|
||||
10 continue
|
||||
|
||||
l = system('tm'c)
|
||||
write( *, 20 ) moves
|
||||
20 format( ' moves: ', I6 )
|
||||
end
|
||||
|
||||
1000 subroutine runmm
|
||||
integer*2 b(9), sp(10), sv(10), sa(10), sb(10), sm(10)
|
||||
integer*2 mc
|
||||
integer*2 alpha, beta, wi, st, sc, v, p, pm, m
|
||||
common /area/ b,sp,sv,sa,sb,sm,mc,alpha,beta,wi,st,sc,v,p,pm,m
|
||||
|
||||
alpha = 2
|
||||
beta = 9
|
||||
p = m
|
||||
b(m) = 1
|
||||
call minmax
|
||||
b(m) = 0
|
||||
return
|
||||
end
|
||||
|
||||
2000 subroutine winner
|
||||
integer*2 b(9), sp(10), sv(10), sa(10), sb(10), sm(10)
|
||||
integer*2 mc
|
||||
integer*2 alpha, beta, wi, st, sc, v, p, pm, m
|
||||
common /area/ b,sp,sv,sa,sb,sm,mc,alpha,beta,wi,st,sc,v,p,pm,m
|
||||
|
||||
wi = b( 1 )
|
||||
if ( 0 .eq. wi ) go to 2100
|
||||
if ( ( wi .eq. b( 2 ) ) .and. ( wi .eq. b( 3 ) ) ) return
|
||||
if ( ( wi .eq. b( 4 ) ) .and. ( wi .eq. b( 7 ) ) ) return
|
||||
2100 wi = b( 4 )
|
||||
if ( 0 .eq. wi ) go to 2200
|
||||
if ( ( wi .eq. b( 5 ) ) .and. ( wi .eq. b( 6 ) ) ) return
|
||||
2200 wi = b( 7 )
|
||||
if ( 0 .eq. wi ) go to 2300
|
||||
if ( ( wi .eq. b( 8 ) ) .and. ( wi .eq. b( 9 ) ) ) return
|
||||
2300 wi = b( 2 )
|
||||
if ( 0 .eq. wi ) go to 2400
|
||||
if ( ( wi .eq. b( 5 ) ) .and. ( wi .eq. b( 8 ) ) ) return
|
||||
2400 wi = b( 3 )
|
||||
if ( 0 .eq. wi ) go to 2500
|
||||
if ( ( wi .eq. b( 6 ) ) .and. ( wi .eq. b( 9 ) ) ) return
|
||||
2500 wi = b( 5 )
|
||||
if ( 0 .eq. wi ) return
|
||||
if ( ( wi .eq. b( 1 ) ) .and. ( wi .eq. b( 9 ) ) ) return
|
||||
if ( ( wi .eq. b( 3 ) ) .and. ( wi .eq. b( 7 ) ) ) return
|
||||
wi = 0
|
||||
end
|
||||
|
||||
4000 subroutine minmax
|
||||
integer*2 b(9), sp(10), sv(10), sa(10), sb(10), sm(10)
|
||||
integer*2 mc
|
||||
integer*2 alpha, beta, wi, st, sc, v, p, pm, m
|
||||
common /area/ b,sp,sv,sa,sb,sm,mc,alpha,beta,wi,st,sc,v,p,pm,m
|
||||
|
||||
st = 0
|
||||
v = 0
|
||||
4100 mc = mc + 1
|
||||
if ( st .lt. 4 ) go to 4150
|
||||
C the computed goto is about 20% faster than calling winner
|
||||
C call winner
|
||||
go to ( 5010, 5020, 5030, 5040, 5050, 5060, 5070, 5080, 5090 ), p
|
||||
4110 if ( wi .eq. 0 ) go to 4140
|
||||
if ( wi .ne. 1 ) go to 4130
|
||||
sc = 6
|
||||
go to 4280
|
||||
4130 sc = 4
|
||||
go to 4280
|
||||
4140 if ( st .ne. 8 ) go to 4150
|
||||
sc = 5
|
||||
go to 4280
|
||||
4150 if ( b( p ) .eq. 1 ) go to 4160
|
||||
v = 2
|
||||
pm = 1
|
||||
go to 4170
|
||||
4160 v = 9
|
||||
pm = 2
|
||||
4170 p = 1
|
||||
4180 if ( b( p ) .ne. 0 ) go to 4500
|
||||
b( p ) = pm
|
||||
4182 st = st + 1
|
||||
sp( st ) = p
|
||||
sv( st ) = v
|
||||
sa( st ) = alpha
|
||||
sb( st ) = beta
|
||||
sm( st ) = pm
|
||||
go to 4100
|
||||
4280 p = sp( st )
|
||||
v = sv( st )
|
||||
alpha = sa( st )
|
||||
beta = sb( st )
|
||||
pm = sm( st )
|
||||
st = st - 1
|
||||
b( p ) = 0
|
||||
if ( pm .eq. 1 ) go to 4340
|
||||
if ( sc .eq. 4 ) go to 4530
|
||||
if ( sc .lt. v ) v = sc
|
||||
if ( v .lt. beta ) beta = v
|
||||
if ( beta .le. alpha ) go to 4520
|
||||
go to 4500
|
||||
4340 if ( sc .eq. 6 ) go to 4530
|
||||
if ( sc .gt. v ) v = sc
|
||||
if ( v .gt. alpha ) alpha = v
|
||||
if ( alpha .ge. beta ) go to 4520
|
||||
4500 p = p + 1
|
||||
if ( p .lt. 10 ) go to 4180
|
||||
4520 sc = v
|
||||
4530 if ( st .eq. 0 ) return
|
||||
go to 4280
|
||||
|
||||
5010 wi = b(1)
|
||||
if ( ( wi .eq. b(2) ) .and. ( wi .eq. b(3) ) ) goto 4110
|
||||
if ( ( wi .eq. b(4) ) .and. ( wi .eq. b(7) ) ) goto 4110
|
||||
if ( ( wi .eq. b(5) ) .and. ( wi .eq. b(9) ) ) goto 4110
|
||||
wi = 0
|
||||
go to 4110
|
||||
|
||||
5020 wi = b(2)
|
||||
if ( ( wi .eq. b(1) ) .and. ( wi .eq. b(3) ) ) goto 4110
|
||||
if ( ( wi .eq. b(5) ) .and. ( wi .eq. b(8) ) ) goto 4110
|
||||
wi = 0
|
||||
go to 4110
|
||||
|
||||
5030 wi = b(3)
|
||||
if ( ( wi .eq. b(1) ) .and. ( wi .eq. b(2) ) ) goto 4110
|
||||
if ( ( wi .eq. b(6) ) .and. ( wi .eq. b(9) ) ) goto 4110
|
||||
if ( ( wi .eq. b(5) ) .and. ( wi .eq. b(7) ) ) goto 4110
|
||||
wi = 0
|
||||
go to 4110
|
||||
|
||||
5040 wi = b(4)
|
||||
if ( ( wi .eq. b(5) ) .and. ( wi .eq. b(6) ) ) goto 4110
|
||||
if ( ( wi .eq. b(1) ) .and. ( wi .eq. b(7) ) ) goto 4110
|
||||
wi = 0
|
||||
go to 4110
|
||||
|
||||
5050 wi = b(5)
|
||||
if ( ( wi .eq. b(1) ) .and. ( wi .eq. b(9) ) ) goto 4110
|
||||
if ( ( wi .eq. b(3) ) .and. ( wi .eq. b(7) ) ) goto 4110
|
||||
if ( ( wi .eq. b(2) ) .and. ( wi .eq. b(8) ) ) goto 4110
|
||||
if ( ( wi .eq. b(4) ) .and. ( wi .eq. b(6) ) ) goto 4110
|
||||
wi = 0
|
||||
go to 4110
|
||||
|
||||
5060 wi = b(6)
|
||||
if ( ( wi .eq. b(4) ) .and. ( wi .eq. b(5) ) ) goto 4110
|
||||
if ( ( wi .eq. b(3) ) .and. ( wi .eq. b(9) ) ) goto 4110
|
||||
wi = 0
|
||||
go to 4110
|
||||
|
||||
5070 wi = b(7)
|
||||
if ( ( wi .eq. b(8) ) .and. ( wi .eq. b(9) ) ) goto 4110
|
||||
if ( ( wi .eq. b(1) ) .and. ( wi .eq. b(4) ) ) goto 4110
|
||||
if ( ( wi .eq. b(5) ) .and. ( wi .eq. b(3) ) ) goto 4110
|
||||
wi = 0
|
||||
go to 4110
|
||||
|
||||
5080 wi = b(8)
|
||||
if ( ( wi .eq. b(7) ) .and. ( wi .eq. b(9) ) ) goto 4110
|
||||
if ( ( wi .eq. b(2) ) .and. ( wi .eq. b(5) ) ) goto 4110
|
||||
wi = 0
|
||||
go to 4110
|
||||
|
||||
5090 wi = b(9)
|
||||
if ( ( wi .eq. b(7) ) .and. ( wi .eq. b(8) ) ) goto 4110
|
||||
if ( ( wi .eq. b(3) ) .and. ( wi .eq. b(6) ) ) goto 4110
|
||||
if ( ( wi .eq. b(1) ) .and. ( wi .eq. b(5) ) ) goto 4110
|
||||
wi = 0
|
||||
go to 4110
|
||||
|
||||
end
|
||||
|
||||
|
BIN
Microsoft Fortran v5/bin/BIND.EXE
Normal file
BIN
Microsoft Fortran v5/bin/BIND.EXE
Normal file
Binary file not shown.
509
Microsoft Fortran v5/bin/BRIEF.INI
Normal file
509
Microsoft Fortran v5/bin/BRIEF.INI
Normal file
@ -0,0 +1,509 @@
|
||||
[M MEP]
|
||||
; TOOLS.INI file for BRIEF(tm) configuration
|
||||
|
||||
NotBrief:=arg "No equivalent in the Microsoft Editor" message
|
||||
ToolsIni:=arg "$INIT:tools.ini" setfile
|
||||
|
||||
;
|
||||
; GLOBAL CONFIGURATION
|
||||
;
|
||||
autosave:no
|
||||
undocount:30
|
||||
autostart:=toggle_re
|
||||
vscroll:1
|
||||
errprompt:no
|
||||
nounixre:
|
||||
rmargin:70
|
||||
|
||||
;
|
||||
; Backup File Toggle. Toggle through M.E.'s backup options and let
|
||||
; the user know that something extra is going on.
|
||||
;
|
||||
backup:bak
|
||||
baknone:=arg "backup:none" assign arg "File backups turned off!" message \
|
||||
arg "bakbak:Ctrl+W" assign
|
||||
bakbak:=arg "backup:bak" assign arg "Single backups enabled" message \
|
||||
arg "bakundel:Ctrl+W" assign
|
||||
bakundel:= arg "backup:undel" assign arg "Multiple backups enabled" message \
|
||||
arg "baknone:Ctrl+W" assign
|
||||
bakundel:Ctrl+W
|
||||
|
||||
;
|
||||
; Beginning of Line
|
||||
;
|
||||
beginning_of_line:=meta begline
|
||||
beginning_of_line:Home
|
||||
|
||||
;
|
||||
; Buffer List
|
||||
;
|
||||
Information:Alt+B
|
||||
|
||||
;
|
||||
; Case Sensitivity Toggle
|
||||
;
|
||||
case:yes
|
||||
caseon:=arg "case:" assign arg "Enabled Case Sensitivity" message \
|
||||
arg "caseoff:ctrl+f5" assign
|
||||
caseoff:=arg "nocase:" assign arg "Disabled Case Sensitivity" message \
|
||||
arg "caseon:ctrl+f5" assign
|
||||
caseoff:ctrl+f5
|
||||
|
||||
;
|
||||
; Center Line Horizontally
|
||||
; Center Line in Window.
|
||||
; There are no centering functions in M.E.
|
||||
;
|
||||
center:=NotBrief
|
||||
NotBrief:Ctrl+C
|
||||
|
||||
;
|
||||
; Change Output File
|
||||
;
|
||||
output_file:=arg arg "Enter new output file name: " prompt -> setfile
|
||||
output_file:Alt+O
|
||||
|
||||
;
|
||||
; Change Window
|
||||
;
|
||||
Window:F2
|
||||
|
||||
;
|
||||
; Color. To set colors in M.E., assign a new value to one of the
|
||||
; following switches. The value is a two digit hex number where the
|
||||
; first digit is the background color and the second is the foreground.
|
||||
; The number to color mapping is the same as in Brief. The color change
|
||||
; will not take effect until you restart the editor. To see an immediate
|
||||
; change, mark (select) the color assignment lines and press Alt+=.
|
||||
;
|
||||
color:=ToolsIni begfile arg "color:=ToolsIni" psearch up up up up up up up
|
||||
fgColor:07 ; Text color
|
||||
selColor:70 ; Selection color
|
||||
hgColor:02 ; Search text color
|
||||
infColor:06 ; Message color
|
||||
staColor:03 ; Status Line
|
||||
errColor:04 ; Error Color
|
||||
wdColor:07 ; Window Borders
|
||||
|
||||
;
|
||||
; Compile Buffer. Compile command is set with the 'extmake' switch
|
||||
; (see documentation).
|
||||
;
|
||||
compile_it:=Arg Compile
|
||||
compile_it:Alt+F10
|
||||
|
||||
;
|
||||
; Create Key Assignment
|
||||
;
|
||||
assign_to_key:=arg <assign> setfile
|
||||
|
||||
;
|
||||
; Create Window. Window handling is very different in M.E.
|
||||
;
|
||||
; To create a new window, move the cursor to the line or column where
|
||||
; the new border is to be placed and do:
|
||||
;
|
||||
; Alt+A F3 - to create a horizontal border
|
||||
; Alt+A Alt+A F3 - to create a vertical border
|
||||
;
|
||||
; To change the current window, press F3.
|
||||
;
|
||||
; To delete an existing window, go to that window and press F4.
|
||||
;
|
||||
; Windows cannot be resized.
|
||||
;
|
||||
create_edge:=ToolsIni begfile arg "create_edge:=" psearch up up up up \
|
||||
up up up up up up up up up up arg "window:F3" assign
|
||||
create_edge:F3
|
||||
|
||||
;
|
||||
; Cut to Scrap. Doesn't take current line if nothing is selected.
|
||||
;
|
||||
delete:num-
|
||||
|
||||
;
|
||||
; Delete
|
||||
;
|
||||
clear:=meta delete
|
||||
clear:del
|
||||
|
||||
;
|
||||
; Delete Current Buffer
|
||||
;
|
||||
delete_curr_buffer:=arg refresh
|
||||
delete_curr_buffer:Ctrl+_
|
||||
|
||||
;
|
||||
; Delete Line. In M.E., the line goes to the clipboard.
|
||||
;
|
||||
ldelete:Alt+D
|
||||
|
||||
;
|
||||
; Delete Macro File
|
||||
;
|
||||
NotBrief:Shift+F9
|
||||
|
||||
;
|
||||
; Delete Next Word
|
||||
;
|
||||
delete_next_word:=Arg Pword Clear
|
||||
|
||||
;
|
||||
; Delete Previous Word
|
||||
;
|
||||
delete_previous_word:=Pword Arg Mword Clear
|
||||
delete_previous_word:Ctrl+Bksp
|
||||
|
||||
;
|
||||
; Delete to End of Line
|
||||
;
|
||||
delete_to_eol:=arg ldelete
|
||||
delete_to_eol:Alt+K
|
||||
|
||||
;
|
||||
; Delete Window
|
||||
;
|
||||
delete_edge:=meta window
|
||||
delete_edge:F4
|
||||
|
||||
;
|
||||
; Display File Name
|
||||
;
|
||||
display_file_name:=arg curfile message
|
||||
display_file_name:Alt+F
|
||||
|
||||
;
|
||||
; Display version ID
|
||||
;
|
||||
version:=arg "Microsoft Editor Version 1.02" message
|
||||
version:Alt+V
|
||||
|
||||
;
|
||||
; EditFile
|
||||
;
|
||||
EditFile:=arg "File: " prompt -> setfile
|
||||
EditFile:Alt+E
|
||||
|
||||
;
|
||||
; End of Window
|
||||
;
|
||||
end_of_window:=meta down
|
||||
end_of_window:Ctrl+End
|
||||
|
||||
;
|
||||
; Execute Command. In M.E. you can enter any series of functions or
|
||||
; macros, including string literals "in quotes".
|
||||
;
|
||||
execute_macro:=arg "Command: " prompt -> execute
|
||||
execute_macro:F10
|
||||
|
||||
;
|
||||
; Exit
|
||||
;
|
||||
exit:Alt+X
|
||||
|
||||
;
|
||||
; Go to Line
|
||||
;
|
||||
GoTo:=arg "Go to line: " prompt -> mark
|
||||
GoTo:alt+g
|
||||
|
||||
;
|
||||
; Go to routine.
|
||||
;
|
||||
routines:=arg "You can use marks to go to routines. See documentation" \
|
||||
message
|
||||
routines:Ctrl+G
|
||||
|
||||
;
|
||||
; Help. First make sure that help is loaded. Then attach context-
|
||||
; sensitive help to Alt+H.
|
||||
;
|
||||
load:$PATH:mhelp
|
||||
mhctx:Alt+H
|
||||
|
||||
;
|
||||
; Incremental Search
|
||||
;
|
||||
i_search:=NotBrief
|
||||
|
||||
;
|
||||
; Insert Mode Toggle. Toggle between Insert and Overstrike modes and issue
|
||||
; a message telling the user what has been done.
|
||||
;
|
||||
enterinsmode:yes
|
||||
insert_mode:=Insertmode +>showins arg "Overstrike Mode" message => \
|
||||
:>showins arg "Insert Mode" message
|
||||
insert_mode:Alt+I
|
||||
|
||||
;
|
||||
; Left Side of Window
|
||||
;
|
||||
left_side:=meta left
|
||||
left_side:Shift+Home
|
||||
|
||||
;
|
||||
; Line to Bottom of Window
|
||||
;
|
||||
NotBrief:Ctrl+B
|
||||
|
||||
;
|
||||
; Line to Top of Window
|
||||
;
|
||||
NotBrief:Ctrl+T
|
||||
|
||||
;
|
||||
; Load Macro File
|
||||
;
|
||||
NotBrief:F9
|
||||
|
||||
;
|
||||
; Lower Case Block
|
||||
;
|
||||
load:$PATH:ulcase
|
||||
tolower:=ulcase
|
||||
|
||||
;
|
||||
; Mark. Known in M.E. as selecting text. In M.E., selection is
|
||||
; done in one of two modes: stream and box/line, which correspond
|
||||
; to normal and column/line selection in Brief. To select lines,
|
||||
; start marking in column mode, but move straight down. To change
|
||||
; between modes in M.E., a toggle function <boxstream> is provided.
|
||||
;
|
||||
; Arg:Alt+A ; M.E. selection (default assignment)
|
||||
; BoxStream:Ctrl+B ; M.E. mode toggle (default assignment)
|
||||
;
|
||||
ToStream:=BoxStream -> BoxStream ; Change to stream mode
|
||||
ToBox:=BoxStream +> BoxStream ; Change to box/line mode
|
||||
|
||||
mark2:=ToBox Arg
|
||||
mark2:Alt+C
|
||||
mark2:Alt+L
|
||||
|
||||
mark1:=ToStream Arg
|
||||
mark1:Alt+M
|
||||
|
||||
;
|
||||
; Next Buffer
|
||||
;
|
||||
setfile:Alt+N
|
||||
|
||||
;
|
||||
; Next Character
|
||||
;
|
||||
next_char:=NotBrief
|
||||
|
||||
;
|
||||
; Next Error
|
||||
;
|
||||
NextMsg:Ctrl+N
|
||||
|
||||
;
|
||||
; Non-Inclusive Mark
|
||||
;
|
||||
open_line:=down linsert meta begline
|
||||
open_line:Ctrl+Enter
|
||||
|
||||
;
|
||||
; Paste From Scrap
|
||||
;
|
||||
paste:ins
|
||||
|
||||
;
|
||||
; Pause Recording Toggle
|
||||
;
|
||||
NotBrief:Shift+F7
|
||||
|
||||
;
|
||||
; Pause On Error
|
||||
;
|
||||
pause_on_error:=togErr arg "togErr:=" errname assign
|
||||
|
||||
togErr:=errOn
|
||||
|
||||
errOn:=arg "errprompt:" assign arg "errname:=\"errOff\"" assign
|
||||
errOff:=arg "noerrprompt:" assign arg "errname:=\"errOn\"" assign
|
||||
|
||||
;
|
||||
; PlayBack
|
||||
;
|
||||
recordvalue:=arg "No recording has been made" message.
|
||||
recordvalue:F8
|
||||
|
||||
;
|
||||
; Pop-up Errors. In M.E., this switches you to the compile file. You
|
||||
; can go to any message with Alt+A Alt+A NextMsg.
|
||||
;
|
||||
next_error1:=arg "<compile>" setfile
|
||||
next_error1:Ctrl+P
|
||||
|
||||
;
|
||||
; Previous Buffer. There are no "next" and "previous" buffers in M.E.,
|
||||
; so this is the same as "Next Buffer".
|
||||
;
|
||||
setfile:Alt+-
|
||||
|
||||
;
|
||||
; Previous Character
|
||||
;
|
||||
prev+char:=NotBrief
|
||||
|
||||
;
|
||||
; Print Block
|
||||
;
|
||||
print:Alt+P
|
||||
|
||||
;
|
||||
; Quote
|
||||
;
|
||||
quote:Alt+Q
|
||||
|
||||
;
|
||||
; Read File into Buffer
|
||||
;
|
||||
read_file:=arg arg "File to read: " prompt -> paste
|
||||
|
||||
;
|
||||
; Reformat Paragraph
|
||||
;
|
||||
load:$PATH:justify
|
||||
reform:=justify
|
||||
|
||||
;
|
||||
; Regular Expression Toggle. In M.E., regular expression recognition
|
||||
; is controlled by modifying the search and search/replace functions
|
||||
; (Arg Arg forces regular expression search).
|
||||
;
|
||||
toggle_re:=togRE arg "togRE:=" srchname assign
|
||||
toggle_re:Ctrl+F6
|
||||
togRE:=REon
|
||||
|
||||
REoff:=arg "psrch:=arg \"Search for: \" prompt -> psearch" assign \
|
||||
arg "msrch:=arg \"Search for: \" prompt -> msearch" assign \
|
||||
arg "qrepl:=qreplace" assign \
|
||||
arg "srchname:=\"REon\"" assign \
|
||||
arg "Disabled Regular Expressions" message
|
||||
REon:=arg "psrch:=arg arg \"Search for: \" prompt -> psearch" assign \
|
||||
arg "msrch:=arg arg \"Search for: \" prompt -> msearch" assign \
|
||||
arg "qrepl:=arg arg qreplace" assign \
|
||||
arg "srchname:=\"REoff\"" assign \
|
||||
arg "Enabled Regular Expressions" message
|
||||
|
||||
;
|
||||
; Remember. Use Arg Arg Record to append to existing macro.
|
||||
;
|
||||
record:F7
|
||||
|
||||
;
|
||||
; Repeat
|
||||
;
|
||||
repeat:Ctrl+R
|
||||
|
||||
;
|
||||
; Right Side of Window
|
||||
;
|
||||
right_side:=meta right
|
||||
right_side:Shift+End
|
||||
|
||||
;
|
||||
; Scroll Buffer Down in Window
|
||||
;
|
||||
mlines:Ctrl+D
|
||||
|
||||
;
|
||||
; Scroll Buffer Up in Window
|
||||
;
|
||||
plines:Ctrl+U
|
||||
|
||||
;
|
||||
; Search Again
|
||||
;
|
||||
search_again:=psearch
|
||||
search_again:Shift+F5
|
||||
|
||||
;
|
||||
; Search Backward
|
||||
;
|
||||
search_back:=msrch arg "search_again:=msearch" assign
|
||||
search_back:Alt+F5
|
||||
|
||||
;
|
||||
; Search Forward
|
||||
;
|
||||
search_fwd:=psrch arg "search_again:=psearch" assign
|
||||
search_fwd:F5
|
||||
search_fwd:Alt+S
|
||||
|
||||
;
|
||||
; Suspend Editor
|
||||
;
|
||||
shell:Alt+Z
|
||||
|
||||
;
|
||||
; Tab. Please read the documentation for a full description of tabs.
|
||||
;
|
||||
graphic:tab
|
||||
realtabs:yes
|
||||
entab:0
|
||||
tabstops:8
|
||||
|
||||
;
|
||||
; Tab Stops
|
||||
;
|
||||
tabs:=NotBrief
|
||||
|
||||
;
|
||||
; Top of Buffer
|
||||
;
|
||||
begfile:Ctrl+PgUp
|
||||
|
||||
;
|
||||
; Top of Window
|
||||
;
|
||||
top_of_window:=meta up
|
||||
top_of_window:Ctrl+Home
|
||||
|
||||
;
|
||||
; Translate Again
|
||||
;
|
||||
translate_again:=qrepl
|
||||
translate_again:Shift+F6
|
||||
|
||||
;
|
||||
; Translate Backward
|
||||
;
|
||||
translate_back:=arg "You can only translate forwards" message
|
||||
translate_back:Alt+F6
|
||||
|
||||
;
|
||||
; Translate Forward
|
||||
;
|
||||
translate:=qrepl
|
||||
translate:F6
|
||||
translate:Alt+T
|
||||
|
||||
;
|
||||
; Undo
|
||||
;
|
||||
undo:Alt+U
|
||||
undo:num*
|
||||
|
||||
;
|
||||
; Use Tab Characters
|
||||
;
|
||||
use_tab_char:=arg "entab:1" assign
|
||||
|
||||
;
|
||||
; Window Border Toggle
|
||||
;
|
||||
NotBrief:Alt+F1
|
||||
|
||||
;
|
||||
;
|
||||
; Write
|
||||
;
|
||||
write_it:=arg arg setfile
|
||||
write_it:Alt+W
|
||||
|
||||
;
|
||||
; BRIEF is a trademark of UnderWare, INC.
|
BIN
Microsoft Fortran v5/bin/CV.EXE
Normal file
BIN
Microsoft Fortran v5/bin/CV.EXE
Normal file
Binary file not shown.
BIN
Microsoft Fortran v5/bin/CV.HLP
Normal file
BIN
Microsoft Fortran v5/bin/CV.HLP
Normal file
Binary file not shown.
BIN
Microsoft Fortran v5/bin/CVPACK.EXE
Normal file
BIN
Microsoft Fortran v5/bin/CVPACK.EXE
Normal file
Binary file not shown.
68
Microsoft Fortran v5/bin/EPSILON.INI
Normal file
68
Microsoft Fortran v5/bin/EPSILON.INI
Normal file
@ -0,0 +1,68 @@
|
||||
; TOOLS.INI file for EPSILON configuration
|
||||
|
||||
[M MEP]
|
||||
Arg:Ctrl+U
|
||||
Arg:Ctrl+X
|
||||
Argcompile:F5
|
||||
Assign:F1
|
||||
Backtab:Shift+Tab
|
||||
Begline:Ctrl+A
|
||||
Cancel:Ctrl+C
|
||||
Compile:Shift+F3
|
||||
Copy:Alt+W
|
||||
Down:Down
|
||||
Down:Ctrl+N
|
||||
Emacscdel:Bksp
|
||||
Emacscdel:Ctrl+H
|
||||
Emacsnewl:Enter
|
||||
Endline:Ctrl+E
|
||||
Execute:Alt+X
|
||||
Exit:F8
|
||||
Help:F10
|
||||
Home:Home
|
||||
Information:Shift+F1
|
||||
Initialize:Alt+F10
|
||||
Insertmode:Ctrl+V
|
||||
Lasttext:Alt+L
|
||||
Ldelete:Ctrl+K
|
||||
Left:Left
|
||||
Left:Ctrl+B
|
||||
Linsert:Ctrl+O
|
||||
Mark:Ctrl+@
|
||||
Meta:F9
|
||||
Mlines:Ctrl+W
|
||||
Mpage:Pgup
|
||||
Mpage:Alt+V
|
||||
Mpara:Alt+Up
|
||||
Msearch:Ctrl+R
|
||||
Mword:Ctrl+Left
|
||||
Mword:Alt+B
|
||||
Paste:Ctrl+Y
|
||||
Paste:Ins
|
||||
Pbal:Ctrl+[
|
||||
Plines:Ctrl+Z
|
||||
Ppage:Pgdn
|
||||
Ppara:Alt+Down
|
||||
Psearch:F4
|
||||
Psearch:Ctrl+S
|
||||
Pword:Ctrl+Right
|
||||
Pword:Alt+F
|
||||
Qreplace:Alt+F3
|
||||
Qreplace:Alt+5
|
||||
Qreplace:Alt+8
|
||||
Quote:Ctrl+Q
|
||||
Refresh:Alt+R
|
||||
Right:Right
|
||||
Right:Ctrl+F
|
||||
Sdelete:Del
|
||||
Sdelete:Ctrl+D
|
||||
Setfile:F2
|
||||
Setwindow:Ctrl+]
|
||||
Shell:Alt+Z
|
||||
Sinsert:Alt+Ins
|
||||
Tab:Tab
|
||||
Tab:Ctrl+I
|
||||
Undo:Ctrl+Bksp
|
||||
Up:Up
|
||||
Up:Ctrl+P
|
||||
Window:Alt+Pgdn
|
BIN
Microsoft Fortran v5/bin/EXEHDR.EXE
Normal file
BIN
Microsoft Fortran v5/bin/EXEHDR.EXE
Normal file
Binary file not shown.
BIN
Microsoft Fortran v5/bin/EXEMOD.EXE
Normal file
BIN
Microsoft Fortran v5/bin/EXEMOD.EXE
Normal file
Binary file not shown.
BIN
Microsoft Fortran v5/bin/EXP.EXE
Normal file
BIN
Microsoft Fortran v5/bin/EXP.EXE
Normal file
Binary file not shown.
566
Microsoft Fortran v5/bin/F1.ERR
Normal file
566
Microsoft Fortran v5/bin/F1.ERR
Normal file
@ -0,0 +1,566 @@
|
||||
G
|
||||
W
|
||||
4
|
||||
0
|
||||
0
|
||||
maximum memory-allocation size exceeded
|
||||
program too large for memory
|
||||
%fs : array bound used function call
|
||||
%fs : array bound used intrinsic call
|
||||
%fs : array bound used array reference
|
||||
%fs : array bound used illegal variable
|
||||
%fs : array bound used illegal variable
|
||||
%fs : already dimensioned
|
||||
%fs : allocatable variable cannot be AUTOMATIC
|
||||
%fs : ALLOCATABLE : bounds must be omitted
|
||||
%fs : array bounds missing
|
||||
%fs : more than 7 array bounds
|
||||
%s : attributes illegal on array bounds
|
||||
%fs : variable was declared automatic
|
||||
%fs : variable was declared automatic
|
||||
%fs : * : not last array bound
|
||||
%fs : bound size too small
|
||||
%fs : adjustable-size array not in subprogram
|
||||
%fs : NEAR array bigger than segment
|
||||
attributes are nonstandard
|
||||
%fs : %s attribute repeated
|
||||
%fs : %s illegal with attributes specified in same list
|
||||
%fs : %s attribute mismatch with earlier NEAR/FAR/HUGE
|
||||
%fs : %s illegal with attributes specified in earlier list
|
||||
%fs : NEAR/FAR/HUGE attribute mismatches default
|
||||
%fs : %s illegal on COMMON statements
|
||||
%fs : %s illegal on formal arguments
|
||||
%fs : %s illegal on ENTRY statements
|
||||
%fs : %s illegal on subprogram statements
|
||||
%fs : %s illegal on variable declarations
|
||||
%fs : %s illegal on NAMELIST declarations
|
||||
%fs : %s illegal on STRUCTURE declarations
|
||||
%fs : %s illegal on type declarations
|
||||
%fs : language attributes illegal on formal arguments
|
||||
%fs : %s only legal on formal arguments
|
||||
%fs : ALLOCATABLE : common block variable illegal
|
||||
%fs : ALLOCATABLE : equivalenced variable illegal
|
||||
%fs : illegal bound type
|
||||
%s : bound not integer
|
||||
%fs : substring on noncharacter item
|
||||
%fs : upper substring bound exceeds string length
|
||||
%fs : lower substring bound exceeds upper bound
|
||||
%fs : lower substring bound not positive
|
||||
concatenation with CHARACTER*(*)
|
||||
cannot pass CHARACTER*(*) by value
|
||||
label %ld : redefined in program unit
|
||||
no ASSIGN statements for assigned %s
|
||||
IF or ELSEIF missing
|
||||
expression type not LOGICAL
|
||||
statement stack underflow
|
||||
statement-nesting limit exceeded
|
||||
label %ld : used across blocks
|
||||
no assigned GOTO or FMT= for ASSIGN statement
|
||||
ASSIGN target not an INTEGER variable
|
||||
%fs : ASSIGN : variable not INTEGER
|
||||
%fs : ASSIGN : too many INTEGER*1 variables
|
||||
expression must be integer, character, or logical
|
||||
SELECT CASE : character expression must be of length 1
|
||||
no matching SELECT CASE statement
|
||||
no matching SELECT CASE statement
|
||||
only one CASE DEFAULT allowed
|
||||
CASE values must be constant expressions
|
||||
CASE value type does not match SELECT CASE expression type
|
||||
LOGICAL case value ranges illegal
|
||||
lower value exceeds upper value in case value range
|
||||
overlapping case values
|
||||
no matching DO loop
|
||||
DO-loop label %ld : out of order
|
||||
DO-loop expression not INTEGER or REAL
|
||||
zero illegal as increment
|
||||
DO-loop variable : not a variable
|
||||
%fs : illegal use of active DO-loop variable
|
||||
DO-loop variable not INTEGER or REAL
|
||||
ENDIF missing
|
||||
DO-loop label %ld : not seen
|
||||
DO-loop ENDDO : not seen
|
||||
END SELECT missing
|
||||
IF, ELSEIF, or ELSE missing
|
||||
too many assigned GOTO statements
|
||||
only variables allowed in assigned GOTO statements
|
||||
assigned GOTO variable not INTEGER
|
||||
computed GOTO variable not INTEGER
|
||||
expression type not INTEGER or REAL
|
||||
illegal statement after logical IF
|
||||
label %ld : previously used as FORMAT label
|
||||
label %ld : previously used as executable label
|
||||
block label %ld : must not be referenced
|
||||
label %ld : must not be referenced
|
||||
DO-loop label %ld : out of order
|
||||
assigned and unconditional GOTO illegal here
|
||||
block and arithmetic IF illegal here
|
||||
statement illegal as DO-loop termination
|
||||
%s : maximum of 5 digits
|
||||
%s : illegal expression
|
||||
%fs : EQUIVALENCE : enclosing class too big
|
||||
%fs : %s : attributes on items illegal
|
||||
%fs : EQUIVALENCE : formal argument illegal
|
||||
%fs : EQUIVALENCE : not array
|
||||
%fs : EQUIVALENCE : array subscripts missing
|
||||
%fs : EQUIVALENCE : nonconstant offset illegal
|
||||
%fs : EQUIVALENCE : nonconstant upper substring expression ignored
|
||||
%fs : nonconstant lower substring expression illegal
|
||||
%fs : EQUIVALENCE : structure elements illegal
|
||||
%s : NAMELIST : array bounds illegal
|
||||
%s : %s : length specification illegal
|
||||
%s : %s : attributes on items illegal
|
||||
%s : %s : %s name illegal
|
||||
%s : %s : preinitialization illegal
|
||||
%s : %s : allocatable array illegal
|
||||
%s : %s : automatic variable illegal
|
||||
%s : %s : structure illegal
|
||||
%s : %s : formal argument illegal
|
||||
%s : %s : not an array or variable
|
||||
%fs : COMMON : character and noncharacter items mixed
|
||||
%fs : COMMON : too big
|
||||
%fs : COMMON : array size nonconstant or zero
|
||||
%fs, %fs : EQUIVALENCE : character and noncharacter items mixed
|
||||
%fs, %fs : EQUIVALENCE : both in blank common block
|
||||
%fs, %fs : EQUIVALENCE : both in common block %fs
|
||||
%fs, %fs : EQUIVALENCE : in different common blocks
|
||||
%fs : EQUIVALENCE : extends blank common block forward
|
||||
%fs : EQUIVALENCE : extends common block %fs forward
|
||||
%fs, %fs : EQUIVALENCE : conflicting offsets
|
||||
%fs : EQUIVALENCE : two different common blocks
|
||||
%fs : item in common block crosses segment
|
||||
%fs : COMMON : size changed
|
||||
%fs : COMMON : size changed
|
||||
%fs : NEAR common block has HUGE item
|
||||
blank common can not be HUGE
|
||||
%fs : COMMON : too big to be NEAR
|
||||
%s : COMMON : function or subroutine name
|
||||
%fs : already in COMMON
|
||||
NAMELIST : group name required
|
||||
NAMELIST : group name required
|
||||
%s : already in this namelist group
|
||||
%fs : EQUIVALENCE : needs at least two items
|
||||
DATA : iteration count not positive
|
||||
%s : DATA : illegal address expression
|
||||
%s : cannot initialize formal argument
|
||||
%s : cannot initialize item in blank common block
|
||||
%s : can only initialize common block in BLOCK DATA subprogram
|
||||
%s : DATA : not an array or variable
|
||||
%s : variable was declared automatic
|
||||
%s : cannot initialize allocatable array
|
||||
%fs : repeat count not positive integer
|
||||
%fs : DATA : nonconstant item in initializer list
|
||||
%fs : DATA : too few constants to initialize item
|
||||
%s : nonstatic address illegal in initialization
|
||||
%s : bound or increment not constant
|
||||
%s : bound or increment not INTEGER
|
||||
%s : DATA : zero increment
|
||||
%fs : DATA : active implied-DO variable
|
||||
%s : DATA : implied-DO variable not INTEGER
|
||||
%s : DATA : not array-element name
|
||||
DATA : too few constants to initialize names
|
||||
DATA : more constants than names
|
||||
%s : nonstandard statement
|
||||
%s : already declared %s
|
||||
%s : illegal use of %s
|
||||
%s : %s variable cannot be AUTOMATIC
|
||||
%fs : element name conflicts with operator
|
||||
%fs : already typed
|
||||
%s : already typed
|
||||
%s : types illegal on BLOCK DATA/COMMON/PROGRAM/SUBROUTINE
|
||||
%s : cannot initialize in type statements
|
||||
DOUBLE %s : length specifier illegal
|
||||
%s : STRUCTURE : preinitialization illegal
|
||||
%fs : CHARACTER*(*) type illegal
|
||||
%fs : STRUCTURE : too big
|
||||
%s : EQUIVALENCE : preinitialization illegal
|
||||
%s : COMMON : preinitialization illegal
|
||||
IMPLICIT NONE already seen
|
||||
IMPLICIT already seen
|
||||
RECORD : structure type illegal in IMPLICIT statement
|
||||
%s : IMPLICIT : only single letter allowed
|
||||
%c, %c : IMPLICIT : lower limit exceeds upper limit
|
||||
%c : already IMPLICIT
|
||||
%s : INTRINSIC : unknown name
|
||||
%s : PARAMETER : nonconstant expression
|
||||
formal argument %s: cannot be SAVE or AUTOMATIC
|
||||
syntax error
|
||||
STRUCTURE : not a name
|
||||
%s : already typed
|
||||
%fs : STRUCTURE: intrinsic type name
|
||||
END STRUCTURE : no matching STRUCTURE statement
|
||||
%fs : STRUCTURE has no elements
|
||||
UNION : not in a STRUCTURE
|
||||
END UNION : no matching UNION
|
||||
MAP : no enclosing UNION statement
|
||||
END MAP : no matching MAP statement
|
||||
too many symbols
|
||||
%s : declared with wrong type
|
||||
%fs : intrinsic function illegal as actual argument
|
||||
LEN : illegal expression
|
||||
%s : multiple arguments
|
||||
%s : cannot convert FAR address to NEAR
|
||||
%s : incorrect use of intrinsic function
|
||||
%s : cannot convert to %s
|
||||
%s : incorrect use of intrinsic function
|
||||
%c : illegal separator
|
||||
%s : cannot open include file
|
||||
octal value too big for byte
|
||||
%s : nonstandard character string delimiter
|
||||
closing quote missing
|
||||
CHARACTER constant too long
|
||||
zero-length CHARACTER constant
|
||||
empty escape sequence
|
||||
integer string too long
|
||||
alternate bases illegal
|
||||
illegal base value
|
||||
INTEGER constant must follow #
|
||||
illegal REAL constant
|
||||
%s : include file nested too deeply
|
||||
INTEGER value overflow
|
||||
FORMAT string too long
|
||||
missing ] following attribute string
|
||||
%s : attribute repeated
|
||||
colon expected following ALIAS
|
||||
opening quote missing
|
||||
unrecognized attribute
|
||||
%s : name too long; truncated
|
||||
%s : already specified in $%sLARGE
|
||||
INCLUDE : argument must be character constant
|
||||
INCLUDE : quoted string missing
|
||||
metacommands are nonstandard
|
||||
$DEBUG:'<debug-list>' illegal with $FREEFORM
|
||||
%c : nonalphabetic character in $DEBUG ignored
|
||||
$DEBUG:'<debug-list>' : string expected
|
||||
$DECMATH not supported
|
||||
no matching $IF
|
||||
no matching $IF
|
||||
no matching $IF
|
||||
$INCLUDE:'<filename>' : string expected
|
||||
$%s : integer constant out of range
|
||||
$%s:<integer constant> : integer constant expected
|
||||
$%sLARGE already set
|
||||
$%sLARGE illegal in executable statements
|
||||
$MESSAGE:'<message>' : string expected
|
||||
$STORAGE:<number> : 2 or 4 expected
|
||||
$SUBTITLE:'<subtitle>' : string expected
|
||||
$TITLE:'<title>' : string expected
|
||||
unrecognized metacommand
|
||||
metacommand already set
|
||||
metacommand must come before all FORTRAN statements
|
||||
characters following metacommand ignored
|
||||
Hollerith constant exceeds 1313 characters
|
||||
zero-length Hollerith constant
|
||||
Hollerith constant : text length disagrees with given length
|
||||
Hollerith not allowed
|
||||
%s : non-FORTRAN character
|
||||
%s : error closing file
|
||||
illegal label field
|
||||
zero-value label field
|
||||
free-form label too long
|
||||
label on continuation line
|
||||
$IF : no matching $ENDIF
|
||||
first statement line must have ' ' or '0' in column 6
|
||||
too many continuation lines
|
||||
label on blank line
|
||||
relational operator expected
|
||||
relational operator expected
|
||||
invalid integer constant
|
||||
%c : unrecognized character
|
||||
%s : defined with no value
|
||||
%s : not defined
|
||||
logical operator expected
|
||||
logical operator expected
|
||||
syntax error
|
||||
syntax error
|
||||
operand expected
|
||||
invalid expression in metacommand
|
||||
invalid integer constant
|
||||
unmatched parenthesis
|
||||
%c : unrecognized character
|
||||
%c : unrecognized character
|
||||
unmatched parenthesis
|
||||
%s : defined with no value
|
||||
%s : not defined
|
||||
%c : unrecognized character
|
||||
syntax error
|
||||
$DEFINE : %s : already defined
|
||||
$UNDEFINE : %s : not defined
|
||||
invalid integer constant
|
||||
%c : unrecognized character
|
||||
%s : defined with no value
|
||||
%c : unexpected characters at end of expression
|
||||
illegal %s flag, would overwrite %s with %s
|
||||
too many %s flags, %s
|
||||
%s : unknown option (%c)
|
||||
%s : illegal number in switch
|
||||
illegal command-line option
|
||||
out of disk space for compiler internal file
|
||||
write error on compiler internal file
|
||||
%s : cannot open file
|
||||
%s : name too long
|
||||
cannot open internal files
|
||||
-4Y and -4N : both options used for argument
|
||||
-4Y and -4N : both options used; -4Y assumed
|
||||
syntax error
|
||||
END missing
|
||||
%s : unrecognized option
|
||||
-4I2 or -4I4 expected
|
||||
illegal -A option
|
||||
-W%d : illegal warning level ignored
|
||||
-Zp%d : illegal pack value ignored
|
||||
program too large for memory
|
||||
RETURN : integer or character expression required
|
||||
%fs : alternate RETURN missing
|
||||
%s : DIMENSION : not array
|
||||
statement illegal with INTERFACE
|
||||
statement illegal in INTERFACE
|
||||
statement illegal in BLOCK DATA
|
||||
a CASE statement must follow a SELECT CASE statement
|
||||
statement illegal in STRUCTURE declaration
|
||||
%s : formal argument not local variable
|
||||
%s : formal argument not a variable
|
||||
%s : repeated in formal-argument list
|
||||
%s : statement function already declared
|
||||
%s : statement function : too few actual arguments
|
||||
%s : statement function : too many actual arguments
|
||||
%fs : formal argument %fs : never used
|
||||
%fs : formal argument %fs : subprogram passed by VALUE
|
||||
%fs : formal argument %fs : symbol-class mismatch
|
||||
%fs : language attribute mismatch
|
||||
%fs : type redefined
|
||||
%fs : length redefined
|
||||
%fs : NEAR/FAR attribute mismatch
|
||||
%fs : VARYING attribute mismatch
|
||||
%fs : previously called near
|
||||
%fs : previously called far
|
||||
%fs : defined with different number of arguments
|
||||
%fs : formal argument %fs : Hollerith passed to CHARACTER formal argument
|
||||
%fs : formal argument %fs : VALUE/REFERENCE mismatch
|
||||
%fs : formal argument %fs : NEAR/FAR/HUGE mismatch
|
||||
%fs : formal argument %fs : previously passed by value, now by reference
|
||||
%fs : formal argument %fs : previously passed by reference, now by value
|
||||
%fs : formal argument %fs : previously passed with NEAR, now with FAR or HUGE
|
||||
%fs : formal argument %fs : previously passed with FAR or HUGE, now with NEAR
|
||||
%fs : formal argument %fs : CHARACTER *(*) cannot pass by value
|
||||
%s : formal argument redefined
|
||||
%s : illegal as formal argument
|
||||
%s : formal argument previously initialized
|
||||
%s : EQUIVALENCE : formal argument illegal
|
||||
%s : COMMON : formal argument illegal
|
||||
ENTRY : formal argument %s : attribute %s : mismatch
|
||||
alternate RETURN only legal within SUBROUTINE
|
||||
ENTRY seen before FUNCTION or SUBROUTINE
|
||||
ENTRY not in function or subroutine
|
||||
too many PROGRAM statements
|
||||
%s : formal argument used as ENTRY
|
||||
%s : PROGRAM : name redefined
|
||||
%s : used or declared before ENTRY statement
|
||||
%fs : RECORD : illegal FUNCTION type
|
||||
%s : subprogram used or declared before INTERFACE
|
||||
%s : already defined
|
||||
%s : already used or declared with different symbol class
|
||||
%s : ENTRY : CHARACTER lengths differ
|
||||
%s : ENTRY : CHARACTER and non-CHARACTER types mixed in ENTRY statements
|
||||
too many ENTRY statements
|
||||
%fs : INTERFACE : not formal argument
|
||||
%fs : ALLOCATABLE : must be an array
|
||||
%fs : assumed-size array : cannot pass by value
|
||||
%fs : adjustable-size array : cannot pass by value
|
||||
statement out of order or END missing
|
||||
statement out of order
|
||||
no state transition for root of tree
|
||||
%fs : name too long; truncated
|
||||
%s : truncated to 6 characters
|
||||
%s : not previously declared
|
||||
label %ld : undefined
|
||||
%fs : FUNCTION : return variable not set
|
||||
%fs : variable declared but not used
|
||||
%fs : variable used but not defined
|
||||
%fs : assumed-size array : not reference argument
|
||||
%fs : adjustable-size array : not reference argument
|
||||
%fs : CHARACTER*(*) type illegal
|
||||
%fs : VARYING illegal on symbol class
|
||||
%fs : $ illegal in C name
|
||||
%s : illegal length
|
||||
value %ld : INTEGER : range error
|
||||
CHARACTER*(*) in multi-thread may not work
|
||||
integer constant expression expected
|
||||
length specification illegal
|
||||
length %ld : illegal type length
|
||||
only C attribute legal on INTEGER type
|
||||
%s : not a STRUCTURE name
|
||||
attributes illegal on non-INTEGER types
|
||||
DOUBLE PRECISION : length specifier illegal
|
||||
DOUBLE COMPLEX : length specifier illegal
|
||||
%fs : missing type
|
||||
illegal use of Hollerith constant
|
||||
illegal type conversion
|
||||
cannot convert between CHARACTER and non-CHARACTER constants
|
||||
cannot convert type to %s
|
||||
%fs : element is an array
|
||||
unknown primitive type
|
||||
missing symbol reference
|
||||
unknown constant type
|
||||
%fs : array expression : cannot be adjustable-size array
|
||||
%fs : array expression : cannot be assumed-size array
|
||||
%fs : array expression : cannot be allocatable array
|
||||
%fs : array expression : argument does not conform
|
||||
%fs : array expression : argument does not conform
|
||||
%fs : subscript %ld out of range
|
||||
%fs : subscript %ld out of range
|
||||
%fs : subscript %d : not integer
|
||||
%fs : too few array subscripts
|
||||
%fs : too many array subscripts
|
||||
%fs : array subscripts missing
|
||||
%fs : adjustable-size array : used before definition
|
||||
%s : not an element of %fs
|
||||
%fs : variable : argument list illegal
|
||||
%fs : substring on noncharacter item
|
||||
%fs : not a structure
|
||||
%s : symbolic constant : subscript illegal
|
||||
%s : symbolic constant : substring illegal
|
||||
%s : variable : argument list illegal
|
||||
%s : function : argument list missing
|
||||
%s : not a variable
|
||||
%s : not a structure
|
||||
%s : function : substring operator illegal
|
||||
left side of assignment illegal
|
||||
%fs : assignment using active DO variable illegal
|
||||
incompatible types in assignment
|
||||
%fs : formal argument %fs : Hollerith illegal with CHARACTER
|
||||
%fs : formal argument %fs : type mismatch
|
||||
%fs : formal argument %fs : type mismatch
|
||||
%fs : formal argument %fs : length mismatch
|
||||
%fs : formal argument %fs : length mismatch
|
||||
%fs : alternate RETURN statement missing
|
||||
%fs : formal argument * : actual not alternate-return label
|
||||
%fs : formal argument %fs : not alternate-return label
|
||||
%fs : formal argument %fs : actual not subprogram
|
||||
%fs : formal argument %fs : subprogram mismatch
|
||||
%fs : formal argument %fs : not subprogram
|
||||
%fs : NEAR formal argument %fs : actual has FAR or HUGE address
|
||||
%fs : formal argument %s : passed FAR/HUGE
|
||||
%fs : formal argument %fs : length mismatch
|
||||
%fs : formal argument %fs : type mismatch
|
||||
%fs : not function or subroutine
|
||||
%fs : illegal use of function or subroutine
|
||||
%fs : type redefined
|
||||
%fs : length redefined
|
||||
%fs : too few actual arguments
|
||||
%fs : too many actual arguments
|
||||
%fs : directly recursive
|
||||
%fs : Hollerith constant passed by value
|
||||
%fs : assumed-size array %fs : cannot pass by value
|
||||
%fs : adjustable-size array %fs : cannot pass by value
|
||||
%fs : value argument bigger than segment
|
||||
%fs : formal argument %fs : CHARACTER expressions cannot be passed by VALUE
|
||||
nonconstant CHARACTER length : cannot pass by value
|
||||
incompatible types for formal and actual arguments
|
||||
%fs : formal argument %fs : length mismatch
|
||||
%fs : FAR formal argument %fs : passed HUGE array
|
||||
%fs : procedure must be EXTERNAL
|
||||
%fs : cannot use CHARACTER *(*) function
|
||||
consecutive arithmetic operators illegal
|
||||
negative exponent with zero base
|
||||
division by zero
|
||||
nonlogical operand
|
||||
operand type must be logical or integer
|
||||
non-numeric operand
|
||||
exponentiation of COMPLEX and DOUBLE PRECISION together illegal
|
||||
non-numeric operand
|
||||
operand types do not match
|
||||
invalid operator for structure variable operands
|
||||
operands of relation not numeric or character
|
||||
one numeric, one character operand
|
||||
only comparisons by .EQ. and .NE. allowed for complex items
|
||||
concatenation of expressions illegal
|
||||
noncharacter operand
|
||||
consecutive relational operators illegal
|
||||
illegal implied-DO list in expression
|
||||
illegal Xxprep node type
|
||||
%s : COMPLEX : type conversion error
|
||||
%s : REAL : type conversion error
|
||||
%s : operation error with COMPLEX operands
|
||||
%s : operation error with REAL operands
|
||||
%fs : symbol class illegal here
|
||||
DO : too many expressions
|
||||
label %ld : not between 1 and 99999
|
||||
I/O implied-DO list : list empty
|
||||
I/O implied-DO list : too many expressions
|
||||
I/O implied-DO list : illegal assignment
|
||||
I/O implied-DO list : too few expressions
|
||||
I/O implied-DO list : assigment missing
|
||||
assignments in COMPLEX constant illegal
|
||||
illegal assignment in parenthesized expression
|
||||
numeric constant expected
|
||||
%s : not symbolic constant
|
||||
component of COMPLEX number not INTEGER or REAL
|
||||
parser stack overflow, statement too complex
|
||||
syntax error
|
||||
%s : not %s
|
||||
%s : noncharacter array nonstandard
|
||||
%s : array subscript missing
|
||||
%s : not a variable or array element
|
||||
label %ld : not between 1 and 99999
|
||||
UNIT = * illegal for this statement
|
||||
illegal unit specifier
|
||||
illegal format specifier
|
||||
HUGE format illegal
|
||||
FAR format illegal in medium model
|
||||
%s : illegal statement label
|
||||
%s : NML= : not a namelist group name
|
||||
NML= : namelist group name missing
|
||||
%s : appears twice
|
||||
I/O option %ld : <keyword>= missing
|
||||
%s : option illegal for this statement
|
||||
%s : option nonstandard
|
||||
INQUIRE : either UNIT= or FILE= needed
|
||||
UNIT= missing
|
||||
UNIT=* : unformatted I/O illegal
|
||||
format specification illegal when namelist specified
|
||||
END= : illegal when REC= present
|
||||
REC= : illegal when FMT= *
|
||||
illegal I/O formatting for internal unit
|
||||
REC= illegal for internal unit
|
||||
FORMAT : label missing
|
||||
ASSIGN : too many format labels
|
||||
no ASSIGN statements for FMT=<integer variable>
|
||||
initial left parenthesis expected in format
|
||||
repeat count on nonrepeatable descriptor
|
||||
integer expected preceding H, X, or P edit descriptor
|
||||
positive integer expected in format
|
||||
N or Z expected after B in format
|
||||
format nesting limit exceeded
|
||||
%c or $ : nonstandard edit descriptor in format
|
||||
Z : nonstandard edit descriptor in format
|
||||
M field exceeds W field in I edit descriptor
|
||||
'.' : expected in format
|
||||
unexpected end of format
|
||||
'%c' : unexpected character in format
|
||||
unexpected character in format
|
||||
integer expected in format
|
||||
separator expected in format
|
||||
RECL= : out of range
|
||||
UNIT= : not between -32767 and 32767
|
||||
%s : unrecognized value in option
|
||||
ACCESS= : nonstandard option value
|
||||
RECL= required to open direct-access file
|
||||
%fs : too few array subscripts
|
||||
%s : attributes illegal on array bounds
|
||||
%fs : * : illegal bound
|
||||
%fs : too many array subscripts
|
||||
%s : STAT= must be last parameter
|
||||
%s : STAT= variable must be scalar integer
|
||||
%s : %s : not allocatable array
|
||||
illegal input list item
|
||||
%s : * illegal with this option
|
||||
%fs : assumed-size array illegal here
|
||||
%fs : HUGE internal units illegal
|
||||
%fs : record length too large for internal unit
|
||||
%s : I/O of entire structures illegal
|
||||
FAR or HUGE I/O item illegal in medium model
|
||||
%fs : cannot modify active DO variable
|
||||
I/O item illegal in namelist I/O
|
||||
LOCKING : nonstandard
|
||||
%s : lowercase in string nonstandard
|
||||
|
BIN
Microsoft Fortran v5/bin/F1.EXE
Normal file
BIN
Microsoft Fortran v5/bin/F1.EXE
Normal file
Binary file not shown.
BIN
Microsoft Fortran v5/bin/F2.EXE
Normal file
BIN
Microsoft Fortran v5/bin/F2.EXE
Normal file
Binary file not shown.
68
Microsoft Fortran v5/bin/F23.ERR
Normal file
68
Microsoft Fortran v5/bin/F23.ERR
Normal file
@ -0,0 +1,68 @@
|
||||
/* fatals */
|
||||
|
||||
1001 "Internal Compiler Error\n\t\t(compiler file '%s', line %d)\n\t\tContact Microsoft Technical Support"
|
||||
1002 "out of heap space"
|
||||
1003 "error count exceeds %d; stopping compilation"
|
||||
1004 "unexpected EOF"
|
||||
1005 "string too big for buffer"
|
||||
1006 "write error on compiler intermediate file"
|
||||
1007 "unrecognized flag '%s' in '%s'"
|
||||
1027 "DGROUP data allocation exceeds 64K"
|
||||
1028 "infinite recursion in cnstrpush"
|
||||
1029 "there are > 512 bytes of arguments"
|
||||
1030 "there are > 512 bytes of local variables"
|
||||
1031 "limit exceeded for nesting function calls"
|
||||
1032 "cannot open object listing file '%s'"
|
||||
1033 "cannot open assembly language output file '%s'"
|
||||
1034 "cannot open source file '%s'"
|
||||
1035 "expression too complex, please simplify"
|
||||
1036 "cannot open source listing file '%s'"
|
||||
1037 "cannot open object file '%s'"
|
||||
1038 "unexpected end of file in Pass 3"
|
||||
1039 "unrecoverable heap overflow in Pass 3"
|
||||
1040 "unexpected EOF in source file '%s'"
|
||||
1041 "cannot open compiler intermediate file - no more files"
|
||||
1042 "cannot open compiler intermediate file - no such file or directory"
|
||||
1043 "cannot open compiler intermediate file"
|
||||
1044 "out of disk space for compiler intermediate file"
|
||||
1045 "floating-point overflow"
|
||||
1046 "bad %s flag, would overwrite '%s' with '%s'"
|
||||
1047 "too many %s flags, '%s'"
|
||||
1048 "unknown option '%c' in '%s'"
|
||||
1049 "invalid numerical argument '%s'"
|
||||
1050 "%s : code segment too large\n"
|
||||
1051 "program too complex"
|
||||
1000 "UNKNOWN FATAL ERROR\n\t\tContact Microsoft Technical Support"
|
||||
|
||||
/* errors */
|
||||
|
||||
2023 "divide by 0"
|
||||
2024 "mod by 0"
|
||||
2124 "CODE GENERATION ERROR\n\t\tContact Microsoft Technical Support"
|
||||
2125 "%s : allocation exceeds 64K"
|
||||
2126 "%s : automatic allocation exceeds %s"
|
||||
2127 "parameter allocation exceeds 32K"
|
||||
2128 "%s : huge array cannot be aligned to segment boundary"
|
||||
2129 "static function '%s' not found\n"
|
||||
2000 "UNKNOWN ERROR\n\t\tContact Microsoft Technical Support"
|
||||
|
||||
/* warnings */
|
||||
|
||||
4056 "overflow in constant arithmetic"
|
||||
4057 "overflow in constant multiplication"
|
||||
4058 "address of frame variable taken, DS != SS"
|
||||
4059 "segment lost in conversion"
|
||||
4060 "conversion of long address to short address"
|
||||
4061 "long/short mismatch in argument : conversion supplied"
|
||||
4062 "near/far mismatch in argument : conversion supplied"
|
||||
4063 "%s : function too large for post-optimizer\n"
|
||||
4064 "procedure too large, skipping %s optimization and continuing\n"
|
||||
4065 "recoverable heap overflow in post-optimizer - some optimizations may be missed\n"
|
||||
4066 "local symbol table overflow - some local symbols may be missing in listings\n"
|
||||
4069 "conversion of near pointer to long integer"
|
||||
4070 "function called as procedure"
|
||||
4072 "Insufficient memory to process debugging information"
|
||||
4073 "scoping too deep, deepest scoping merged when debugging"
|
||||
4186 "string too long - truncated to %d characters"
|
||||
4187 "Debugging information exceeds 64K - extra ignored"
|
||||
4000 "UNKNOWN WARNING\n\t\tContact Microsoft Technical Support"
|
BIN
Microsoft Fortran v5/bin/F3.EXE
Normal file
BIN
Microsoft Fortran v5/bin/F3.EXE
Normal file
Binary file not shown.
BIN
Microsoft Fortran v5/bin/F3S.EXE
Normal file
BIN
Microsoft Fortran v5/bin/F3S.EXE
Normal file
Binary file not shown.
29
Microsoft Fortran v5/bin/FL.ERR
Normal file
29
Microsoft Fortran v5/bin/FL.ERR
Normal file
@ -0,0 +1,29 @@
|
||||
/* error messages */
|
||||
|
||||
2001 "too many symbols predefined with -D"
|
||||
2002 "a previously defined model specification has been overridden"
|
||||
2003 "missing source file name"
|
||||
2008 "too many %s flags, '%s'"
|
||||
2011 "only one floating point model allowed"
|
||||
2012 "too many linker flags on command line"
|
||||
2016 "%s and %s are incompatible"
|
||||
2018 "cannot open linker cmd file"
|
||||
2019 "cannot overwrite the source/object file, '%s'"
|
||||
2021 "invalid numerical argument '%s'"
|
||||
2022 "cannot open help file, '%s'"
|
||||
2027 "could not execute '%s'"
|
||||
2000 "UNKNOWN COMMAND LINE ERROR\n\t\tContact Microsoft Technical Support"
|
||||
|
||||
/* warning messages */
|
||||
|
||||
4001 "listing has precedence over assembly output"
|
||||
4002 "ignoring unknown flag '%s'"
|
||||
4003 "Different processors selected for code generation"
|
||||
4005 "could not execute '%s';\nPlease enter new file name (full path) or Ctrl-C to quit: "
|
||||
4008 "non-standard model -- defaulting to large model libraries"
|
||||
4009 "threshold only for far/huge data, ignored"
|
||||
4013 "combined listing has precedence over object listing"
|
||||
4014 "invalid value %d for '%s'. Default %d is used"
|
||||
4018 ".DEF files supported in protected mode only"
|
||||
4019 "string too long. Truncated to %d characters"
|
||||
4000 "UNKNOWN COMMAND LINE WARNING\n\t\tContact Microsoft Technical Support"
|
BIN
Microsoft Fortran v5/bin/FL.EXE
Normal file
BIN
Microsoft Fortran v5/bin/FL.EXE
Normal file
Binary file not shown.
82
Microsoft Fortran v5/bin/FL.HLP
Normal file
82
Microsoft Fortran v5/bin/FL.HLP
Normal file
@ -0,0 +1,82 @@
|
||||
FORTRAN COMPILER OPTIONS
|
||||
-METACOMMAND-
|
||||
/4cc<string> conditional compilation
|
||||
/4I{2|4} default integer size
|
||||
/4{Y|N}6 fortran 66
|
||||
/4{Y|N}a make variables AUTOMATIC
|
||||
/4{Y|N}b debug
|
||||
/4{Y|N}d declare
|
||||
/4{Y|N}f free-form format
|
||||
/4{Y|N}i conformed to IBM extensions
|
||||
/4{Y|N}s strict syntax
|
||||
/4{Y|N}t truncate variable names
|
||||
/4{Y|N}v conformed to VAX extensions
|
||||
-SOURCE LISTINGS-
|
||||
/Slnumber listing page width
|
||||
/Sttitle Title
|
||||
/Spnumber listing page size
|
||||
/Sssub-title Sub_title
|
||||
-MEMORY MODEL-
|
||||
/AM medium model
|
||||
/AL large model
|
||||
/AH huge model
|
||||
-OPTIMIZATION-
|
||||
/O enable optimization (same as /Ot)
|
||||
/Od disable optimizations
|
||||
/Ol enable loop optimizations
|
||||
/Op enable precision optimizations
|
||||
/Os optimize for space
|
||||
/Ot optimize for speed
|
||||
/Ox max. optimization (/Olt /Gs)
|
||||
-CODE GENERATION-
|
||||
/G0 8086 instructions
|
||||
/G1 186 instructions
|
||||
/G2 286 instructions
|
||||
/Ge enable stack checking
|
||||
/Gi incremental linking
|
||||
/Gs disable stack checking
|
||||
/Gt[number] data size threshold
|
||||
-OUTPUT FILES-
|
||||
/Fa[assembly listing file]
|
||||
/Fb[bound executable file]
|
||||
/Fc[mixed object/source listing file]
|
||||
/Fe<executable file>
|
||||
/Fl[object listing file]
|
||||
/Fm[map file]
|
||||
/Fo<object file>
|
||||
/Fs[source listing file]
|
||||
-LANGUAGE-
|
||||
/Zd line number information
|
||||
/Zi symbolic debugging information
|
||||
/Zl remove default library info
|
||||
/Zp[n] pack struct on n-byte boundary
|
||||
/Zs syntax check only
|
||||
-FLOATING POINT-
|
||||
/FPa calls with altmath
|
||||
/FPc calls with emulator
|
||||
/FPc87 calls with 8087 library
|
||||
/FPi inline with emulator
|
||||
/FPi87 inline with 8087
|
||||
-MISCELLANEOUS-
|
||||
/c compile only, no link
|
||||
/D<name>[=text] define macro
|
||||
/H<number> external name length
|
||||
/I<name> add "include file" path
|
||||
/MD support DLL
|
||||
/MT support multi-threads
|
||||
/ND<name> set data segment's name
|
||||
/NT<name> set text segment's name
|
||||
/Tf<file> compile file without .for
|
||||
/V<string> set version string
|
||||
/W<number> warning level
|
||||
/X ignore "include file" paths
|
||||
-MASM SUPPORT-
|
||||
/MAswitch set MASM switch
|
||||
/Ta<file> assemble file without .asm
|
||||
/Fx[cross reference file]
|
||||
-LINKING-
|
||||
/F<hex_number> stack size (hex. bytes)
|
||||
/Lc link compatibility mode executable
|
||||
/Lr link compatibility mode executable
|
||||
/Lp link protect mode executable
|
||||
/link [linker_options_and_libraries]
|
BIN
Microsoft Fortran v5/bin/ILINK.EXE
Normal file
BIN
Microsoft Fortran v5/bin/ILINK.EXE
Normal file
Binary file not shown.
BIN
Microsoft Fortran v5/bin/ILINKSTB.OVL
Normal file
BIN
Microsoft Fortran v5/bin/ILINKSTB.OVL
Normal file
Binary file not shown.
BIN
Microsoft Fortran v5/bin/IMPLIB.EXE
Normal file
BIN
Microsoft Fortran v5/bin/IMPLIB.EXE
Normal file
Binary file not shown.
BIN
Microsoft Fortran v5/bin/LIB.EXE
Normal file
BIN
Microsoft Fortran v5/bin/LIB.EXE
Normal file
Binary file not shown.
BIN
Microsoft Fortran v5/bin/LINK.EXE
Normal file
BIN
Microsoft Fortran v5/bin/LINK.EXE
Normal file
Binary file not shown.
BIN
Microsoft Fortran v5/bin/M.EXE
Normal file
BIN
Microsoft Fortran v5/bin/M.EXE
Normal file
Binary file not shown.
BIN
Microsoft Fortran v5/bin/M.HLP
Normal file
BIN
Microsoft Fortran v5/bin/M.HLP
Normal file
Binary file not shown.
BIN
Microsoft Fortran v5/bin/MHELP.MXT
Normal file
BIN
Microsoft Fortran v5/bin/MHELP.MXT
Normal file
Binary file not shown.
BIN
Microsoft Fortran v5/bin/NMAKE.EXE
Normal file
BIN
Microsoft Fortran v5/bin/NMAKE.EXE
Normal file
Binary file not shown.
67
Microsoft Fortran v5/bin/QUICK.INI
Normal file
67
Microsoft Fortran v5/bin/QUICK.INI
Normal file
@ -0,0 +1,67 @@
|
||||
; TOOLS.INI file for QUICK configuration
|
||||
|
||||
[M MEP]
|
||||
Arg:Alt+A
|
||||
Argcompile:F5
|
||||
Assign:Alt+=
|
||||
Backtab:Shift+Tab
|
||||
Begline:Home
|
||||
Cancel:Esc
|
||||
Cdelete:Ctrl+G
|
||||
Compile:Shift+F3
|
||||
Copy:Ctrl+Ins
|
||||
Down:Down
|
||||
Down:Ctrl+X
|
||||
Emacscdel:Bksp
|
||||
Emacsnewl:Enter
|
||||
Endline:End
|
||||
Execute:F10
|
||||
Exit:Alt+X
|
||||
Help:F1
|
||||
Home:Ctrl+Home
|
||||
Information:Shift+F1
|
||||
Initialize:Alt+F10
|
||||
Insertmode:Ins
|
||||
Insertmode:Ctrl+V
|
||||
Lasttext:Alt+L
|
||||
Ldelete:Ctrl+Y
|
||||
Left:Left
|
||||
Linsert:Ctrl+N
|
||||
Mark:Alt+M
|
||||
Meta:F9
|
||||
Mlines:Ctrl+W
|
||||
Mpage:Pgup
|
||||
Mpage:Ctrl+R
|
||||
Mpara:Ctrl+Pgup
|
||||
Msearch:F4
|
||||
Mword:Ctrl+Left
|
||||
Paste:Shift+Ins
|
||||
Pbal:Ctrl+[
|
||||
Plines:Ctrl+Z
|
||||
Ppage:Pgdn
|
||||
Ppage:Ctrl+C
|
||||
Ppara:Ctrl+Pgdn
|
||||
Psearch:F3
|
||||
Pword:Ctrl+Right
|
||||
Pword:Ctrl+F
|
||||
Qreplace:Alt+F3
|
||||
Quote:Alt+Q
|
||||
Refresh:Alt+R
|
||||
Replace:Ctrl+L
|
||||
Right:Right
|
||||
Right:Ctrl+D
|
||||
Sdelete:Del
|
||||
Setfile:F2
|
||||
Setwindow:Ctrl+]
|
||||
Shell:Shift+F9
|
||||
Sinsert:Alt+Ins
|
||||
Tab:Tab
|
||||
Undo:Alt+Bksp
|
||||
Up:Up
|
||||
Up:Ctrl+E
|
||||
Window:F6
|
||||
;
|
||||
; to load the wordstar extension to enable ctrl+QS and ctrl+QD
|
||||
; remove the semicolon from the following line and fill in the correct
|
||||
; path
|
||||
; load:ws.zxt
|
BIN
Microsoft Fortran v5/bin/SETENV.EXE
Normal file
BIN
Microsoft Fortran v5/bin/SETENV.EXE
Normal file
Binary file not shown.
588
Microsoft Fortran v5/bin/TOOLS.INI
Normal file
588
Microsoft Fortran v5/bin/TOOLS.INI
Normal file
@ -0,0 +1,588 @@
|
||||
[M MEP]
|
||||
; TOOLS.INI file for BRIEF(tm) configuration
|
||||
|
||||
NotBrief:=arg "No equivalent in the Microsoft Editor" message
|
||||
ToolsIni:=arg "$INIT:tools.ini" setfile
|
||||
|
||||
;
|
||||
; GLOBAL CONFIGURATION
|
||||
;
|
||||
autosave:no
|
||||
undocount:30
|
||||
autostart:=toggle_re
|
||||
vscroll:1
|
||||
errprompt:no
|
||||
nounixre:
|
||||
rmargin:70
|
||||
|
||||
;
|
||||
; Backup File Toggle. Toggle through M.E.'s backup options and let
|
||||
; the user know that something extra is going on.
|
||||
;
|
||||
backup:bak
|
||||
baknone:=arg "backup:none" assign arg "File backups turned off!" message \
|
||||
arg "bakbak:Ctrl+W" assign
|
||||
bakbak:=arg "backup:bak" assign arg "Single backups enabled" message \
|
||||
arg "bakundel:Ctrl+W" assign
|
||||
bakundel:= arg "backup:undel" assign arg "Multiple backups enabled" message \
|
||||
arg "baknone:Ctrl+W" assign
|
||||
bakundel:Ctrl+W
|
||||
|
||||
;
|
||||
; Beginning of Line
|
||||
;
|
||||
beginning_of_line:=meta begline
|
||||
beginning_of_line:Home
|
||||
|
||||
;
|
||||
; Buffer List
|
||||
;
|
||||
Information:Alt+B
|
||||
|
||||
;
|
||||
; Case Sensitivity Toggle
|
||||
;
|
||||
case:yes
|
||||
caseon:=arg "case:" assign arg "Enabled Case Sensitivity" message \
|
||||
arg "caseoff:ctrl+f5" assign
|
||||
caseoff:=arg "nocase:" assign arg "Disabled Case Sensitivity" message \
|
||||
arg "caseon:ctrl+f5" assign
|
||||
caseoff:ctrl+f5
|
||||
|
||||
;
|
||||
; Center Line Horizontally
|
||||
; Center Line in Window.
|
||||
; There are no centering functions in M.E.
|
||||
;
|
||||
center:=NotBrief
|
||||
NotBrief:Ctrl+C
|
||||
|
||||
;
|
||||
; Change Output File
|
||||
;
|
||||
output_file:=arg arg "Enter new output file name: " prompt -> setfile
|
||||
output_file:Alt+O
|
||||
|
||||
;
|
||||
; Change Window
|
||||
;
|
||||
Window:F2
|
||||
|
||||
;
|
||||
; Color. To set colors in M.E., assign a new value to one of the
|
||||
; following switches. The value is a two digit hex number where the
|
||||
; first digit is the background color and the second is the foreground.
|
||||
; The number to color mapping is the same as in Brief. The color change
|
||||
; will not take effect until you restart the editor. To see an immediate
|
||||
; change, mark (select) the color assignment lines and press Alt+=.
|
||||
;
|
||||
color:=ToolsIni begfile arg "color:=ToolsIni" psearch up up up up up up up
|
||||
fgColor:07 ; Text color
|
||||
selColor:70 ; Selection color
|
||||
hgColor:02 ; Search text color
|
||||
infColor:06 ; Message color
|
||||
staColor:03 ; Status Line
|
||||
errColor:04 ; Error Color
|
||||
wdColor:07 ; Window Borders
|
||||
|
||||
;
|
||||
; Compile Buffer. Compile command is set with the 'extmake' switch
|
||||
; (see documentation).
|
||||
;
|
||||
compile_it:=Arg Compile
|
||||
compile_it:Alt+F10
|
||||
|
||||
;
|
||||
; Create Key Assignment
|
||||
;
|
||||
assign_to_key:=arg <assign> setfile
|
||||
|
||||
;
|
||||
; Create Window. Window handling is very different in M.E.
|
||||
;
|
||||
; To create a new window, move the cursor to the line or column where
|
||||
; the new border is to be placed and do:
|
||||
;
|
||||
; Alt+A F3 - to create a horizontal border
|
||||
; Alt+A Alt+A F3 - to create a vertical border
|
||||
;
|
||||
; To change the current window, press F3.
|
||||
;
|
||||
; To delete an existing window, go to that window and press F4.
|
||||
;
|
||||
; Windows cannot be resized.
|
||||
;
|
||||
create_edge:=ToolsIni begfile arg "create_edge:=" psearch up up up up \
|
||||
up up up up up up up up up up arg "window:F3" assign
|
||||
create_edge:F3
|
||||
|
||||
;
|
||||
; Cut to Scrap. Doesn't take current line if nothing is selected.
|
||||
;
|
||||
delete:num-
|
||||
|
||||
;
|
||||
; Delete
|
||||
;
|
||||
clear:=meta delete
|
||||
clear:del
|
||||
|
||||
;
|
||||
; Delete Current Buffer
|
||||
;
|
||||
delete_curr_buffer:=arg refresh
|
||||
delete_curr_buffer:Ctrl+_
|
||||
|
||||
;
|
||||
; Delete Line. In M.E., the line goes to the clipboard.
|
||||
;
|
||||
ldelete:Alt+D
|
||||
|
||||
;
|
||||
; Delete Macro File
|
||||
;
|
||||
NotBrief:Shift+F9
|
||||
|
||||
;
|
||||
; Delete Next Word
|
||||
;
|
||||
delete_next_word:=Arg Pword Clear
|
||||
|
||||
;
|
||||
; Delete Previous Word
|
||||
;
|
||||
delete_previous_word:=Pword Arg Mword Clear
|
||||
delete_previous_word:Ctrl+Bksp
|
||||
|
||||
;
|
||||
; Delete to End of Line
|
||||
;
|
||||
delete_to_eol:=arg ldelete
|
||||
delete_to_eol:Alt+K
|
||||
|
||||
;
|
||||
; Delete Window
|
||||
;
|
||||
delete_edge:=meta window
|
||||
delete_edge:F4
|
||||
|
||||
;
|
||||
; Display File Name
|
||||
;
|
||||
display_file_name:=arg curfile message
|
||||
display_file_name:Alt+F
|
||||
|
||||
;
|
||||
; Display version ID
|
||||
;
|
||||
version:=arg "Microsoft Editor Version 1.02" message
|
||||
version:Alt+V
|
||||
|
||||
;
|
||||
; EditFile
|
||||
;
|
||||
EditFile:=arg "File: " prompt -> setfile
|
||||
EditFile:Alt+E
|
||||
|
||||
;
|
||||
; End of Window
|
||||
;
|
||||
end_of_window:=meta down
|
||||
end_of_window:Ctrl+End
|
||||
|
||||
;
|
||||
; Execute Command. In M.E. you can enter any series of functions or
|
||||
; macros, including string literals "in quotes".
|
||||
;
|
||||
execute_macro:=arg "Command: " prompt -> execute
|
||||
execute_macro:F10
|
||||
|
||||
;
|
||||
; Exit
|
||||
;
|
||||
exit:Alt+X
|
||||
|
||||
;
|
||||
; Go to Line
|
||||
;
|
||||
GoTo:=arg "Go to line: " prompt -> mark
|
||||
GoTo:alt+g
|
||||
|
||||
;
|
||||
; Go to routine.
|
||||
;
|
||||
routines:=arg "You can use marks to go to routines. See documentation" \
|
||||
message
|
||||
routines:Ctrl+G
|
||||
|
||||
;
|
||||
; Help. First make sure that help is loaded. Then attach context-
|
||||
; sensitive help to Alt+H.
|
||||
;
|
||||
load:$PATH:mhelp
|
||||
mhctx:Alt+H
|
||||
|
||||
;
|
||||
; Incremental Search
|
||||
;
|
||||
i_search:=NotBrief
|
||||
|
||||
;
|
||||
; Insert Mode Toggle. Toggle between Insert and Overstrike modes and issue
|
||||
; a message telling the user what has been done.
|
||||
;
|
||||
enterinsmode:yes
|
||||
insert_mode:=Insertmode +>showins arg "Overstrike Mode" message => \
|
||||
:>showins arg "Insert Mode" message
|
||||
insert_mode:Alt+I
|
||||
|
||||
;
|
||||
; Left Side of Window
|
||||
;
|
||||
left_side:=meta left
|
||||
left_side:Shift+Home
|
||||
|
||||
;
|
||||
; Line to Bottom of Window
|
||||
;
|
||||
NotBrief:Ctrl+B
|
||||
|
||||
;
|
||||
; Line to Top of Window
|
||||
;
|
||||
NotBrief:Ctrl+T
|
||||
|
||||
;
|
||||
; Load Macro File
|
||||
;
|
||||
NotBrief:F9
|
||||
|
||||
;
|
||||
; Lower Case Block
|
||||
;
|
||||
load:$PATH:ulcase
|
||||
tolower:=ulcase
|
||||
|
||||
;
|
||||
; Mark. Known in M.E. as selecting text. In M.E., selection is
|
||||
; done in one of two modes: stream and box/line, which correspond
|
||||
; to normal and column/line selection in Brief. To select lines,
|
||||
; start marking in column mode, but move straight down. To change
|
||||
; between modes in M.E., a toggle function <boxstream> is provided.
|
||||
;
|
||||
; Arg:Alt+A ; M.E. selection (default assignment)
|
||||
; BoxStream:Ctrl+B ; M.E. mode toggle (default assignment)
|
||||
;
|
||||
ToStream:=BoxStream -> BoxStream ; Change to stream mode
|
||||
ToBox:=BoxStream +> BoxStream ; Change to box/line mode
|
||||
|
||||
mark2:=ToBox Arg
|
||||
mark2:Alt+C
|
||||
mark2:Alt+L
|
||||
|
||||
mark1:=ToStream Arg
|
||||
mark1:Alt+M
|
||||
|
||||
;
|
||||
; Next Buffer
|
||||
;
|
||||
setfile:Alt+N
|
||||
|
||||
;
|
||||
; Next Character
|
||||
;
|
||||
next_char:=NotBrief
|
||||
|
||||
;
|
||||
; Next Error
|
||||
;
|
||||
NextMsg:Ctrl+N
|
||||
|
||||
;
|
||||
; Non-Inclusive Mark
|
||||
;
|
||||
open_line:=down linsert meta begline
|
||||
open_line:Ctrl+Enter
|
||||
|
||||
;
|
||||
; Paste From Scrap
|
||||
;
|
||||
paste:ins
|
||||
|
||||
;
|
||||
; Pause Recording Toggle
|
||||
;
|
||||
NotBrief:Shift+F7
|
||||
|
||||
;
|
||||
; Pause On Error
|
||||
;
|
||||
pause_on_error:=togErr arg "togErr:=" errname assign
|
||||
|
||||
togErr:=errOn
|
||||
|
||||
errOn:=arg "errprompt:" assign arg "errname:=\"errOff\"" assign
|
||||
errOff:=arg "noerrprompt:" assign arg "errname:=\"errOn\"" assign
|
||||
|
||||
;
|
||||
; PlayBack
|
||||
;
|
||||
recordvalue:=arg "No recording has been made" message.
|
||||
recordvalue:F8
|
||||
|
||||
;
|
||||
; Pop-up Errors. In M.E., this switches you to the compile file. You
|
||||
; can go to any message with Alt+A Alt+A NextMsg.
|
||||
;
|
||||
next_error1:=arg "<compile>" setfile
|
||||
next_error1:Ctrl+P
|
||||
|
||||
;
|
||||
; Previous Buffer. There are no "next" and "previous" buffers in M.E.,
|
||||
; so this is the same as "Next Buffer".
|
||||
;
|
||||
setfile:Alt+-
|
||||
|
||||
;
|
||||
; Previous Character
|
||||
;
|
||||
prev+char:=NotBrief
|
||||
|
||||
;
|
||||
; Print Block
|
||||
;
|
||||
print:Alt+P
|
||||
|
||||
;
|
||||
; Quote
|
||||
;
|
||||
quote:Alt+Q
|
||||
|
||||
;
|
||||
; Read File into Buffer
|
||||
;
|
||||
read_file:=arg arg "File to read: " prompt -> paste
|
||||
|
||||
;
|
||||
; Reformat Paragraph
|
||||
;
|
||||
load:$PATH:justify
|
||||
reform:=justify
|
||||
|
||||
;
|
||||
; Regular Expression Toggle. In M.E., regular expression recognition
|
||||
; is controlled by modifying the search and search/replace functions
|
||||
; (Arg Arg forces regular expression search).
|
||||
;
|
||||
toggle_re:=togRE arg "togRE:=" srchname assign
|
||||
toggle_re:Ctrl+F6
|
||||
togRE:=REon
|
||||
|
||||
REoff:=arg "psrch:=arg \"Search for: \" prompt -> psearch" assign \
|
||||
arg "msrch:=arg \"Search for: \" prompt -> msearch" assign \
|
||||
arg "qrepl:=qreplace" assign \
|
||||
arg "srchname:=\"REon\"" assign \
|
||||
arg "Disabled Regular Expressions" message
|
||||
REon:=arg "psrch:=arg arg \"Search for: \" prompt -> psearch" assign \
|
||||
arg "msrch:=arg arg \"Search for: \" prompt -> msearch" assign \
|
||||
arg "qrepl:=arg arg qreplace" assign \
|
||||
arg "srchname:=\"REoff\"" assign \
|
||||
arg "Enabled Regular Expressions" message
|
||||
|
||||
;
|
||||
; Remember. Use Arg Arg Record to append to existing macro.
|
||||
;
|
||||
record:F7
|
||||
|
||||
;
|
||||
; Repeat
|
||||
;
|
||||
repeat:Ctrl+R
|
||||
|
||||
;
|
||||
; Right Side of Window
|
||||
;
|
||||
right_side:=meta right
|
||||
right_side:Shift+End
|
||||
|
||||
;
|
||||
; Scroll Buffer Down in Window
|
||||
;
|
||||
mlines:Ctrl+D
|
||||
|
||||
;
|
||||
; Scroll Buffer Up in Window
|
||||
;
|
||||
plines:Ctrl+U
|
||||
|
||||
;
|
||||
; Search Again
|
||||
;
|
||||
search_again:=psearch
|
||||
search_again:Shift+F5
|
||||
|
||||
;
|
||||
; Search Backward
|
||||
;
|
||||
search_back:=msrch arg "search_again:=msearch" assign
|
||||
search_back:Alt+F5
|
||||
|
||||
;
|
||||
; Search Forward
|
||||
;
|
||||
search_fwd:=psrch arg "search_again:=psearch" assign
|
||||
search_fwd:F5
|
||||
search_fwd:Alt+S
|
||||
|
||||
;
|
||||
; Suspend Editor
|
||||
;
|
||||
shell:Alt+Z
|
||||
|
||||
;
|
||||
; Tab. Please read the documentation for a full description of tabs.
|
||||
;
|
||||
graphic:tab
|
||||
realtabs:yes
|
||||
entab:0
|
||||
tabstops:8
|
||||
|
||||
;
|
||||
; Tab Stops
|
||||
;
|
||||
tabs:=NotBrief
|
||||
|
||||
;
|
||||
; Top of Buffer
|
||||
;
|
||||
begfile:Ctrl+PgUp
|
||||
|
||||
;
|
||||
; Top of Window
|
||||
;
|
||||
top_of_window:=meta up
|
||||
top_of_window:Ctrl+Home
|
||||
|
||||
;
|
||||
; Translate Again
|
||||
;
|
||||
translate_again:=qrepl
|
||||
translate_again:Shift+F6
|
||||
|
||||
;
|
||||
; Translate Backward
|
||||
;
|
||||
translate_back:=arg "You can only translate forwards" message
|
||||
translate_back:Alt+F6
|
||||
|
||||
;
|
||||
; Translate Forward
|
||||
;
|
||||
translate:=qrepl
|
||||
translate:F6
|
||||
translate:Alt+T
|
||||
|
||||
;
|
||||
; Undo
|
||||
;
|
||||
undo:Alt+U
|
||||
undo:num*
|
||||
|
||||
;
|
||||
; Use Tab Characters
|
||||
;
|
||||
use_tab_char:=arg "entab:1" assign
|
||||
|
||||
;
|
||||
; Window Border Toggle
|
||||
;
|
||||
NotBrief:Alt+F1
|
||||
|
||||
;
|
||||
;
|
||||
; Write
|
||||
;
|
||||
write_it:=arg arg setfile
|
||||
write_it:Alt+W
|
||||
|
||||
;
|
||||
; BRIEF is a trademark of UnderWare, INC.
|
||||
;
|
||||
; Predefined and Example Microsoft Editor Macros
|
||||
;
|
||||
; Revision History:
|
||||
;
|
||||
; 26-Aug-1988 ln Created
|
||||
; 05-Oct-1988 bw Added clear
|
||||
; 18-Oct-1988 ln Added prevmessage
|
||||
; 23-Nov-1988 bw Added setmsg and make
|
||||
; 03-Jan-1989 ln Added spell
|
||||
;
|
||||
; argcompile
|
||||
; shorthand for arg followed by compile, used to start backround compiles.
|
||||
;
|
||||
argcompile:=arg compile
|
||||
argcompile:f5
|
||||
;
|
||||
; assignments
|
||||
; Displays the current assignments pseudo-file. (Formerly called "help")
|
||||
;
|
||||
assignments:=arg "?" assign < <
|
||||
assignments:f10
|
||||
;
|
||||
; clear
|
||||
; Deletes selected text without copying it to the clipboard
|
||||
;
|
||||
clear:= meta delete
|
||||
clear:del
|
||||
;
|
||||
; hsplit
|
||||
; Splits the current window horizontally at the current cursor location
|
||||
;
|
||||
hsplit:= arg window
|
||||
hsplit:ctrl+H
|
||||
;
|
||||
; prevmsg
|
||||
; Used to view the previous error message in the results of a compile.
|
||||
;
|
||||
prevmsg:=arg "-1" nextmsg
|
||||
prevmsg:SHIFT+F4
|
||||
;
|
||||
; rawoutput
|
||||
; switches the current window to the compile log to view the raw compile
|
||||
; output
|
||||
;
|
||||
rawoutput:=arg "<compile>" setfile
|
||||
rawoutput:alt+F3
|
||||
;
|
||||
; setmsg
|
||||
; Used to set the current message
|
||||
;
|
||||
setmsg:=arg arg nextmsg
|
||||
setmsg:SHIFT+F5
|
||||
;
|
||||
; spell
|
||||
; Invoke the Microsoft Word 4.0 spelling checker on the current file. (Only
|
||||
; available for DOS).
|
||||
;
|
||||
spell:=arg "spell-am " curfile shell
|
||||
spell:ctrl+f7
|
||||
;
|
||||
; undotoggle
|
||||
; toggling undo. Repeately executing this macro undoes and redoes the most
|
||||
; recent editting change.
|
||||
;
|
||||
undotoggle:=meta undo +> undo
|
||||
undotoggle:ctrl+bksp
|
||||
;
|
||||
; vsplit
|
||||
; Splits the current window vertically at the current cursor location
|
||||
;
|
||||
vsplit:=arg arg window
|
||||
vsplit:ctrl+U
|
||||
;
|
||||
; make
|
||||
; Invokes Make command
|
||||
;
|
||||
make:= arg " " compile
|
||||
make:ctrl+f4
|
79
Microsoft Fortran v5/bin/TOOLS.PRE
Normal file
79
Microsoft Fortran v5/bin/TOOLS.PRE
Normal file
@ -0,0 +1,79 @@
|
||||
;
|
||||
; Predefined and Example Microsoft Editor Macros
|
||||
;
|
||||
; Revision History:
|
||||
;
|
||||
; 26-Aug-1988 ln Created
|
||||
; 05-Oct-1988 bw Added clear
|
||||
; 18-Oct-1988 ln Added prevmessage
|
||||
; 23-Nov-1988 bw Added setmsg and make
|
||||
; 03-Jan-1989 ln Added spell
|
||||
;
|
||||
; argcompile
|
||||
; shorthand for arg followed by compile, used to start backround compiles.
|
||||
;
|
||||
argcompile:=arg compile
|
||||
argcompile:f5
|
||||
;
|
||||
; assignments
|
||||
; Displays the current assignments pseudo-file. (Formerly called "help")
|
||||
;
|
||||
assignments:=arg "?" assign < <
|
||||
assignments:f10
|
||||
;
|
||||
; clear
|
||||
; Deletes selected text without copying it to the clipboard
|
||||
;
|
||||
clear:= meta delete
|
||||
clear:del
|
||||
;
|
||||
; hsplit
|
||||
; Splits the current window horizontally at the current cursor location
|
||||
;
|
||||
hsplit:= arg window
|
||||
hsplit:ctrl+H
|
||||
;
|
||||
; prevmsg
|
||||
; Used to view the previous error message in the results of a compile.
|
||||
;
|
||||
prevmsg:=arg "-1" nextmsg
|
||||
prevmsg:SHIFT+F4
|
||||
;
|
||||
; rawoutput
|
||||
; switches the current window to the compile log to view the raw compile
|
||||
; output
|
||||
;
|
||||
rawoutput:=arg "<compile>" setfile
|
||||
rawoutput:alt+F3
|
||||
;
|
||||
; setmsg
|
||||
; Used to set the current message
|
||||
;
|
||||
setmsg:=arg arg nextmsg
|
||||
setmsg:SHIFT+F5
|
||||
;
|
||||
; spell
|
||||
; Invoke the Microsoft Word 4.0 spelling checker on the current file. (Only
|
||||
; available for DOS).
|
||||
;
|
||||
spell:=arg "spell-am " curfile shell
|
||||
spell:ctrl+f7
|
||||
;
|
||||
; undotoggle
|
||||
; toggling undo. Repeately executing this macro undoes and redoes the most
|
||||
; recent editting change.
|
||||
;
|
||||
undotoggle:=meta undo +> undo
|
||||
undotoggle:ctrl+bksp
|
||||
;
|
||||
; vsplit
|
||||
; Splits the current window vertically at the current cursor location
|
||||
;
|
||||
vsplit:=arg arg window
|
||||
vsplit:ctrl+U
|
||||
;
|
||||
; make
|
||||
; Invokes Make command
|
||||
;
|
||||
make:= arg " " compile
|
||||
make:ctrl+f4
|
BIN
Microsoft Fortran v5/bin/UNDEL.EXE
Normal file
BIN
Microsoft Fortran v5/bin/UNDEL.EXE
Normal file
Binary file not shown.
BIN
Microsoft Fortran v5/bin/WS.MXT
Normal file
BIN
Microsoft Fortran v5/bin/WS.MXT
Normal file
Binary file not shown.
286
Microsoft Fortran v5/include/FGRAPH.FD
Normal file
286
Microsoft Fortran v5/include/FGRAPH.FD
Normal file
@ -0,0 +1,286 @@
|
||||
*fgraph.fd - declare constants and functions for graphics library
|
||||
*
|
||||
* Copyright (c) 1987-1989 Microsoft Corporation. All rights reserved.
|
||||
*
|
||||
*Purpose:
|
||||
* This file declares the graphics library functions and
|
||||
* the manifest constants that are used with them.
|
||||
*
|
||||
*******************************************************************************
|
||||
|
||||
$NOTRUNCATE ! required for some names to be significant
|
||||
$NOTSTRICT ! uses structures which are non-standard conforming
|
||||
|
||||
* user-visible declarations for FORTRAN Graphics Library
|
||||
|
||||
* structure for getvideoconfig() as visible to user
|
||||
STRUCTURE/videoconfig/
|
||||
INTEGER*2 numxpixels ! number of pixels on X axis
|
||||
INTEGER*2 numypixels ! number of pixels on Y axis
|
||||
INTEGER*2 numtextcols ! number of text columns available
|
||||
INTEGER*2 numtextrows ! number of text rows available
|
||||
INTEGER*2 numcolors ! number of actual colors
|
||||
INTEGER*2 bitsperpixel ! number of bits per pixel
|
||||
INTEGER*2 numvideopages ! number of available video pages
|
||||
INTEGER*2 mode ! current video mode
|
||||
INTEGER*2 adapter ! active display adapter
|
||||
INTEGER*2 monitor ! active display monitor
|
||||
INTEGER*2 memory ! adapter video memory in K bytes
|
||||
END STRUCTURE
|
||||
|
||||
* return value of setlogorg(), etc.
|
||||
STRUCTURE/xycoord/
|
||||
INTEGER*2 xcoord
|
||||
INTEGER*2 ycoord
|
||||
END STRUCTURE
|
||||
|
||||
* structure for text position
|
||||
STRUCTURE/rccoord/
|
||||
INTEGER*2 row
|
||||
INTEGER*2 col
|
||||
END STRUCTURE
|
||||
|
||||
* SETUP AND CONFIGURATION
|
||||
|
||||
* arguments to setvideomode()
|
||||
INTEGER*2, $MAXRESMODE, $MAXCOLORMODE, $DEFAULTMODE,$TEXTBW40,
|
||||
+ $TEXTC40,$TEXTBW80,$TEXTC80, $MRES4COLOR,$MRESNOCOLOR,
|
||||
+ $HRESBW,$TEXTMONO,$HERCMONO, $MRES16COLOR,$HRES16COLOR,
|
||||
+ $ERESNOCOLOR,$ERESCOLOR, $VRES2COLOR,$VRES16COLOR,
|
||||
+ $MRES256COLOR,$ORESCOLOR
|
||||
PARAMETER($MAXRESMODE =-3) ! graphics mode with highest resolution
|
||||
PARAMETER($MAXCOLORMODE =-2) ! graphics mode with most colors
|
||||
PARAMETER($DEFAULTMODE =-1) ! restore screen to original mode
|
||||
PARAMETER($TEXTBW40 =0) ! 40 x 25 text, 16 grey
|
||||
PARAMETER($TEXTC40 =1) ! 40 x 25 text, 16/8 color
|
||||
PARAMETER($TEXTBW80 =2) ! 80 x 25 text, 16 grey
|
||||
PARAMETER($TEXTC80 =3) ! 80 x 25 text, 16/8 color
|
||||
PARAMETER($MRES4COLOR =4) ! 320 x 200, 4 color
|
||||
PARAMETER($MRESNOCOLOR =5) ! 320 x 200, 4 grey
|
||||
PARAMETER($HRESBW =6) ! 640 x 200, BW
|
||||
PARAMETER($TEXTMONO =7) ! 80 x 25 text, BW
|
||||
PARAMETER($HERCMONO =8) ! 720 x 348, BW for HGC
|
||||
PARAMETER($MRES16COLOR =13) ! 320 x 200, 16 color
|
||||
PARAMETER($HRES16COLOR =14) ! 640 x 200, 16 color
|
||||
PARAMETER($ERESNOCOLOR =15) ! 640 x 350, BW
|
||||
PARAMETER($ERESCOLOR =16) ! 640 x 350, 4 or 16 color
|
||||
PARAMETER($VRES2COLOR =17) ! 640 x 480, BW
|
||||
PARAMETER($VRES16COLOR =18) ! 640 x 480, 16 color
|
||||
PARAMETER($MRES256COLOR =19) ! 320 x 200, 256 color
|
||||
PARAMETER($ORESCOLOR =64) ! 640 x 400, 1 of 16 colors (Olivetti)
|
||||
|
||||
* videoconfig adapter values
|
||||
* these manifest constants can be used to test adapter values for
|
||||
* a particular adapter using the bitwise-AND operator
|
||||
INTEGER*4 $MDPA,$CGA,$EGA,$MCGA,$VGA,$HGC,$OCGA,$OEGA,$OVGA
|
||||
PARAMETER($MDPA =#0001) ! Monochrome Display Adapter (MDPA)
|
||||
PARAMETER($CGA =#0002) ! Color Graphics Adapter (CGA)
|
||||
PARAMETER($EGA =#0004) ! Enhanced Graphics Adapter (EGA)
|
||||
PARAMETER($VGA =#0008) ! Video Graphics Array (VGA)
|
||||
PARAMETER($MCGA =#0010) ! MultiColor Graphics Array (MCGA)
|
||||
PARAMETER($HGC =#0020) ! Hercules Graphics Card (HGC)
|
||||
PARAMETER($OCGA =#0042) ! Olivetti Color Graphics Adapter (OCGA)
|
||||
PARAMETER($OEGA =#0044) ! Olivetti Enhanced Graphics Adapter (OEGA)
|
||||
PARAMETER($OVGA =#0048) ! Olivetti Video Graphics Array (OVGA)
|
||||
|
||||
* videoconfig monitor values
|
||||
* these manifest constants can be used to test monitor values for
|
||||
* a particular monitor using the bitwise-AND operator
|
||||
INTEGER*4 $MONO,$COLOR,$ENHCOLOR,$ANALOGMONO,$ANALOGCOLOR,$ANALOG
|
||||
PARAMETER($MONO =#0001) ! Monochrome
|
||||
PARAMETER($COLOR =#0002) ! Color (or Enhanced emulating color)
|
||||
PARAMETER($ENHCOLOR =#0004) ! Enhanced Color
|
||||
PARAMETER($ANALOGMONO =#0008) ! Analog Monochrome only
|
||||
PARAMETER($ANALOGCOLOR=#0010) ! Analog Color only
|
||||
PARAMETER($ANALOG =#0018) ! Analog
|
||||
|
||||
* COORDINATE SYSTEMS
|
||||
|
||||
* OUTPUT ROUTINES
|
||||
|
||||
* control parameters for Rectangle, Ellipse and Pie
|
||||
INTEGER*2 $GBORDER,$GFILLINTERIOR,
|
||||
+ $GCLEARSCREEN, $GVIEWPORT,$GWINDOW
|
||||
|
||||
PARAMETER($GBORDER =2) ! draw outline only
|
||||
PARAMETER($GFILLINTERIOR =3) ! fill using current fill mask
|
||||
|
||||
PARAMETER($GCLEARSCREEN=0)
|
||||
PARAMETER($GVIEWPORT =1)
|
||||
PARAMETER($GWINDOW =2)
|
||||
|
||||
* TEXT
|
||||
INTEGER*4 $GCURSOROFF,$GCURSORON,$GWRAPOFF,$GWRAPON
|
||||
PARAMETER($GCURSOROFF=0)
|
||||
PARAMETER($GCURSORON =1)
|
||||
|
||||
PARAMETER($GWRAPOFF =0)
|
||||
PARAMETER($GWRAPON =1)
|
||||
|
||||
INTEGER*4 $GSCROLLUP, $GSCROLLDOWN
|
||||
PARAMETER($GSCROLLUP =1)
|
||||
PARAMETER($GSCROLLDOWN =-1)
|
||||
|
||||
C request maximum number of rows in _settextrows and _setvideomoderows
|
||||
INTEGER*4 $MAXTEXTROWS
|
||||
PARAMETER($MAXTEXTROWS =-1)
|
||||
|
||||
* "action verbs" for putimage()
|
||||
INTEGER*4 $GPSET,$GPRESET,$GAND,$GOR,$GXOR
|
||||
PARAMETER($GPSET =3)
|
||||
PARAMETER($GPRESET =2)
|
||||
PARAMETER($GAND =1)
|
||||
PARAMETER($GOR =0)
|
||||
PARAMETER($GXOR =4)
|
||||
|
||||
* universal color values:
|
||||
INTEGER*4 $BLACK,$BLUE,$GREEN,$CYAN,$RED,$MAGENTA,$BROWN,
|
||||
+ $WHITE,$GRAY, $LIGHTBLUE,$LIGHTGREEN,$LIGHTCYAN,
|
||||
+ $LIGHTRED,$LIGHTMAGENTA, $LIGHTYELLOW,$BRIGHTWHITE
|
||||
PARAMETER($BLACK =#000000)
|
||||
PARAMETER($BLUE =#2a0000)
|
||||
PARAMETER($GREEN =#002a00)
|
||||
PARAMETER($CYAN =#2a2a00)
|
||||
PARAMETER($RED =#00002a)
|
||||
PARAMETER($MAGENTA =#2a002a)
|
||||
PARAMETER($BROWN =#00152a)
|
||||
PARAMETER($WHITE =#2a2a2a)
|
||||
PARAMETER($GRAY =#151515)
|
||||
PARAMETER($LIGHTBLUE =#3F1515)
|
||||
PARAMETER($LIGHTGREEN =#153f15)
|
||||
PARAMETER($LIGHTCYAN =#3f3f15)
|
||||
PARAMETER($LIGHTRED =#15153f)
|
||||
PARAMETER($LIGHTMAGENTA =#3f153f)
|
||||
PARAMETER($LIGHTYELLOW =#153f3f)
|
||||
PARAMETER($BRIGHTWHITE =#3f3f3f)
|
||||
|
||||
* mono mode F color values:
|
||||
INTEGER*4 $MODEFOFF,$MODEFOFFTOON,$MODEFOFFTOHI,$MODEFONTOOFF,
|
||||
+ $MODEFON,$MODEFONTOHI,$MODEFHITOOFF,$MODEFHITOON,
|
||||
+ $MODEFHI
|
||||
PARAMETER($MODEFOFF =0)
|
||||
PARAMETER($MODEFOFFTOON =1)
|
||||
PARAMETER($MODEFOFFTOHI =2)
|
||||
PARAMETER($MODEFONTOOFF =3)
|
||||
PARAMETER($MODEFON =4)
|
||||
PARAMETER($MODEFONTOHI =5)
|
||||
PARAMETER($MODEFHITOOFF =6)
|
||||
PARAMETER($MODEFHITOON =7)
|
||||
PARAMETER($MODEFHI =8)
|
||||
|
||||
* mono mode 7 color values:
|
||||
INTEGER*4 $MODE7OFF,$MODE7ON,$MODE7HI
|
||||
PARAMETER($MODE7OFF =0)
|
||||
PARAMETER($MODE7ON =1)
|
||||
PARAMETER($MODE7HI =2)
|
||||
|
||||
* external function declarations
|
||||
|
||||
INTEGER*2 setvideomode[EXTERN]
|
||||
INTEGER*2 setvideomoderows[EXTERN]
|
||||
INTEGER*2 setactivepage[EXTERN]
|
||||
INTEGER*2 setvisualpage[EXTERN]
|
||||
INTEGER*2 getactivepage[EXTERN]
|
||||
INTEGER*2 getvisualpage[EXTERN]
|
||||
EXTERNAL getvideoconfig
|
||||
EXTERNAL setvieworg
|
||||
EXTERNAL getviewcoord
|
||||
EXTERNAL getphyscoord
|
||||
EXTERNAL setcliprgn
|
||||
EXTERNAL setviewport
|
||||
EXTERNAL clearscreen
|
||||
EXTERNAL moveto
|
||||
EXTERNAL getcurrentposition
|
||||
INTEGER*2 lineto[EXTERN]
|
||||
INTEGER*2 rectangle[EXTERN]
|
||||
INTEGER*2 ellipse[EXTERN]
|
||||
INTEGER*2 arc[EXTERN]
|
||||
INTEGER*2 pie[EXTERN]
|
||||
INTEGER*2 setpixel[EXTERN]
|
||||
INTEGER*2 getpixel[EXTERN]
|
||||
INTEGER*2 floodfill[EXTERN]
|
||||
INTEGER*2 setcolor[EXTERN]
|
||||
INTEGER*2 getcolor[EXTERN]
|
||||
|
||||
EXTERNAL setlinestyle
|
||||
INTEGER*2 getlinestyle[EXTERN]
|
||||
EXTERNAL setfillmask
|
||||
EXTERNAL getfillmask
|
||||
INTEGER*4 setbkcolor[EXTERN]
|
||||
INTEGER*4 getbkcolor[EXTERN]
|
||||
INTEGER*4 remappalette[EXTERN]
|
||||
INTEGER*2 remapallpalette[EXTERN]
|
||||
INTEGER*2 selectpalette[EXTERN]
|
||||
INTEGER*2 settextrows[EXTERN]
|
||||
EXTERNAL settextwindow
|
||||
EXTERNAL scrolltextwindow
|
||||
EXTERNAL outtext
|
||||
INTEGER*2 wrapon[EXTERN]
|
||||
INTEGER*2 displaycursor[EXTERN]
|
||||
INTEGER*2 settextcursor[EXTERN]
|
||||
INTEGER*2 gettextcursor[EXTERN]
|
||||
EXTERNAL settextposition
|
||||
EXTERNAL gettextposition
|
||||
INTEGER*2 settextcolor[EXTERN]
|
||||
INTEGER*2 gettextcolor[EXTERN]
|
||||
EXTERNAL getimage
|
||||
EXTERNAL putimage
|
||||
INTEGER*4 imagesize[EXTERN]
|
||||
|
||||
* WINDOW COORDINATE SYSTEM
|
||||
|
||||
* structure for window coordinate pair
|
||||
STRUCTURE/wxycoord/
|
||||
DOUBLE PRECISION wx ! window x coordinate
|
||||
DOUBLE PRECISION wy ! window y coordinate
|
||||
END STRUCTURE
|
||||
|
||||
INTEGER*2 setwindow[EXTERN]
|
||||
|
||||
EXTERNAL getwindowcoord
|
||||
EXTERNAL getviewcoord_w
|
||||
EXTERNAL getcurrentposition_w
|
||||
|
||||
* window coordinate entry points for graphics output routines
|
||||
|
||||
INTEGER*2 arc_w[EXTERN]
|
||||
INTEGER*2 ellipse_w[EXTERN]
|
||||
INTEGER*2 floodfill_w[EXTERN]
|
||||
INTEGER*2 getpixel_w[EXTERN]
|
||||
INTEGER*2 lineto_w[EXTERN]
|
||||
EXTERNAL moveto_w
|
||||
INTEGER*2 pie_w[EXTERN]
|
||||
INTEGER*2 rectangle_w[EXTERN]
|
||||
INTEGER*2 setpixel_w[EXTERN]
|
||||
EXTERNAL getimage_w
|
||||
INTEGER*2 imagesize_w[EXTERN]
|
||||
EXTERNAL putimage_w
|
||||
|
||||
STRUCTURE/fontinfo/
|
||||
INTEGER*2 type ! b0 set = vector,clear = bit map
|
||||
INTEGER*2 ascent ! pix dist from top to baseline
|
||||
INTEGER*2 pixwidth ! character width in pixels, 0=prop
|
||||
INTEGER*2 pixheight ! character height in pixels
|
||||
INTEGER*2 avgwidth ! average character width in pixels
|
||||
CHARACTER*81 filename ! file name including path
|
||||
CHARACTER*32 facename ! font name
|
||||
END STRUCTURE
|
||||
|
||||
* Font parameters
|
||||
|
||||
INTEGER*2 $NO_SPACE, $FIXED_SPACE, $PROP_SPACE
|
||||
PARAMETER ($NO_SPACE = 0)
|
||||
PARAMETER ($FIXED_SPACE = 1)
|
||||
PARAMETER ($PROP_SPACE = 2)
|
||||
|
||||
INTEGER*2 $NO_FONT_MAP, $VECTOR_MAP, $BIT_MAP
|
||||
PARAMETER ($NO_FONT_MAP = 0)
|
||||
PARAMETER ($VECTOR_MAP = 1)
|
||||
PARAMETER ($BIT_MAP = 2)
|
||||
|
||||
INTEGER*2 registerfonts[EXTERN]
|
||||
EXTERNAL unregisterfonts
|
||||
INTEGER*2 setfont[EXTERN]
|
||||
INTEGER*2 getfontinfo[EXTERN]
|
||||
EXTERNAL outgtext
|
||||
INTEGER*2 getgtextextent[EXTERN]
|
428
Microsoft Fortran v5/include/FGRAPH.FI
Normal file
428
Microsoft Fortran v5/include/FGRAPH.FI
Normal file
@ -0,0 +1,428 @@
|
||||
***
|
||||
*fgraph.fi - declare constants and functions for graphics library
|
||||
*
|
||||
* Copyright (c) 1987-1989 Microsoft Corporation. All rights reserved.
|
||||
*
|
||||
*Purpose:
|
||||
* This file declares the graphics library functions and
|
||||
* the manifest constants that are used with them.
|
||||
*
|
||||
*******************************************************************************
|
||||
|
||||
$NOTRUNCATE
|
||||
$NOTSTRICT
|
||||
|
||||
* user-visible declarations for FORTRAN Graphics Library
|
||||
|
||||
INTERFACE TO FUNCTION arc (x1,y1,x2,y2,x3,y3,x4,y4)
|
||||
INTEGER*2 arc[FAR,C,ALIAS:"__arc"],x1,y1,x2,y2,x3,y3,x4,y4
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION arc_w(wx1,wy1,wx2,wy2,wx3,wy3,wx4,wy4)
|
||||
INTEGER*2 arc_w[FAR,C,ALIAS:"__f_arc_w"]
|
||||
DOUBLE PRECISION wx1,wy1,wx2,wy2,wx3,wy3,wx4,wy4
|
||||
END
|
||||
|
||||
INTERFACE TO SUBROUTINE
|
||||
1 clearscreen[FAR,C,ALIAS:"__clearscreen"] (area)
|
||||
INTEGER*2 area
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION displaycursor (toggle)
|
||||
INTEGER*2 displaycursor[FAR,C,ALIAS:"__displaycursor"],toggle
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION ellipse (control,x1,y1,x2,y2)
|
||||
INTEGER*2 ellipse[FAR,C,ALIAS:"__ellipse"],control,x1,y1,x2,y2
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION ellipse_w(control,wx1,wy1,wx2,wy2)
|
||||
INTEGER*2 ellipse_w[FAR,C,ALIAS:"__f_ellipse_w"],control
|
||||
DOUBLE PRECISION wx1,wy1,wx2,wy2
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION floodfill (x,y,boundary)
|
||||
INTEGER*2 floodfill[FAR,C,ALIAS:"__floodfill"],x,y,boundary
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION floodfill_w(wx1,wy1,boundary)
|
||||
INTEGER*2 floodfill_w[FAR,C,ALIAS:"__f_floodfill_w"],boundary
|
||||
DOUBLE PRECISION wx1,wy1
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION getactivepage ()
|
||||
INTEGER*2 getactivepage[FAR,C,ALIAS:"__getactivepage"]
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION getbkcolor ()
|
||||
INTEGER*4 getbkcolor[FAR,C,ALIAS:"__getbkcolor"]
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION getcolor ()
|
||||
INTEGER*2 getcolor[FAR,C,ALIAS:"__getcolor"]
|
||||
END
|
||||
|
||||
INTERFACE TO SUBROUTINE
|
||||
1 getcurrentposition[FAR,C,ALIAS:"__f_getcurrentposition"](s)
|
||||
STRUCTURE/xycoord/
|
||||
INTEGER*2 xcoord
|
||||
INTEGER*2 ycoord
|
||||
END STRUCTURE
|
||||
RECORD/xycoord/s[FAR,REFERENCE]
|
||||
END
|
||||
|
||||
INTERFACE TO SUBROUTINE
|
||||
1 getcurrentposition_w[FAR,C,ALIAS:"__f_getcurpos_w"](s)
|
||||
STRUCTURE/wxycoord/
|
||||
DOUBLE PRECISION wx
|
||||
DOUBLE PRECISION wy
|
||||
END STRUCTURE
|
||||
RECORD/wxycoord/s[FAR,REFERENCE]
|
||||
END
|
||||
|
||||
INTERFACE TO SUBROUTINE
|
||||
1 getfillmask[FAR,C,ALIAS:"__getfillmask"] (mask)
|
||||
INTEGER*1 mask[FAR,REFERENCE](8)
|
||||
END
|
||||
|
||||
INTERFACE TO SUBROUTINE
|
||||
1 getimage[FAR,C,ALIAS:"__getimage"](x1,y1,x2,y2,image)
|
||||
INTEGER*2 x1,y1,x2,y2
|
||||
INTEGER*1 image[FAR,REFERENCE](*)
|
||||
END
|
||||
|
||||
INTERFACE TO SUBROUTINE
|
||||
1 getimage_w[FAR,C,ALIAS:"__f_getimage_w"](wx1,wy1,wx2,wy2,image)
|
||||
DOUBLE PRECISION wx1,wy1,wx2,wy2
|
||||
INTEGER*1 image[FAR,REFERENCE](*)
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION getlinestyle ()
|
||||
INTEGER*2 getlinestyle[FAR,C,ALIAS:"__getlinestyle"]
|
||||
END
|
||||
|
||||
INTERFACE TO SUBROUTINE
|
||||
1 getphyscoord[FAR,C,ALIAS:"__f_getphyscoord"](x,y,s)
|
||||
INTEGER*2 x,y
|
||||
STRUCTURE/xycoord/
|
||||
INTEGER*2 xcoord
|
||||
INTEGER*2 ycoord
|
||||
END STRUCTURE
|
||||
RECORD/xycoord/s[FAR,REFERENCE]
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION getpixel (x,y)
|
||||
INTEGER*2 getpixel[FAR,C,ALIAS:"__getpixel"],x,y
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION getpixel_w(wx,wy)
|
||||
INTEGER*2 getpixel_w[FAR,C,ALIAS:"__f_getpixel_w"]
|
||||
DOUBLE PRECISION wx,wy
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION gettextcolor ()
|
||||
INTEGER*2 gettextcolor[FAR,C,ALIAS:"__gettextcolor"]
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION gettextcursor ()
|
||||
INTEGER*2 gettextcursor[FAR,C,ALIAS:"__gettextcursor"]
|
||||
END
|
||||
|
||||
INTERFACE TO SUBROUTINE
|
||||
1 gettextposition[FAR,C,ALIAS:"__f_gettextposition"](s)
|
||||
STRUCTURE/rccoord/
|
||||
INTEGER*2 row
|
||||
INTEGER*2 col
|
||||
END STRUCTURE
|
||||
RECORD/rccoord/s[FAR,REFERENCE]
|
||||
END
|
||||
|
||||
INTERFACE TO SUBROUTINE
|
||||
1 getvideoconfig[FAR,C,ALIAS:"__getvideoconfig"] (s)
|
||||
STRUCTURE/videoconfig/
|
||||
INTEGER*2 numxpixels ! number of pixels on X axis
|
||||
INTEGER*2 numypixels ! number of pixels on Y axis
|
||||
INTEGER*2 numtextcols ! number of text columns available
|
||||
INTEGER*2 numtextrows ! number of text rows available
|
||||
INTEGER*2 numcolors ! number of actual colors
|
||||
INTEGER*2 bitsperpixel ! number of bits per pixel
|
||||
INTEGER*2 numvideopages ! number of available video pages
|
||||
INTEGER*2 mode ! current video mode
|
||||
INTEGER*2 adapter ! active display adapter
|
||||
INTEGER*2 monitor ! active display monitor
|
||||
INTEGER*2 memory ! adapter video memory in K bytes
|
||||
END STRUCTURE
|
||||
RECORD/videoconfig/s[FAR,REFERENCE]
|
||||
END
|
||||
|
||||
INTERFACE TO SUBROUTINE
|
||||
1 getviewcoord[FAR,C,ALIAS:"__f_getviewcoord"](x,y,s)
|
||||
INTEGER*2 x,y
|
||||
STRUCTURE/xycoord/
|
||||
INTEGER*2 xcoord
|
||||
INTEGER*2 ycoord
|
||||
END STRUCTURE
|
||||
RECORD/xycoord/s[FAR,REFERENCE]
|
||||
END
|
||||
|
||||
INTERFACE TO SUBROUTINE
|
||||
1 getviewcoord_w[FAR,C,ALIAS:"__f_getviewcoord_w"](wx,wy,s)
|
||||
DOUBLE PRECISION wx,wy
|
||||
STRUCTURE/xycoord/
|
||||
INTEGER*2 xcoord
|
||||
INTEGER*2 ycoord
|
||||
END STRUCTURE
|
||||
RECORD/xycoord/s[FAR,REFERENCE]
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION getvisualpage()
|
||||
INTEGER*2 getvisualpage[FAR,C,ALIAS:"__getvisualpage"]
|
||||
END
|
||||
|
||||
INTERFACE TO SUBROUTINE
|
||||
1 getwindowcoord[FAR,C,ALIAS:"__f_getwindowcoord"](x,y,s)
|
||||
INTEGER*2 x,y
|
||||
STRUCTURE/wxycoord/
|
||||
DOUBLE PRECISION wx
|
||||
DOUBLE PRECISION wy
|
||||
END STRUCTURE
|
||||
RECORD/wxycoord/s[FAR,REFERENCE]
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION imagesize (x1,y1,x2,y2)
|
||||
INTEGER*4 imagesize[FAR,C,ALIAS:"__imagesize"]
|
||||
INTEGER*2 x1,y1,x2,y2
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION imagesize_w(wx1,wy1,wx2,wy2)
|
||||
INTEGER*4 imagesize_w[FAR,C,ALIAS:"__f_imagesize_w"]
|
||||
DOUBLE PRECISION wx1,wy1,wx2,wy2
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION lineto (x,y)
|
||||
INTEGER*2 lineto[FAR,C,ALIAS:"__lineto"],x,y
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION lineto_w(wx,wy)
|
||||
INTEGER*2 lineto_w[FAR,C,ALIAS:"__f_lineto_w"]
|
||||
DOUBLE PRECISION wx,wy
|
||||
END
|
||||
|
||||
INTERFACE TO SUBROUTINE
|
||||
1 moveto[FAR,C,ALIAS:"__f_moveto"](x,y,s)
|
||||
INTEGER*2 x,y
|
||||
STRUCTURE/xycoord/
|
||||
INTEGER*2 xcoord
|
||||
INTEGER*2 ycoord
|
||||
END STRUCTURE
|
||||
RECORD/xycoord/s[FAR,REFERENCE]
|
||||
END
|
||||
|
||||
INTERFACE TO SUBROUTINE
|
||||
1 moveto_w[FAR,C,ALIAS:"__f_moveto_w"](wx,wy,s)
|
||||
DOUBLE PRECISION wx,wy
|
||||
STRUCTURE/wxycoord/
|
||||
DOUBLE PRECISION wx
|
||||
DOUBLE PRECISION wy
|
||||
END STRUCTURE
|
||||
RECORD/wxycoord/s[FAR,REFERENCE]
|
||||
END
|
||||
|
||||
INTERFACE TO SUBROUTINE
|
||||
1 outtext[FAR,C,ALIAS:"__f_outtext"](text)
|
||||
CHARACTER*(*) text[FAR,REFERENCE]
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION pie (i,x1,y1,x2,y2,x3,y3,x4,y4)
|
||||
INTEGER*2 pie[FAR,C,ALIAS:"__pie"],i,x1,y1,x2,y2,x3,y3,x4,y4
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION pie_w(i,wx1,wy1,wx2,wy2,wx3,wy3,wx4,wy4)
|
||||
INTEGER*2 pie_w[FAR,C,ALIAS:"__f_pie_w"],i
|
||||
DOUBLE PRECISION wx1,wy1,wx2,wy2,wx3,wy3,wx4,wy4
|
||||
END
|
||||
|
||||
INTERFACE TO SUBROUTINE
|
||||
1 putimage[FAR,C,ALIAS:"__putimage"](x,y,image,action)
|
||||
INTEGER*2 x,y,action
|
||||
INTEGER*1 image[FAR,REFERENCE](*)
|
||||
END
|
||||
|
||||
INTERFACE TO SUBROUTINE
|
||||
1 putimage_w[FAR,C,ALIAS:"__f_putimage_w"](wx,wy,image,action)
|
||||
DOUBLE PRECISION wx,wy
|
||||
INTEGER*1 image[FAR,REFERENCE](*)
|
||||
INTEGER*2 action
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION rectangle (control,x1,y1,x2,y2)
|
||||
INTEGER*2 rectangle[FAR,C,ALIAS:"__rectangle"]
|
||||
INTEGER*2 control,x1,y1,x2,y2
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION rectangle_w(control,wx1,wy1,wx2,wy2)
|
||||
INTEGER*2 rectangle_w[FAR,C,ALIAS:"__f_rectangle_w"],control
|
||||
DOUBLE PRECISION wx1,wy1,wx2,wy2
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION remappalette (index,color)
|
||||
INTEGER*4 remappalette[FAR,C,ALIAS:"__remappalette"],color
|
||||
INTEGER*2 index
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION remapallpalette(colors)
|
||||
INTEGER*2 remapallpalette[FAR,C,ALIAS:"__remapallpalette"]
|
||||
INTEGER*4 colors[FAR,REFERENCE](*)
|
||||
END
|
||||
|
||||
INTERFACE TO SUBROUTINE
|
||||
1 scrolltextwindow[FAR,C,ALIAS:"__scrolltextwindow"](rows)
|
||||
INTEGER*2 rows
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION selectpalette (number)
|
||||
INTEGER*2 selectpalette[FAR,C,ALIAS:"__selectpalette"],number
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION setactivepage (page)
|
||||
INTEGER*2 setactivepage[FAR,C,ALIAS:"__setactivepage"],page
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION setbkcolor (color)
|
||||
INTEGER*4 setbkcolor[FAR,C,ALIAS:"__setbkcolor"],color
|
||||
END
|
||||
|
||||
INTERFACE TO SUBROUTINE
|
||||
1 setcliprgn[FAR,C,ALIAS:"__setcliprgn"] (x1,y1,x2,y2)
|
||||
INTEGER*2 x1,y1,x2,y2
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION setcolor (color)
|
||||
INTEGER*2 setcolor[FAR,C,ALIAS:"__setcolor"]
|
||||
INTEGER*2 color
|
||||
END
|
||||
|
||||
INTERFACE TO SUBROUTINE
|
||||
1 setfillmask[FAR,C,ALIAS:"__setfillmask"] (mask)
|
||||
INTEGER*1 mask[FAR,REFERENCE](8)
|
||||
END
|
||||
|
||||
INTERFACE TO SUBROUTINE
|
||||
1 setlinestyle[FAR,C,ALIAS:"__setlinestyle"] (mask)
|
||||
INTEGER*2 mask
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION setpixel (x,y)
|
||||
INTEGER*2 setpixel[FAR,C,ALIAS:"__setpixel"],x,y
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION setpixel_w(wx,wy)
|
||||
INTEGER*2 setpixel_w[FAR,C,ALIAS:"__f_setpixel_w"]
|
||||
DOUBLE PRECISION wx,wy
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION settextcolor (index)
|
||||
INTEGER*2 settextcolor[FAR,C,ALIAS:"__settextcolor"],index
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION settextcursor (attr)
|
||||
INTEGER*2 settextcursor[FAR,C,ALIAS:"__settextcursor"],attr
|
||||
END
|
||||
|
||||
INTERFACE TO SUBROUTINE
|
||||
1 settextposition[FAR,C,ALIAS:"__f_settextposition"](row,col,s)
|
||||
INTEGER*2 row,col
|
||||
STRUCTURE/rccoord/
|
||||
INTEGER*2 row
|
||||
INTEGER*2 col
|
||||
END STRUCTURE
|
||||
RECORD/rccoord/s[FAR,REFERENCE]
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION settextrows (rows)
|
||||
INTEGER*2 settextrows[FAR,C,ALIAS:"__settextrows"],rows
|
||||
END
|
||||
|
||||
INTERFACE TO SUBROUTINE
|
||||
1 settextwindow[FAR,C,ALIAS:"__settextwindow"] (r1,c1,r2,c2)
|
||||
INTEGER*2 r1,c1,r2,c2
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION setvideomode (mode)
|
||||
INTEGER*2 setvideomode[FAR,C,ALIAS:"__setvideomode"],mode
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION setvideomoderows (mode,rows)
|
||||
INTEGER*2 setvideomoderows[FAR,C,ALIAS:"__setvideomoderows"]
|
||||
INTEGER*2 mode,rows
|
||||
END
|
||||
|
||||
INTERFACE TO SUBROUTINE
|
||||
1 setvieworg[FAR,C,ALIAS:"__f_setvieworg"](x,y,s)
|
||||
INTEGER*2 x,y
|
||||
STRUCTURE/xycoord/
|
||||
INTEGER*2 xcoord
|
||||
INTEGER*2 ycoord
|
||||
END STRUCTURE
|
||||
RECORD/xycoord/s[FAR,REFERENCE]
|
||||
END
|
||||
|
||||
INTERFACE TO SUBROUTINE
|
||||
1 setviewport[FAR,C,ALIAS:"__setviewport"] (x1,y1,x2,y2)
|
||||
INTEGER*2 x1,y1,x2,y2
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION setvisualpage (page)
|
||||
INTEGER*2 setvisualpage[FAR,C,ALIAS:"__setvisualpage"],page
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION setwindow (finvert,wx1,wy1,wx2,wy2)
|
||||
INTEGER*2 setwindow[FAR,C,ALIAS:"__setwindow"]
|
||||
LOGICAL*2 finvert
|
||||
DOUBLE PRECISION wx1,wy1,wx2,wy2
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION wrapon (option)
|
||||
INTEGER*2 wrapon[FAR,C,ALIAS:"__wrapon"],option
|
||||
END
|
||||
|
||||
* FONTS
|
||||
|
||||
INTERFACE TO FUNCTION getfontinfo(fi)
|
||||
INTEGER*2 getfontinfo[FAR,C,ALIAS:"__f_getfontinfo"]
|
||||
STRUCTURE/fontinfo/
|
||||
INTEGER*2 type ! b0 set = vector,clear = bit map
|
||||
INTEGER*2 ascent ! pix dist from top to baseline
|
||||
INTEGER*2 pixwidth ! character width in pixels, 0=prop
|
||||
INTEGER*2 pixheight ! character height in pixels
|
||||
INTEGER*2 avgwidth ! average character width in pixels
|
||||
CHARACTER*81 filename ! file name including path
|
||||
CHARACTER*32 facename ! font name
|
||||
END STRUCTURE
|
||||
RECORD/fontinfo/fi[FAR,REFERENCE]
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION getgtextextent(text)
|
||||
INTEGER*2 getgtextextent[FAR,C,ALIAS:"__f_getgtextextent"]
|
||||
CHARACTER*(*) text[FAR,REFERENCE]
|
||||
END
|
||||
|
||||
INTERFACE TO SUBROUTINE
|
||||
1 outgtext[FAR,C,ALIAS:"__f_outgtext"](text)
|
||||
CHARACTER*(*) text[FAR,REFERENCE]
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION registerfonts(filename)
|
||||
INTEGER*2 registerfonts[FAR,C,ALIAS:"__f_registerfonts"]
|
||||
CHARACTER*(*) filename[FAR,REFERENCE]
|
||||
END
|
||||
|
||||
INTERFACE TO FUNCTION setfont(options)
|
||||
INTEGER*2 setfont[FAR,C,ALIAS:"__f_setfont"]
|
||||
CHARACTER*(*) options[FAR,REFERENCE]
|
||||
END
|
||||
|
||||
INTERFACE TO SUBROUTINE
|
||||
1 unregisterfonts[FAR,C,ALIAS:"__unregisterfonts"]()
|
||||
END
|
||||
|
BIN
Microsoft Fortran v5/lib/API.LIB
Normal file
BIN
Microsoft Fortran v5/lib/API.LIB
Normal file
Binary file not shown.
BIN
Microsoft Fortran v5/lib/APILMR.OBJ
Normal file
BIN
Microsoft Fortran v5/lib/APILMR.OBJ
Normal file
Binary file not shown.
BIN
Microsoft Fortran v5/lib/COURB.FON
Normal file
BIN
Microsoft Fortran v5/lib/COURB.FON
Normal file
Binary file not shown.
BIN
Microsoft Fortran v5/lib/DOSCALLS.LIB
Normal file
BIN
Microsoft Fortran v5/lib/DOSCALLS.LIB
Normal file
Binary file not shown.
BIN
Microsoft Fortran v5/lib/GRAPHICS.LIB
Normal file
BIN
Microsoft Fortran v5/lib/GRAPHICS.LIB
Normal file
Binary file not shown.
BIN
Microsoft Fortran v5/lib/HELVB.FON
Normal file
BIN
Microsoft Fortran v5/lib/HELVB.FON
Normal file
Binary file not shown.
BIN
Microsoft Fortran v5/lib/LLIBFORE.LIB
Normal file
BIN
Microsoft Fortran v5/lib/LLIBFORE.LIB
Normal file
Binary file not shown.
BIN
Microsoft Fortran v5/lib/MODERN.FON
Normal file
BIN
Microsoft Fortran v5/lib/MODERN.FON
Normal file
Binary file not shown.
BIN
Microsoft Fortran v5/lib/ROMAN.FON
Normal file
BIN
Microsoft Fortran v5/lib/ROMAN.FON
Normal file
Binary file not shown.
BIN
Microsoft Fortran v5/lib/SCRIPT.FON
Normal file
BIN
Microsoft Fortran v5/lib/SCRIPT.FON
Normal file
Binary file not shown.
BIN
Microsoft Fortran v5/lib/TMSRB.FON
Normal file
BIN
Microsoft Fortran v5/lib/TMSRB.FON
Normal file
Binary file not shown.
2
Microsoft Fortran v5/m.bat
Normal file
2
Microsoft Fortran v5/m.bat
Normal file
@ -0,0 +1,2 @@
|
||||
ntvdm -r:. -e:include=include,init=bin,path=bin,lib=lib,tmp=tmp bin\fl /FPc /Ot %1.for
|
||||
|
1
Microsoft Fortran v5/tmp/foo.txt
Normal file
1
Microsoft Fortran v5/tmp/foo.txt
Normal file
@ -0,0 +1 @@
|
||||
placeholder
|
Loading…
Reference in New Issue
Block a user