The restored program is located on
https://github.com/nikitinprior/dF80
Thanks for your work. AFAIK the last official F80 release was version 3.44 dated 10-Dec-81. Seems unlikely MS would still been involved with CP/M in 1985.
d:mbas529BASIC-85 Rev. 5.29
dxforth schrieb am Mittwoch, 9. Februar 2022 um 00:16:37 UTC+1:
Thanks for your work. AFAIK the last official F80 release was version 3.44 >> dated 10-Dec-81. Seems unlikely MS would still been involved with CP/M in 1985.
Microsoft still was involved in CP/M in 1985, for example:
d:mbas529BASIC-85 Rev. 5.29
[CP/M Version]
Copyright 1985-1986 ? by Microsoft
Created: 28-Jul-85
34872 Bytes free
Ok
Don't know about F80.
On 9/02/2022 18:50, Udo Munk wrote:
dxforth schrieb am Mittwoch, 9. Februar 2022 um 00:16:37 UTC+1:
Thanks for your work. AFAIK the last official F80 release was version 3.44
dated 10-Dec-81. Seems unlikely MS would still been involved with CP/M in 1985.
Microsoft still was involved in CP/M in 1985, for example:
That would be the one that's byte identical tod:mbas529BASIC-85 Rev. 5.29
[CP/M Version]
Copyright 1985-1986 ? by Microsoft
Created: 28-Jul-85
34872 Bytes free
Ok
BASIC-80 Rev. 5.21
[CP/M Version]
Copyright 1977-1981 (C) by Microsoft
Created: 28-Jul-81
except for sign-on string? And what is a 'BASIC-85' anyway - 1985?
Don't know about F80.
type V2.forC 234567
V2 (compiled with F80 v3.44 "Created: 10-Dec-81")
V2 (compiled with F80 v3.4 "Created: 19-Feb-85") ***
среда, 9 февраля 2022 г. в 11:29:27 UTC+3, dxforth:Andrey
On 9/02/2022 18:50, Udo Munk wrote:
dxforth schrieb am Mittwoch, 9. Februar 2022 um 00:16:37 UTC+1:
Thanks for your work. AFAIK the last official F80 release was version 3.44
dated 10-Dec-81. Seems unlikely MS would still been involved with CP/M in 1985.
Microsoft still was involved in CP/M in 1985, for example:
That would be the one that's byte identical tod:mbas529BASIC-85 Rev. 5.29
[CP/M Version]
Copyright 1985-1986 ? by Microsoft
Created: 28-Jul-85
34872 Bytes free
Ok
BASIC-80 Rev. 5.21
[CP/M Version]
Copyright 1977-1981 (C) by Microsoft
Created: 28-Jul-81
except for sign-on string? And what is a 'BASIC-85' anyway - 1985?
The F80 package for the TRS-80 ("FORTRAN-80 Ver. 3.4 Copyright 1978, 79, 80 (C) By Microsoft" Created: 01-Dec-80 produce Z80-mnemonics.Don't know about F80.
Possibly Disassembled FORTRAN-80 Ver. 3.4 Copyright 1978, 79, 80 (C) By Microsoft Created: 19-Feb-85 was adapted for CP/M from it.
If someone has the opportunity to test the work of this compiler on TRS-80 or in the emulator, please do so.
To do this, compile the following small program and execute it.
type V2.forC 234567
DIMENSION K(5)
DO 10 I=1,3
K(I)=100+I
10 CONTINUE
WRITE(1,100) K(1),K(2),K(3),K(4),K(5)
100 FORMAT(1X,5 I7)
END
V2 (compiled with F80 v3.44 "Created: 10-Dec-81")
101 102 103 0 0
V2 (compiled with F80 v3.4 "Created: 19-Feb-85") ***
0 101 102 103 0
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** writes the value expected BUT puts it into the WRONG slot!
Please report the results. If there is no error in the TRS-80 version, then I will compare these programs and look for an error in the CP/M version.
Andrey
On Wednesday, 9 February 2022 at 15:12:37 UTC, nikiti...@gmail.com wrote:
среда, 9 февраля 2022 г. в 11:29:27 UTC+3, dxforth:
On 9/02/2022 18:50, Udo Munk wrote:
dxforth schrieb am Mittwoch, 9. Februar 2022 um 00:16:37 UTC+1:
Thanks for your work. AFAIK the last official F80 release was version 3.44
dated 10-Dec-81. Seems unlikely MS would still been involved with CP/M in 1985.
Microsoft still was involved in CP/M in 1985, for example:
That would be the one that's byte identical tod:mbas529BASIC-85 Rev. 5.29
[CP/M Version]
Copyright 1985-1986 ? by Microsoft
Created: 28-Jul-85
34872 Bytes free
Ok
BASIC-80 Rev. 5.21
[CP/M Version]
Copyright 1977-1981 (C) by Microsoft
Created: 28-Jul-81
except for sign-on string? And what is a 'BASIC-85' anyway - 1985?
The F80 package for the TRS-80 ("FORTRAN-80 Ver. 3.4 Copyright 1978, 79, 80 (C) By Microsoft" Created: 01-Dec-80 produce Z80-mnemonics.Don't know about F80.
Possibly Disassembled FORTRAN-80 Ver. 3.4 Copyright 1978, 79, 80 (C) By Microsoft Created: 19-Feb-85 was adapted for CP/M from it.
If someone has the opportunity to test the work of this compiler on TRS-80 or in the emulator, please do so.
To do this, compile the following small program and execute it.
type V2.forC 234567
DIMENSION K(5)
DO 10 I=1,3
K(I)=100+I
10 CONTINUE
WRITE(1,100) K(1),K(2),K(3),K(4),K(5)
100 FORMAT(1X,5 I7)
END
V2 (compiled with F80 v3.44 "Created: 10-Dec-81")
101 102 103 0 0
V2 (compiled with F80 v3.4 "Created: 19-Feb-85") ***
0 101 102 103 0
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** writes the value expected BUT puts it into the WRONG slot!
Please report the results. If there is no error in the TRS-80 version, then I will compare these programs and look for an error in the CP/M version.
AndreyAndrey
Have you tried linking the 3.44 libraries with code generated by v3.4. It is possible that the bug lies in the libraries.
As to the TRS-80 version, it may be the same core compiler with modified I/O routines to adapt it to run on the TRS80 and some minor changes to emit z80 code names.
Mark
среда, 9 февраля 2022 г. в 19:02:30 UTC+3, ogd...@gmail.com:
On Wednesday, 9 February 2022 at 15:12:37 UTC, nikiti...@gmail.com wrote:
среда, 9 февраля 2022 г. в 11:29:27 UTC+3, dxforth:
On 9/02/2022 18:50, Udo Munk wrote:
dxforth schrieb am Mittwoch, 9. Februar 2022 um 00:16:37 UTC+1:
Thanks for your work. AFAIK the last official F80 release was version 3.44
dated 10-Dec-81. Seems unlikely MS would still been involved with CP/M in 1985.
Microsoft still was involved in CP/M in 1985, for example:
That would be the one that's byte identical tod:mbas529BASIC-85 Rev. 5.29
[CP/M Version]
Copyright 1985-1986 ? by Microsoft
Created: 28-Jul-85
34872 Bytes free
Ok
BASIC-80 Rev. 5.21
[CP/M Version]
Copyright 1977-1981 (C) by Microsoft
Created: 28-Jul-81
except for sign-on string? And what is a 'BASIC-85' anyway - 1985?
The F80 package for the TRS-80 ("FORTRAN-80 Ver. 3.4 Copyright 1978, 79, 80 (C) By Microsoft" Created: 01-Dec-80 produce Z80-mnemonics.Don't know about F80.
Possibly Disassembled FORTRAN-80 Ver. 3.4 Copyright 1978, 79, 80 (C) By Microsoft Created: 19-Feb-85 was adapted for CP/M from it.
If someone has the opportunity to test the work of this compiler on TRS-80 or in the emulator, please do so.
To do this, compile the following small program and execute it.
type V2.forC 234567
DIMENSION K(5)
DO 10 I=1,3
K(I)=100+I
10 CONTINUE
WRITE(1,100) K(1),K(2),K(3),K(4),K(5)
100 FORMAT(1X,5 I7)
END
V2 (compiled with F80 v3.44 "Created: 10-Dec-81")
101 102 103 0 0
V2 (compiled with F80 v3.4 "Created: 19-Feb-85") ***
0 101 102 103 0
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** writes the value expected BUT puts it into the WRONG slot!
Please report the results. If there is no error in the TRS-80 version, then I will compare these programs and look for an error in the CP/M version.
AndreyAndrey
Have you tried linking the 3.44 libraries with code generated by v3.4. It is possible that the bug lies in the libraries.
As to the TRS-80 version, it may be the same core compiler with modified I/O routines to adapt it to run on the TRS80 and some minor changes to emit z80 code names.
MarkMark
The error is in the compiler.
When compiling with the listing option, there is a string that is different from the listing generated by the correct compiler. I used the library from the compiler kit with an error.
FORTRAN-80 Ver. 3.4 Copyright 1978, 79, 80 (C) By Microsoft
BYTES: 36777
Created: 19-Feb-85 ;Created: 10-Dec-81
1 C234567 ;1 C234567
2 DIMENSION K(2) ;2 DIMENSION K(2)
3 DO 10 I=1,2 ;3 DO 10 I=1,2
***** 0000' LD BC,$$L ;***** 0000' LXI B,$$L
***** 0003' JP $INIT ;***** 0003' JMP $INIT
4 K(I)=I ;4 K(I)=I
***** 0006' LD HL,0001 ;***** 0006' LXI H,0001
***** 0009' LD (I),HL ;***** 0009' SHLD I
5 10 CONTINUE ;5 10 CONTINUE
***** 000C' LD HL,(I) ;***** 000C' LHLD I
***** 000F' ADD HL,HL ;***** 000F' DAD H
***** 0010' LD DE,K ;***** 0010' LXI D,K-0002 <== ERROR
***** 0013' ADD HL,DE ;***** 0013' DAD D
***** 0014' LD (T:000000),HL ;***** 0014' SHLD T:000000
***** 0017' LD HL,(I) ;***** 0017' LHLD I
***** 001A' EX DE,HL ;***** 001A' XCHG
***** 001B' LD HL,(T:000000) ;***** 001B' LHLD T:000000
***** 001E' LD (HL),E ;***** 001E' MOV M,E
***** 001F' INC HL ;***** 001F' INX H
***** 0020' LD (HL),D ;***** 0020' MOV M,D
6 WRITE(1,100) K(1),K(2) ;6 WRITE(1,100) K(1),K(2)
***** 0021' LD HL,(I) ;***** 0021' LHLD I
***** 0024' INC HL ;***** 0024' INX H
***** 0025' LD A,02 ;***** 0025' MVI A,02
***** 0027' SUB L ;***** 0027' SUB L
***** 0028' LD A,00 ;***** 0028' MVI A,00
***** 002A' SBC H ;***** 002A' SBB H
***** 002B' JP P,0009' ;***** 002B' JP 0009'
***** 002E' LD DE,100L ;***** 002E' LXI D,100L
***** 0031' LD HL,[01 00 00 00] ;***** 0031' LXI H,[01 00 00 00]
***** 0034' CALL $W2 ;***** 0034' CALL $W2
7 100 FORMAT(1X,2I3) ;7 100 FORMAT(1X,2I3)
***** 0037' LD DE,K ;***** 0037' LXI D,K
***** 003A' LD HL,[01 00 00 00] ;***** 003A' LXI H,[01 00 00 00]
***** 003D' LD A,02 ;***** 003D' MVI A,02
***** 003F' CALL $I0 ;***** 003F' CALL $I0
***** 0042' LD DE,K+0002 ;***** 0042' LXI D,K+0002
***** 0045' LD HL,[01 00 00 00] ;***** 0045' LXI H,[01 00 00 00]
***** 0048' LD A,02 ;***** 0048' MVI A,02
***** 004A' CALL $I0 ;***** 004A' CALL $I0
***** 004D' CALL $ND ;***** 004D' CALL $ND
8 END ;8 END
***** 0050' CALL $EX ;***** 0050' CALL $EX
***** 0053' 01 00 00 00 ;***** 0053' 01 00 00 00
Program Unit Length=0057 (87)
Bytes
Data Area Length=0011 (17) Bytes
Andrey
среда, 9 февраля 2022 г. в 11:29:27 UTC+3, dxforth:
On 9/02/2022 18:50, Udo Munk wrote:
dxforth schrieb am Mittwoch, 9. Februar 2022 um 00:16:37 UTC+1:That would be the one that's byte identical to
Thanks for your work. AFAIK the last official F80 release was version 3.44
dated 10-Dec-81. Seems unlikely MS would still been involved with CP/M in 1985.
Microsoft still was involved in CP/M in 1985, for example:
d:mbas529BASIC-85 Rev. 5.29
[CP/M Version]
Copyright 1985-1986 ? by Microsoft
Created: 28-Jul-85
34872 Bytes free
Ok
BASIC-80 Rev. 5.21
[CP/M Version]
Copyright 1977-1981 (C) by Microsoft
Created: 28-Jul-81
except for sign-on string? And what is a 'BASIC-85' anyway - 1985?
Don't know about F80.
The F80 package for the TRS-80 ("FORTRAN-80 Ver. 3.4 Copyright 1978, 79, 80 (C) By Microsoft" Created: 01-Dec-80 produce Z80-mnemonics.
Possibly Disassembled FORTRAN-80 Ver. 3.4 Copyright 1978, 79, 80 (C) By Microsoft Created: 19-Feb-85 was adapted for CP/M from it.
среда, 9 февраля 2022 г. в 19:47:20 UTC+3, Андрей Никитин:Andrey
среда, 9 февраля 2022 г. в 19:02:30 UTC+3, ogd...@gmail.com:
On Wednesday, 9 February 2022 at 15:12:37 UTC, nikiti...@gmail.com wrote:
среда, 9 февраля 2022 г. в 11:29:27 UTC+3, dxforth:
On 9/02/2022 18:50, Udo Munk wrote:
dxforth schrieb am Mittwoch, 9. Februar 2022 um 00:16:37 UTC+1:
Thanks for your work. AFAIK the last official F80 release was version 3.44
dated 10-Dec-81. Seems unlikely MS would still been involved with CP/M in 1985.
Microsoft still was involved in CP/M in 1985, for example:
That would be the one that's byte identical tod:mbas529BASIC-85 Rev. 5.29
[CP/M Version]
Copyright 1985-1986 ? by Microsoft
Created: 28-Jul-85
34872 Bytes free
Ok
BASIC-80 Rev. 5.21
[CP/M Version]
Copyright 1977-1981 (C) by Microsoft
Created: 28-Jul-81
except for sign-on string? And what is a 'BASIC-85' anyway - 1985?
The F80 package for the TRS-80 ("FORTRAN-80 Ver. 3.4 Copyright 1978, 79, 80 (C) By Microsoft" Created: 01-Dec-80 produce Z80-mnemonics.Don't know about F80.
Possibly Disassembled FORTRAN-80 Ver. 3.4 Copyright 1978, 79, 80 (C) By Microsoft Created: 19-Feb-85 was adapted for CP/M from it.
If someone has the opportunity to test the work of this compiler on TRS-80 or in the emulator, please do so.
To do this, compile the following small program and execute it.
type V2.forC 234567
DIMENSION K(5)
DO 10 I=1,3
K(I)=100+I
10 CONTINUE
WRITE(1,100) K(1),K(2),K(3),K(4),K(5)
100 FORMAT(1X,5 I7)
END
V2 (compiled with F80 v3.44 "Created: 10-Dec-81")
101 102 103 0 0
V2 (compiled with F80 v3.4 "Created: 19-Feb-85") ***
0 101 102 103 0
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** writes the value expected BUT puts it into the WRONG slot!
Please report the results. If there is no error in the TRS-80 version, then I will compare these programs and look for an error in the CP/M version.
AndreyAndrey
Have you tried linking the 3.44 libraries with code generated by v3.4. It is possible that the bug lies in the libraries.
As to the TRS-80 version, it may be the same core compiler with modified I/O routines to adapt it to run on the TRS80 and some minor changes to emit z80 code names.
MarkMark
The error is in the compiler.
When compiling with the listing option, there is a string that is different from the listing generated by the correct compiler. I used the library from the compiler kit with an error.
FORTRAN-80 Ver. 3.4 Copyright 1978, 79, 80 (C) By Microsoft
BYTES: 36777
Created: 19-Feb-85 ;Created: 10-Dec-81
1 C234567 ;1 C234567
2 DIMENSION K(2) ;2 DIMENSION K(2)
3 DO 10 I=1,2 ;3 DO 10 I=1,2
***** 0000' LD BC,$$L ;***** 0000' LXI B,$$L
***** 0003' JP $INIT ;***** 0003' JMP $INIT
4 K(I)=I ;4 K(I)=I
***** 0006' LD HL,0001 ;***** 0006' LXI H,0001
***** 0009' LD (I),HL ;***** 0009' SHLD I
5 10 CONTINUE ;5 10 CONTINUE
***** 000C' LD HL,(I) ;***** 000C' LHLD I
***** 000F' ADD HL,HL ;***** 000F' DAD H
***** 0010' LD DE,K ;***** 0010' LXI D,K-0002 <== ERROR
***** 0013' ADD HL,DE ;***** 0013' DAD D
***** 0014' LD (T:000000),HL ;***** 0014' SHLD T:000000
***** 0017' LD HL,(I) ;***** 0017' LHLD I
***** 001A' EX DE,HL ;***** 001A' XCHG
***** 001B' LD HL,(T:000000) ;***** 001B' LHLD T:000000
***** 001E' LD (HL),E ;***** 001E' MOV M,E
***** 001F' INC HL ;***** 001F' INX H
***** 0020' LD (HL),D ;***** 0020' MOV M,D
6 WRITE(1,100) K(1),K(2) ;6 WRITE(1,100) K(1),K(2)
***** 0021' LD HL,(I) ;***** 0021' LHLD I
***** 0024' INC HL ;***** 0024' INX H
***** 0025' LD A,02 ;***** 0025' MVI A,02
***** 0027' SUB L ;***** 0027' SUB L
***** 0028' LD A,00 ;***** 0028' MVI A,00
***** 002A' SBC H ;***** 002A' SBB H
***** 002B' JP P,0009' ;***** 002B' JP 0009'
***** 002E' LD DE,100L ;***** 002E' LXI D,100L
***** 0031' LD HL,[01 00 00 00] ;***** 0031' LXI H,[01 00 00 00]
***** 0034' CALL $W2 ;***** 0034' CALL $W2
7 100 FORMAT(1X,2I3) ;7 100 FORMAT(1X,2I3)
***** 0037' LD DE,K ;***** 0037' LXI D,K
***** 003A' LD HL,[01 00 00 00] ;***** 003A' LXI H,[01 00 00 00]
***** 003D' LD A,02 ;***** 003D' MVI A,02
***** 003F' CALL $I0 ;***** 003F' CALL $I0
***** 0042' LD DE,K+0002 ;***** 0042' LXI D,K+0002
***** 0045' LD HL,[01 00 00 00] ;***** 0045' LXI H,[01 00 00 00]
***** 0048' LD A,02 ;***** 0048' MVI A,02
***** 004A' CALL $I0 ;***** 004A' CALL $I0
***** 004D' CALL $ND ;***** 004D' CALL $ND
8 END ;8 END
***** 0050' CALL $EX ;***** 0050' CALL $EX
***** 0053' 01 00 00 00 ;***** 0053' 01 00 00 00
Program Unit Length=0057 (87)
Bytes
Data Area Length=0011 (17) Bytes
AndreyMark
Based on date, it is most likely that a CP/M version was made from the TRS-80 version.
Andrey
On Wednesday, 9 February 2022 at 17:00:51 UTC, nikiti...@gmail.com wrote:Andrey
среда, 9 февраля 2022 г. в 19:47:20 UTC+3, Андрей Никитин:
среда, 9 февраля 2022 г. в 19:02:30 UTC+3, ogd...@gmail.com:
On Wednesday, 9 February 2022 at 15:12:37 UTC, nikiti...@gmail.com wrote:
среда, 9 февраля 2022 г. в 11:29:27 UTC+3, dxforth:
On 9/02/2022 18:50, Udo Munk wrote:
dxforth schrieb am Mittwoch, 9. Februar 2022 um 00:16:37 UTC+1:
Thanks for your work. AFAIK the last official F80 release was version 3.44
dated 10-Dec-81. Seems unlikely MS would still been involved with CP/M in 1985.
Microsoft still was involved in CP/M in 1985, for example:
That would be the one that's byte identical tod:mbas529BASIC-85 Rev. 5.29
[CP/M Version]
Copyright 1985-1986 ? by Microsoft
Created: 28-Jul-85
34872 Bytes free
Ok
BASIC-80 Rev. 5.21
[CP/M Version]
Copyright 1977-1981 (C) by Microsoft
Created: 28-Jul-81
except for sign-on string? And what is a 'BASIC-85' anyway - 1985?
The F80 package for the TRS-80 ("FORTRAN-80 Ver. 3.4 Copyright 1978, 79, 80 (C) By Microsoft" Created: 01-Dec-80 produce Z80-mnemonics.Don't know about F80.
Possibly Disassembled FORTRAN-80 Ver. 3.4 Copyright 1978, 79, 80 (C) By Microsoft Created: 19-Feb-85 was adapted for CP/M from it.
If someone has the opportunity to test the work of this compiler on TRS-80 or in the emulator, please do so.
To do this, compile the following small program and execute it.
type V2.forC 234567
DIMENSION K(5)
DO 10 I=1,3
K(I)=100+I
10 CONTINUE
WRITE(1,100) K(1),K(2),K(3),K(4),K(5)
100 FORMAT(1X,5 I7)
END
V2 (compiled with F80 v3.44 "Created: 10-Dec-81")
101 102 103 0 0
V2 (compiled with F80 v3.4 "Created: 19-Feb-85") ***
0 101 102 103 0
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** writes the value expected BUT puts it into the WRONG slot!
Please report the results. If there is no error in the TRS-80 version, then I will compare these programs and look for an error in the CP/M version.
AndreyAndrey
Have you tried linking the 3.44 libraries with code generated by v3.4. It is possible that the bug lies in the libraries.
As to the TRS-80 version, it may be the same core compiler with modified I/O routines to adapt it to run on the TRS80 and some minor changes to emit z80 code names.
MarkMark
The error is in the compiler.
When compiling with the listing option, there is a string that is different from the listing generated by the correct compiler. I used the library from the compiler kit with an error.
FORTRAN-80 Ver. 3.4 Copyright 1978, 79, 80 (C) By Microsoft
BYTES: 36777
Created: 19-Feb-85 ;Created: 10-Dec-81
1 C234567 ;1 C234567
2 DIMENSION K(2) ;2 DIMENSION K(2)
3 DO 10 I=1,2 ;3 DO 10 I=1,2
***** 0000' LD BC,$$L ;***** 0000' LXI B,$$L
***** 0003' JP $INIT ;***** 0003' JMP $INIT
4 K(I)=I ;4 K(I)=I
***** 0006' LD HL,0001 ;***** 0006' LXI H,0001
***** 0009' LD (I),HL ;***** 0009' SHLD I
5 10 CONTINUE ;5 10 CONTINUE
***** 000C' LD HL,(I) ;***** 000C' LHLD I
***** 000F' ADD HL,HL ;***** 000F' DAD H
***** 0010' LD DE,K ;***** 0010' LXI D,K-0002 <== ERROR
***** 0013' ADD HL,DE ;***** 0013' DAD D
***** 0014' LD (T:000000),HL ;***** 0014' SHLD T:000000
***** 0017' LD HL,(I) ;***** 0017' LHLD I
***** 001A' EX DE,HL ;***** 001A' XCHG
***** 001B' LD HL,(T:000000) ;***** 001B' LHLD T:000000
***** 001E' LD (HL),E ;***** 001E' MOV M,E
***** 001F' INC HL ;***** 001F' INX H
***** 0020' LD (HL),D ;***** 0020' MOV M,D
6 WRITE(1,100) K(1),K(2) ;6 WRITE(1,100) K(1),K(2)
***** 0021' LD HL,(I) ;***** 0021' LHLD I
***** 0024' INC HL ;***** 0024' INX H
***** 0025' LD A,02 ;***** 0025' MVI A,02
***** 0027' SUB L ;***** 0027' SUB L
***** 0028' LD A,00 ;***** 0028' MVI A,00
***** 002A' SBC H ;***** 002A' SBB H
***** 002B' JP P,0009' ;***** 002B' JP 0009'
***** 002E' LD DE,100L ;***** 002E' LXI D,100L
***** 0031' LD HL,[01 00 00 00] ;***** 0031' LXI H,[01 00 00 00]
***** 0034' CALL $W2 ;***** 0034' CALL $W2
7 100 FORMAT(1X,2I3) ;7 100 FORMAT(1X,2I3)
***** 0037' LD DE,K ;***** 0037' LXI D,K
***** 003A' LD HL,[01 00 00 00] ;***** 003A' LXI H,[01 00 00 00]
***** 003D' LD A,02 ;***** 003D' MVI A,02
***** 003F' CALL $I0 ;***** 003F' CALL $I0
***** 0042' LD DE,K+0002 ;***** 0042' LXI D,K+0002
***** 0045' LD HL,[01 00 00 00] ;***** 0045' LXI H,[01 00 00 00]
***** 0048' LD A,02 ;***** 0048' MVI A,02
***** 004A' CALL $I0 ;***** 004A' CALL $I0
***** 004D' CALL $ND ;***** 004D' CALL $ND
8 END ;8 END
***** 0050' CALL $EX ;***** 0050' CALL $EX
***** 0053' 01 00 00 00 ;***** 0053' 01 00 00 00
Program Unit Length=0057 (87)
Bytes
Data Area Length=0011 (17) Bytes
AndreyMark
Based on date, it is most likely that a CP/M version was made from the TRS-80 version.
AndreyAndrey
I have versions 3.36, 3.4 and 3.44 for CP/M all copyrighted from 1978. The TRS80 was only delivered in Nov 1977, and CP/M was well established by then. This would suggest that the CP/M version was probably the original version.
On a separate note, was the TRS80 version for its own DOS or for its version of CP/M, which loaded programs higher in memory. I am aware that the Basic compiler had a version for the TRS80 version of CP/M, so the Fortran compiler may be similar.
Mark
On Thursday, 10 February 2022 at 10:00:10 UTC, ogd...@gmail.com wrote:Checking the 3.33, 3.36, 3.4 and 3.44 compilers on CP/M.
On Wednesday, 9 February 2022 at 17:00:51 UTC, nikiti...@gmail.com wrote:
среда, 9 февраля 2022 г. в 19:47:20 UTC+3, Андрей Никитин:
среда, 9 февраля 2022 г. в 19:02:30 UTC+3, ogd...@gmail.com:
On Wednesday, 9 February 2022 at 15:12:37 UTC, nikiti...@gmail.com wrote:
среда, 9 февраля 2022 г. в 11:29:27 UTC+3, dxforth:
On 9/02/2022 18:50, Udo Munk wrote:
dxforth schrieb am Mittwoch, 9. Februar 2022 um 00:16:37 UTC+1:
Thanks for your work. AFAIK the last official F80 release was version 3.44
dated 10-Dec-81. Seems unlikely MS would still been involved with CP/M in 1985.
Microsoft still was involved in CP/M in 1985, for example:
That would be the one that's byte identical tod:mbas529BASIC-85 Rev. 5.29
[CP/M Version]
Copyright 1985-1986 ? by Microsoft
Created: 28-Jul-85
34872 Bytes free
Ok
BASIC-80 Rev. 5.21
[CP/M Version]
Copyright 1977-1981 (C) by Microsoft
Created: 28-Jul-81
except for sign-on string? And what is a 'BASIC-85' anyway - 1985?
The F80 package for the TRS-80 ("FORTRAN-80 Ver. 3.4 Copyright 1978, 79, 80 (C) By Microsoft" Created: 01-Dec-80 produce Z80-mnemonics.Don't know about F80.
Possibly Disassembled FORTRAN-80 Ver. 3.4 Copyright 1978, 79, 80 (C) By Microsoft Created: 19-Feb-85 was adapted for CP/M from it.
If someone has the opportunity to test the work of this compiler on TRS-80 or in the emulator, please do so.
To do this, compile the following small program and execute it.
type V2.forC 234567
DIMENSION K(5)
DO 10 I=1,3
K(I)=100+I
10 CONTINUE
WRITE(1,100) K(1),K(2),K(3),K(4),K(5)
100 FORMAT(1X,5 I7)
END
V2 (compiled with F80 v3.44 "Created: 10-Dec-81")
101 102 103 0 0
V2 (compiled with F80 v3.4 "Created: 19-Feb-85") ***
0 101 102 103 0
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** writes the value expected BUT puts it into the WRONG slot!
Please report the results. If there is no error in the TRS-80 version, then I will compare these programs and look for an error in the CP/M version.
AndreyAndrey
Have you tried linking the 3.44 libraries with code generated by v3.4. It is possible that the bug lies in the libraries.
As to the TRS-80 version, it may be the same core compiler with modified I/O routines to adapt it to run on the TRS80 and some minor changes to emit z80 code names.
MarkMark
The error is in the compiler.
When compiling with the listing option, there is a string that is different from the listing generated by the correct compiler. I used the library from the compiler kit with an error.
FORTRAN-80 Ver. 3.4 Copyright 1978, 79, 80 (C) By Microsoft
BYTES: 36777
Created: 19-Feb-85 ;Created: 10-Dec-81
1 C234567 ;1 C234567
2 DIMENSION K(2) ;2 DIMENSION K(2)
3 DO 10 I=1,2 ;3 DO 10 I=1,2
***** 0000' LD BC,$$L ;***** 0000' LXI B,$$L
***** 0003' JP $INIT ;***** 0003' JMP $INIT
4 K(I)=I ;4 K(I)=I
***** 0006' LD HL,0001 ;***** 0006' LXI H,0001
***** 0009' LD (I),HL ;***** 0009' SHLD I
5 10 CONTINUE ;5 10 CONTINUE
***** 000C' LD HL,(I) ;***** 000C' LHLD I
***** 000F' ADD HL,HL ;***** 000F' DAD H
***** 0010' LD DE,K ;***** 0010' LXI D,K-0002 <== ERROR
***** 0013' ADD HL,DE ;***** 0013' DAD D
***** 0014' LD (T:000000),HL ;***** 0014' SHLD T:000000
***** 0017' LD HL,(I) ;***** 0017' LHLD I
***** 001A' EX DE,HL ;***** 001A' XCHG
***** 001B' LD HL,(T:000000) ;***** 001B' LHLD T:000000
***** 001E' LD (HL),E ;***** 001E' MOV M,E
***** 001F' INC HL ;***** 001F' INX H
***** 0020' LD (HL),D ;***** 0020' MOV M,D
6 WRITE(1,100) K(1),K(2) ;6 WRITE(1,100) K(1),K(2)
***** 0021' LD HL,(I) ;***** 0021' LHLD I
***** 0024' INC HL ;***** 0024' INX H
***** 0025' LD A,02 ;***** 0025' MVI A,02
***** 0027' SUB L ;***** 0027' SUB L
***** 0028' LD A,00 ;***** 0028' MVI A,00
***** 002A' SBC H ;***** 002A' SBB H
***** 002B' JP P,0009' ;***** 002B' JP 0009'
***** 002E' LD DE,100L ;***** 002E' LXI D,100L
***** 0031' LD HL,[01 00 00 00] ;***** 0031' LXI H,[01 00 00 00]
***** 0034' CALL $W2 ;***** 0034' CALL $W2
7 100 FORMAT(1X,2I3) ;7 100 FORMAT(1X,2I3)
***** 0037' LD DE,K ;***** 0037' LXI D,K
***** 003A' LD HL,[01 00 00 00] ;***** 003A' LXI H,[01 00 00 00]
***** 003D' LD A,02 ;***** 003D' MVI A,02
***** 003F' CALL $I0 ;***** 003F' CALL $I0
***** 0042' LD DE,K+0002 ;***** 0042' LXI D,K+0002
***** 0045' LD HL,[01 00 00 00] ;***** 0045' LXI H,[01 00 00 00]
***** 0048' LD A,02 ;***** 0048' MVI A,02
***** 004A' CALL $I0 ;***** 004A' CALL $I0
***** 004D' CALL $ND ;***** 004D' CALL $ND
8 END ;8 END
***** 0050' CALL $EX ;***** 0050' CALL $EX
***** 0053' 01 00 00 00 ;***** 0053' 01 00 00 00
Program Unit Length=0057 (87)
Bytes
Data Area Length=0011 (17) Bytes
AndreyMark
Based on date, it is most likely that a CP/M version was made from the TRS-80 version.
AndreyAndrey
I have versions 3.36, 3.4 and 3.44 for CP/M all copyrighted from 1978. The TRS80 was only delivered in Nov 1977, and CP/M was well established by then. This would suggest that the CP/M version was probably the original version.
On a separate note, was the TRS80 version for its own DOS or for its version of CP/M, which loaded programs higher in memory. I am aware that the Basic compiler had a version for the TRS80 version of CP/M, so the Fortran compiler may be similar.Andrey
Mark
I just looked at the distributed cpmio.mac source that came with F80 v3.44 and it clearly suggests the TRS80 version was probably for it's version of CP/M.
The top of the file is
TITLE CPMIO CONSOLE I/O ROUTINES FOR CP/M
ENTRY $TTYIN,$TTYOT,$LNPTR,$CPMBF,$LINBF
TANDY EQU 0
CPMSBC EQU 0
;
IF2
.PRINTX /CPMIO/
IFT TANDY
.PRINTX/TANDY VERSION/
ENDIF
IFT CPMSBC
.PRINTX/CPM SBC VERSION/
ENDIF
IFF TANDY OR CPMSBC
.PRINTX/NORMAL CPM VERSION/
ENDIF
ENDIF
Mark
On Thursday, 10 February 2022 at 10:07:01 UTC, ogd...@gmail.com wrote:optimised for the z80.
On Thursday, 10 February 2022 at 10:00:10 UTC, ogd...@gmail.com wrote:
On Wednesday, 9 February 2022 at 17:00:51 UTC, nikiti...@gmail.com wrote:
среда, 9 февраля 2022 г. в 19:47:20 UTC+3, Андрей Никитин:
среда, 9 февраля 2022 г. в 19:02:30 UTC+3, ogd...@gmail.com:
On Wednesday, 9 February 2022 at 15:12:37 UTC, nikiti...@gmail.com wrote:
среда, 9 февраля 2022 г. в 11:29:27 UTC+3, dxforth:
On 9/02/2022 18:50, Udo Munk wrote:
dxforth schrieb am Mittwoch, 9. Februar 2022 um 00:16:37 UTC+1:
Thanks for your work. AFAIK the last official F80 release was version 3.44
dated 10-Dec-81. Seems unlikely MS would still been involved with CP/M in 1985.
Microsoft still was involved in CP/M in 1985, for example:
That would be the one that's byte identical tod:mbas529BASIC-85 Rev. 5.29
[CP/M Version]
Copyright 1985-1986 ? by Microsoft
Created: 28-Jul-85
34872 Bytes free
Ok
BASIC-80 Rev. 5.21
[CP/M Version]
Copyright 1977-1981 (C) by Microsoft
Created: 28-Jul-81
except for sign-on string? And what is a 'BASIC-85' anyway - 1985?
The F80 package for the TRS-80 ("FORTRAN-80 Ver. 3.4 Copyright 1978, 79, 80 (C) By Microsoft" Created: 01-Dec-80 produce Z80-mnemonics.Don't know about F80.
Possibly Disassembled FORTRAN-80 Ver. 3.4 Copyright 1978, 79, 80 (C) By Microsoft Created: 19-Feb-85 was adapted for CP/M from it.
If someone has the opportunity to test the work of this compiler on TRS-80 or in the emulator, please do so.
To do this, compile the following small program and execute it.
type V2.forC 234567
DIMENSION K(5)
DO 10 I=1,3
K(I)=100+I
10 CONTINUE
WRITE(1,100) K(1),K(2),K(3),K(4),K(5)
100 FORMAT(1X,5 I7)
END
V2 (compiled with F80 v3.44 "Created: 10-Dec-81")
101 102 103 0 0
V2 (compiled with F80 v3.4 "Created: 19-Feb-85") ***
0 101 102 103 0
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** writes the value expected BUT puts it into the WRONG slot!
Please report the results. If there is no error in the TRS-80 version, then I will compare these programs and look for an error in the CP/M version.
AndreyAndrey
Have you tried linking the 3.44 libraries with code generated by v3.4. It is possible that the bug lies in the libraries.
As to the TRS-80 version, it may be the same core compiler with modified I/O routines to adapt it to run on the TRS80 and some minor changes to emit z80 code names.
MarkMark
The error is in the compiler.
When compiling with the listing option, there is a string that is different from the listing generated by the correct compiler. I used the library from the compiler kit with an error.
FORTRAN-80 Ver. 3.4 Copyright 1978, 79, 80 (C) By Microsoft
BYTES: 36777
Created: 19-Feb-85 ;Created: 10-Dec-81
1 C234567 ;1 C234567
2 DIMENSION K(2) ;2 DIMENSION K(2)
3 DO 10 I=1,2 ;3 DO 10 I=1,2
***** 0000' LD BC,$$L ;***** 0000' LXI B,$$L
***** 0003' JP $INIT ;***** 0003' JMP $INIT
4 K(I)=I ;4 K(I)=I
***** 0006' LD HL,0001 ;***** 0006' LXI H,0001
***** 0009' LD (I),HL ;***** 0009' SHLD I
5 10 CONTINUE ;5 10 CONTINUE
***** 000C' LD HL,(I) ;***** 000C' LHLD I
***** 000F' ADD HL,HL ;***** 000F' DAD H
***** 0010' LD DE,K ;***** 0010' LXI D,K-0002 <== ERROR
***** 0013' ADD HL,DE ;***** 0013' DAD D
***** 0014' LD (T:000000),HL ;***** 0014' SHLD T:000000
***** 0017' LD HL,(I) ;***** 0017' LHLD I
***** 001A' EX DE,HL ;***** 001A' XCHG
***** 001B' LD HL,(T:000000) ;***** 001B' LHLD T:000000
***** 001E' LD (HL),E ;***** 001E' MOV M,E
***** 001F' INC HL ;***** 001F' INX H
***** 0020' LD (HL),D ;***** 0020' MOV M,D
6 WRITE(1,100) K(1),K(2) ;6 WRITE(1,100) K(1),K(2)
***** 0021' LD HL,(I) ;***** 0021' LHLD I
***** 0024' INC HL ;***** 0024' INX H
***** 0025' LD A,02 ;***** 0025' MVI A,02
***** 0027' SUB L ;***** 0027' SUB L
***** 0028' LD A,00 ;***** 0028' MVI A,00
***** 002A' SBC H ;***** 002A' SBB H
***** 002B' JP P,0009' ;***** 002B' JP 0009'
***** 002E' LD DE,100L ;***** 002E' LXI D,100L
***** 0031' LD HL,[01 00 00 00] ;***** 0031' LXI H,[01 00 00 00] ***** 0034' CALL $W2 ;***** 0034' CALL $W2
7 100 FORMAT(1X,2I3) ;7 100 FORMAT(1X,2I3)
***** 0037' LD DE,K ;***** 0037' LXI D,K
***** 003A' LD HL,[01 00 00 00] ;***** 003A' LXI H,[01 00 00 00] ***** 003D' LD A,02 ;***** 003D' MVI A,02
***** 003F' CALL $I0 ;***** 003F' CALL $I0
***** 0042' LD DE,K+0002 ;***** 0042' LXI D,K+0002
***** 0045' LD HL,[01 00 00 00] ;***** 0045' LXI H,[01 00 00 00] ***** 0048' LD A,02 ;***** 0048' MVI A,02
***** 004A' CALL $I0 ;***** 004A' CALL $I0
***** 004D' CALL $ND ;***** 004D' CALL $ND
8 END ;8 END
***** 0050' CALL $EX ;***** 0050' CALL $EX
***** 0053' 01 00 00 00 ;***** 0053' 01 00 00 00
Program Unit Length=0057 (87)
Bytes
Data Area Length=0011 (17) Bytes
AndreyMark
Based on date, it is most likely that a CP/M version was made from the TRS-80 version.
AndreyAndrey
I have versions 3.36, 3.4 and 3.44 for CP/M all copyrighted from 1978. The TRS80 was only delivered in Nov 1977, and CP/M was well established by then. This would suggest that the CP/M version was probably the original version.
On a separate note, was the TRS80 version for its own DOS or for its version of CP/M, which loaded programs higher in memory. I am aware that the Basic compiler had a version for the TRS80 version of CP/M, so the Fortran compiler may be similar.Andrey
Mark
I just looked at the distributed cpmio.mac source that came with F80 v3.44 and it clearly suggests the TRS80 version was probably for it's version of CP/M.
The top of the file is
TITLE CPMIO CONSOLE I/O ROUTINES FOR CP/M
ENTRY $TTYIN,$TTYOT,$LNPTR,$CPMBF,$LINBF
TANDY EQU 0
CPMSBC EQU 0
;
IF2
.PRINTX /CPMIO/
IFT TANDY
.PRINTX/TANDY VERSION/
ENDIF
IFT CPMSBC
.PRINTX/CPM SBC VERSION/
ENDIF
IFF TANDY OR CPMSBC
.PRINTX/NORMAL CPM VERSION/
ENDIF
ENDIF
MarkChecking the 3.33, 3.36, 3.4 and 3.44 compilers on CP/M.
The error you highlight was only present in the 3.4 version.
What is interesting is that the 3.4 version uses Z80 mnemonics whilst the other versions use the intel ones. This suggests that Microsoft offered 8080 and z80 versions of the compiler. It is not clear whether the code generated or libraries were
Mark
The restored program is located on
https://github.com/nikitinprior/dF80
Andrey
среда, 9 февраля 2022 г. в 11:29:27 UTC+3, dxforth:
On 9/02/2022 18:50, Udo Munk wrote:
dxforth schrieb am Mittwoch, 9. Februar 2022 um 00:16:37 UTC+1:That would be the one that's byte identical to
Thanks for your work. AFAIK the last official F80 release was version 3.44 >>>> dated 10-Dec-81. Seems unlikely MS would still been involved with CP/M in 1985.
Microsoft still was involved in CP/M in 1985, for example:
d:mbas529BASIC-85 Rev. 5.29
[CP/M Version]
Copyright 1985-1986 ? by Microsoft
Created: 28-Jul-85
34872 Bytes free
Ok
BASIC-80 Rev. 5.21
[CP/M Version]
Copyright 1977-1981 (C) by Microsoft
Created: 28-Jul-81
except for sign-on string? And what is a 'BASIC-85' anyway - 1985?
Don't know about F80.
The F80 package for the TRS-80 ("FORTRAN-80 Ver. 3.4 Copyright 1978, 79, 80 (C) By Microsoft" Created: 01-Dec-80 produce Z80-mnemonics.
Possibly Disassembled FORTRAN-80 Ver. 3.4 Copyright 1978, 79, 80 (C) By Microsoft Created: 19-Feb-85 was adapted for CP/M from it.
If someone has the opportunity to test the work of this compiler on TRS-80 or in the emulator, please do so.
To do this, compile the following small program and execute it.
type V2.forC 234567
DIMENSION K(5)
DO 10 I=1,3
K(I)=100+I
10 CONTINUE
WRITE(1,100) K(1),K(2),K(3),K(4),K(5)
100 FORMAT(1X,5 I7)
END
V2 (compiled with F80 v3.44 "Created: 10-Dec-81")
101 102 103 0 0
V2 (compiled with F80 v3.4 "Created: 19-Feb-85") ***
0 101 102 103 0
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** writes the value expected BUT puts it into the WRONG slot!
Please report the results. If there is no error in the TRS-80 version, then I will compare these programs and look for an error in the CP/M version.
Andrey
Am 02/09/2022 04:12 PM, Андрей Никитин schrieb:
среда, 9 февраля 2022 г. в 11:29:27 UTC+3, dxforth:
On 9/02/2022 18:50, Udo Munk wrote:
dxforth schrieb am Mittwoch, 9. Februar 2022 um 00:16:37 UTC+1:That would be the one that's byte identical to
Thanks for your work. AFAIK the last official F80 release was version 3.44
dated 10-Dec-81. Seems unlikely MS would still been involved with CP/M in 1985.
Microsoft still was involved in CP/M in 1985, for example:
d:mbas529BASIC-85 Rev. 5.29
[CP/M Version]
Copyright 1985-1986 ? by Microsoft
Created: 28-Jul-85
34872 Bytes free
Ok
BASIC-80 Rev. 5.21
[CP/M Version]
Copyright 1977-1981 (C) by Microsoft
Created: 28-Jul-81
except for sign-on string? And what is a 'BASIC-85' anyway - 1985?
Don't know about F80.
The F80 package for the TRS-80 ("FORTRAN-80 Ver. 3.4 Copyright 1978, 79, 80 (C) By Microsoft" Created: 01-Dec-80 produce Z80-mnemonics.
Possibly Disassembled FORTRAN-80 Ver. 3.4 Copyright 1978, 79, 80 (C) By Microsoft Created: 19-Feb-85 was adapted for CP/M from it.
If someone has the opportunity to test the work of this compiler on TRS-80 or in the emulator, please do so.
To do this, compile the following small program and execute it.
type V2.forC 234567
DIMENSION K(5)
DO 10 I=1,3
K(I)=100+I
10 CONTINUE
WRITE(1,100) K(1),K(2),K(3),K(4),K(5)
100 FORMAT(1X,5 I7)
END
V2 (compiled with F80 v3.44 "Created: 10-Dec-81")
101 102 103 0 0
V2 (compiled with F80 v3.4 "Created: 19-Feb-85") ***
0 101 102 103 0
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** writes the value expected BUT puts it into the WRONG slot!
Please report the results. If there is no error in the TRS-80 version, then I will compare these programs and look for an error in the CP/M version.
Andrey
These irregularities are very obvious.
You are not the first one noticing something.
I remember two threads discussing this:
comp.lang.fortran
19.10.09 23:20
"it's too late for a bug report" https://groups.google.com/forum/?_escaped_fragment_=topic/comp.lang.fortran/1_Oky1YqTo4
comp.os.cpm
06.06.14 08:16
"F80 date puzzle" https://groups.google.com/forum/?_escaped_fragment_=topic/comp.os.cpm/bkAz1RCpvho
I only have saved the old google groups links from that time, sorry.
Hope you can find them,
It is most likely that the original compiler for TRS-80 was prepared
directly by Microsoft. Disassembly of the source file F80.CMD showed the presence in the executable file of a set of traps placed by the authors of the program to complicate its disassembly. Fragments of superfluous code
were excluded from the program modified for CP/M and a number of other actions were performed to overcome the protection against disassembly. A mistake was made in some place.
Who performed this transformation will remain unknown.
However, I disassembled the compiler F80 Ver. 3.44 for CP/M. The file with the program has the name F.MAC. Compiling this file results in the creation of an executable file completely identical to the original program.
I assume that for CP/M the FORTRAN compiler is 80 Ver. 3.4 Copyright 1978, 79, 80 (C) Microsoft Created: 19-Feb-85 was remade from the executable code of the FORTRAN-80 Ver compiler. 3.4 Copyright 1978, 79, 80 (C) Microsoft Created: 01-Dec-80 for TRS-80.
...
It is most likely that the original compiler for TRS-80 was prepared directly by Microsoft. Disassembly of the source file F80.CMD showed the presence in the executable file of a set of traps placed by the authors of the program to complicate itsdisassembly. Fragments of superfluous code were excluded from the program modified for CP/M and a number of other actions were performed to overcome the protection against disassembly. A mistake was made in some place.
Who performed this transformation will remain unknown.
On 15/02/2022 03:52, Андрей Никитин wrote:80.
I assume that for CP/M the FORTRAN compiler is 80 Ver. 3.4 Copyright 1978, 79, 80 (C) Microsoft Created: 19-Feb-85 was remade from the executable code of the FORTRAN-80 Ver compiler. 3.4 Copyright 1978, 79, 80 (C) Microsoft Created: 01-Dec-80 for TRS-
disassembly. Fragments of superfluous code were excluded from the program modified for CP/M and a number of other actions were performed to overcome the protection against disassembly. A mistake was made in some place....
Does this mean there was never an official F80 V3.4 release for CP/M ?
It is most likely that the original compiler for TRS-80 was prepared directly by Microsoft. Disassembly of the source file F80.CMD showed the presence in the executable file of a set of traps placed by the authors of the program to complicate its
Who performed this transformation will remain unknown.Or why given V3.44 already existed. It seems a lot of effort to expend just to
have Z80 mnemonics.
except for sign-on string? And what is a 'BASIC-85' anyway - 1985?
In 1985 Microsoft re-released several software packages under the new name product-85 instead of product-80. Has nothing to do with the 8085 CPU.
On 23/02/2022 22:17, Udo Munk wrote:
In 1985 Microsoft re-released several software packages under the new name product-85 instead of product-80. Has nothing to do with the 8085 CPU.Looking at MBASIC version '5.29' again, the characters representing copyright
symbol in the sign-on was changed from (C) to a single byte $A4. It turns out
the Amstrad CPC code to display the copyright symbol is $A4. Coincidentally if run on a terminal that strips bit 7 it becomes $24 which is the ascii code
for '$'.
That should be the first OEM version:
0930: 01 21 01 00 22 9B 01 C3 B2 5F 46 4F 52 54 52 41 .!.."...._FORTRA
0940: 4E 2D 38 30 20 56 65 72 2E 20 33 2E 30 35 20 43 N-80 Ver. 3.05 C
0950: 6F 70 79 72 69 67 68 74 20 31 39 37 38 20 28 43 opyright 1978 (C
0960: 29 20 42 79 20 4D 69 63 72 6F 73 6F 66 F4 49 4D ) By Microsof.IM
0970: 53 41 49 20 46 4F 52 54 52 41 4E 20 31 39 37 38 SAI FORTRAN 1978
0980: 20 56 65 72 2E 20 33 2E 30 B5 7E 12 23 13 05 C2 Ver. 3.0.~.#...
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 491 |
Nodes: | 16 (2 / 14) |
Uptime: | 93:27:16 |
Calls: | 9,679 |
Files: | 13,725 |
Messages: | 6,174,097 |