Removed files which shouldnt be on git

This commit is contained in:
Philip Smart
2021-03-03 16:03:32 +00:00
parent e49e898e6b
commit ac01070ff9
2880 changed files with 84 additions and 252722 deletions

85
.gitignore vendored
View File

@@ -60,4 +60,87 @@ software/MZF/BASIC.mzf
software/OriginalSA-1510.BIN
software/asm/.cbios.asm.swo
software/dump
software/NASCAS
software/CAS
software/MZF
software/BAS
software/CPM/CPM00_MZ800
software/CPM/CPM00_SYSTEM
software/CPM/CPM01_TURBOP
software/CPM/CPM02_HI_C
software/CPM/CPM03_FORTRAN80
software/CPM/CPM04_MBASIC
software/CPM/CPM05_COBOL80_v13
software/CPM/CPM06_COBOL80_v20
software/CPM/CPM07_COBOL80
software/CPM/CPM08_Z80FORTH
software/CPM/CPM09_CPMTEX
software/CPM/CPM10_DISKUTILFUNC5
software/CPM/CPM11_MAC80
software/CPM/CPM12_PASCALMTP_v561
software/CPM/CPM13_MTPUG_01
software/CPM/CPM14_MTPUG_02
software/CPM/CPM15_MTPUG_03
software/CPM/CPM16_MTPUG_04
software/CPM/CPM17_MTPUG_05
software/CPM/CPM18_MTPUG_06
software/CPM/CPM19_MTPUG_07
software/CPM/CPM20_MTPUG_08
software/CPM/CPM21_MTPUG_09
software/CPM/CPM22_MTPUG_10
software/CPM/CPM23_PLI
software/CPM/CPM24_PLI80_v13
software/CPM/CPM25_PLI80_v14
software/CPM/CPM26_TPASCAL_v300a
software/CPM/CPM27_WORDSTAR_v30
software/CPM/CPM28_PLM80
software/CPM/CPM29_ZSID_v14
software/CPM/CPM30_WORDSTAR_v400
software/CPM/CPM31_WORDSTAR_v330
software/CPM/CPM32_ZCPR3
software/CPM/CPM33_ZCPR3_COMMON
software/CPM/CPM_MC_5
software/CPM/CPM_MC_C0
software/CPM/CPM_MC_C1
software/CPM/CPM_MC_C2
software/CPM/CPM_MC_C3
software/CPM/CPM_MC_C4
software/CPM/CPM_MC_C5
software/CPM/CPM_MC_C6
software/CPM/CPM_MC_C7
software/CPM/CPM_MC_C8
software/CPM/CPM_MC_C9
software/CPM/CPM_MC_D0
software/CPM/CPM_MC_D1
software/CPM/CPM_MC_D2
software/CPM/CPM_MC_D3
software/CPM/CPM_MC_D4
software/CPM/CPM_MC_D5
software/CPM/CPM_MC_D6
software/CPM/CPM_MC_D7
software/CPM/CPM_MC_D8
software/CPM/CPM_MC_D9
software/CPM/CPM_MC_E0
software/CPM/CPM_MC_E1
software/CPM/CPM_MC_E2
software/CPM/CPM_MC_E3
software/CPM/CPM_MC_E4
software/CPM/CPM_MC_E5
software/CPM/CPM_MC_E6
software/CPM/CPM_MC_E7
software/CPM/CPM_MC_E8
software/CPM/CPM_MC_E9
software/CPM/CPM_MC_F0
software/CPM/CPM_MC_F1
software/CPM/CPM_MC_F2
software/CPM/CPM_MC_F3
software/CPM/CPM_MC_F4
software/CPM/CPM_MC_F5
software/CPM/CPM_MC_F6
software/CPM/CPM_MC_F7
software/CPM/CPM_MC_F8
software/CPM/CPM_MC_F9
software/CPM/CPM_RFS_1
software/CPM/CPM_RFS_2
software/CPM/PLM80
software/MZB

Binary file not shown.

View File

@@ -1,142 +0,0 @@
page 55
title 'Sample file-to-file copy program'
; tstcpy: test copy program ( file-to-file )
; at the ccp level, the command
; copy a:x.y b:u.v
; copies the file named x.y from
; drive a to a file named u.v on
; drive b.
;
; address equates
;
boot equ 0000h ;system reboot address
bdos equ 0005h ;bdos entry point
fcb1 equ 005ch ;1st file name (default fcb)
sfcb equ fcb1 ;source file name
fcb2 equ 006ch ;2nd file name (from command)
dbuff equ 0080h ;default buffer
tpa equ 0100h ;beginning of tpa
;
; bdos function numbers
;
printf equ 9 ;print buffer
openf equ 15 ;open file
closef equ 16 ;close file
deletef equ 19 ;delete file
readf equ 20 ;sequential read
writef equ 21 ;sequential read
makef equ 22 ;make file
;
; start program: tstcpy
;
org tpa ;beginning of tpa
lxi sp,stack ;initialize local stack
;
; move 2nd file name to dfcb
;
mvi c,16 ;half an fcb
lxi d,fcb2 ;source of move
lxi h,dfcb ;destination fcb
mfcb ldax d ;source fcb
inx d ;ready next
mov m,a ;dest fcb
inx h ;ready next
dcr c ;byte count down
jnz mfcb ;loop 16 times
;
; name has been moved, zero cr
;
xra a ;a = 00
sta dfcbcr ;current rec = 0
;
; source and destination fcb's ready
;
lxi d,sfcb ;source fcb
call open ;error if 255
lxi d,nofile ;ready message
inr a ;255 becomes 0
cz finis ;done if no file
;
; source file open, prep destination
;
lxi d,dfcb ;destination
call make ;create the file
lxi d,nodir ;ready message
inr a ;255 becomes 0
cz finis ;done if no dir space
;
; source file open, dest file open;
; copy until end of file on source
;
copy lxi d,sfcb ;source
call read ;read next record
ora a ;end of file ?
jnz eofile ;skip write if eof
;
; not end of file, write the record
;
lxi d,dfcb ;destination
call write ;write record
lxi d,space ;ready message
ora a ;00 if write OK
cnz finis ;end if not OK
jmp copy ;loop until EOF
;
; end of file, close destination
;
eofile:
lxi d,dfcb ;destination
call close ;255 if error
lxi h,wrprot ;ready message
inr a ;255 becomes 0
cz finis ;shouldn't happen
;
; copy operation complete, end
;
lxi d,normal ;ready message
;
; write message given by de & reboot
;
finis:
mvi c,printf ;print line funct
call bdos ;write message
jmp boot ;reboot system
;
; system interface sub routines
; (all return directly from bdos)
;
open mvi c,openf ;open file fnct
jmp bdos
;
close mvi c,closef ;close file fnct
jmp bdos
;
delete mvi c,deletef ;delete file fnct
jmp bdos
;
read mvi c,readf ;read file fnct
jmp bdos
;
write mvi c,writef ;write file fnct
jmp bdos
;
make mvi c,makef ;make file fnct
jmp bdos
;
; console messages
;
nofile db 'no source file$'
nodir db 'no directory space$'
space db 'out of data space$'
wrprot db 'write protected ?$'
normal db 'copy complete$'
;
; data areas
;
dfcb ds 33 ;destination fcb
dfcbcr equ dfcb+32 ;current record
;
ds 32 ;16 level stack
stack:
end


Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,209 +0,0 @@
; Dump program, reads input file and displays hex data
;
org 100h
bdos equ 0005h ;dos entry point
cons equ 1 ;read console
typef equ 2 ;type function
printf equ 9 ;buffer print entry
brkf equ 11 ;break key function (true if char ready)
openf equ 15 ;file open
readf equ 20 ;read function
;
fcb equ 5ch ;file control block address
buff equ 80h ;input disk buffer address
;
; non graphic characters
cr equ 0dh ;carriage return
lf equ 0ah ;line feed
;
; file control block definitions
fcbdn equ fcb+0 ;disk name
fcbfn equ fcb+1 ;file name
fcbft equ fcb+9 ;disk file type (3 characters)
fcbrl equ fcb+12 ;file's current reel number
fcbrc equ fcb+15 ;file's record count (0 to 128)
fcbcr equ fcb+32 ;current (next) record number (0 to 127)
fcbln equ fcb+33 ;fcb length
;
; set up stack
lxi h,0
dad sp
; entry stack pointer in hl from the ccp
shld oldsp
; set sp to local stack area (restored at finis)
lxi sp,stktop
; read and print successive buffers
call setup ;set up input file
cpi 255 ;255 if file not present
jnz openok ;skip if open is ok
;
; file not there, give error message and return
lxi d,opnmsg
call err
jmp finis ;to return
;
openok: ;open operation ok, set buffer index to end
mvi a,80h
sta ibp ;set buffer pointer to 80h
; hl contains next address to print
lxi h,0 ;start with 0000
;
gloop:
push h ;save line position
call gnb
pop h ;recall line position
jc finis ;carry set by gnb if end file
mov b,a
; print hex values
; check for line fold
mov a,l
ani 0fh ;check low 4 bits
jnz nonum
; print line number
call crlf
;
; check for break key
call break
; accum lsb = 1 if character ready
rrc ;into carry
jc finis ;don't print any more
;
mov a,h
call phex
mov a,l
call phex
nonum:
inx h ;to next line number
mvi a,' '
call pchar
mov a,b
call phex
jmp gloop
;
finis:
; end of dump
call crlf
lhld oldsp
sphl
; stack pointer contains ccp's stack location
ret ;to the ccp
;
;
; subroutines
;
break: ;check break key (actually any key will do)
push h! push d! push b; environment saved
mvi c,brkf
call bdos
pop b! pop d! pop h; environment restored
ret
;
pchar: ;print a character
push h! push d! push b; saved
mvi c,typef
mov e,a
call bdos
pop b! pop d! pop h; restored
ret
;
crlf:
mvi a,cr
call pchar
mvi a,lf
call pchar
ret
;
;
pnib: ;print nibble in reg a
ani 0fh ;low 4 bits
cpi 10
jnc p10
; less than or equal to 9
adi '0'
jmp prn
;
; greater or equal to 10
p10: adi 'a' - 10
prn: call pchar
ret
;
phex: ;print hex char in reg a
push psw
rrc
rrc
rrc
rrc
call pnib ;print nibble
pop psw
call pnib
ret
;
err: ;print error message
; d,e addresses message ending with "$"
mvi c,printf ;print buffer function
call bdos
ret
;
;
gnb: ;get next byte
lda ibp
cpi 80h
jnz g0
; read another buffer
;
;
call diskr
ora a ;zero value if read ok
jz g0 ;for another byte
; end of data, return with carry set for eof
stc
ret
;
g0: ;read the byte at buff+reg a
mov e,a ;ls byte of buffer index
mvi d,0 ;double precision index to de
inr a ;index=index+1
sta ibp ;back to memory
; pointer is incremented
; save the current file address
lxi h,buff
dad d
; absolute character address is in hl
mov a,m
; byte is in the accumulator
ora a ;reset carry bit
ret
;
setup: ;set up file
; open the file for input
xra a ;zero to accum
sta fcbcr ;clear current record
;
lxi d,fcb
mvi c,openf
call bdos
; 255 in accum if open error
ret
;
diskr: ;read disk file record
push h! push d! push b
lxi d,fcb
mvi c,readf
call bdos
pop b! pop d! pop h
ret
;
; fixed message area
signon: db 'file dump version 2.0$'
opnmsg: db cr,lf,'no input file present on disk$'
; variable area
ibp: ds 2 ;input buffer pointer
oldsp: ds 2 ;entry sp value from ccp
;
; stack area
ds 64 ;reserve 32 level stack
stktop:
;
end


Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,345 +0,0 @@
;***************************************************
;* *
;* sample random access program for Personal CP/M *
;* *
;***************************************************
org 100h ;base of tpa
;
reboot equ 0000h ;system reboot
bdos equ 0005h ;bdos entry point
;
coninp equ 1 ;console input function
conout equ 2 ;console output function
pstring equ 9 ;print string until '$'
rstring equ 10 ;read console buffer
version equ 12 ;return version number
openf equ 15 ;file open function
closef equ 16 ;close function
makef equ 22 ;make file function
readr equ 33 ;read random
writer equ 34 ;write random
wrtrzf equ 40 ;write random zero fill
;
fcb equ 005ch ;default file control block
ranrec equ fcb+33 ;random record position
ranovf equ fcb+35 ;high order (overflow) byte
buff equ 0080h ;buffer address
;
cr equ 0dh ;carriage return
lf equ 0ah ;line feed
;
;***************************************************
;* *
;* load SP, set-up file for random access *
;* *
;***************************************************
lxi sp,stack
;
; version 2.3?
mvi c,version
call bdos
cpi 20h ;version 2.3 or better?
jnc versok
; bad version, message and go back
lxi d,badver
call print
jmp reboot
;
versok:
; correct version for random access
mvi c,openf ;open default fcb
rdname: lda fcb+1
cpi ' '
jnz opfile
lxi d,entmsg
call print
jmp reboot
;
opfile: lxi d,fcb
call bdos
inr a ;err 255 becomes zero
jnz ready
;
; cannot open file, so create it
mvi c,makef
lxi d,fcb
call bdos
inr a ;err 255 becomes zero
jnz ready
;
; cannot create file, directory full
lxi d,nospace
call print
jmp reboot ;back to ccp
;
;***************************************************
;* *
;* loop back to "ready" after each command *
;* *
;***************************************************
;
ready:
; file is ready for processing
;
call readcom ;read next command
shld ranrec ;store input record#
lxi h,ranovf
mov m,c ;set ranrec high byte
cpi 'Q' ;quit?
jnz notq
;
; quit processing, close file
mvi c,closef
lxi d,fcb
call bdos
inr a ;err 255 becomes 0
jz error ;error message, retry
jmp reboot ;back to ccp
;
;***************************************************
;* *
;* end of quit command, process write *
;* *
;***************************************************
notq:
; not the quit command, random write?
cpi 'W'
jnz notw
;
; this is a random write, fill buffer until cr
lxi d,datmsg
call print ;data prompt
mvi c,127 ;up to 127 characters
lxi h,buff ;destination
rloop: ;read next character to buff
push b ;save counter
push h ;next destination
call getchr ;character to a
pop h ;restore counter
pop b ;restore next to fill
cpi cr ;end of line?
jz erloop
; not end, store character
mov m,a
inx h ;next to fill
dcr c ;counter goes down
jnz rloop ;end of buffer?
erloop:
; end of read loop, store 00
mvi m,0
;
; write the record to selected record number
mvi c,writer
lxi d,fcb
call bdos
ora a ;error code zero?
jnz error ;message if not
jmp ready ;for another record
;
;
;********************************************************
;* *
;* end of write command, process write random zero fill *
;* *
;********************************************************
notw:
; not the quit command, random write zero fill?
cpi 'F'
jnz notf
;
; this is a random write, fill buffer until cr
lxi d,datmsg
call print ;data prompt
mvi c,127 ;up to 127 characters
lxi h,buff ;destination
rloop1: ;read next character to buff
push b ;save counter
push h ;next destination
call getchr ;character to a
pop h ;restore counter
pop b ;restore next to fill
cpi cr ;end of line?
jz erloop1
; not end, store character
mov m,a
inx h ;next to fill
dcr c ;counter goes down
jnz rloop1 ;end of buffer?
erloop1:
; end of read loop, store 00
mvi m,0
;
; write the record to selected record number
mvi c,wrtrzf
lxi d,fcb
call bdos
ora a ;error code zero?
jnz error ;message if not
jmp ready ;for another record
;
;***************************************************
;* *
;* end of write commands, process read *
;* *
;***************************************************
notf:
; not a write command, read record?
cpi 'R'
jnz error ;skip if not
;
; read random record
mvi c,readr
lxi d,fcb
call bdos
ora a ;return code 00?
jnz error
;
; read was successful, write to console
call crlf ;new line
mvi c,128 ;max 128 characters
lxi h,buff ;next to get
wloop:
mov a,m ;next character
inx h ;next to get
ani 7fh ;mask parity
jz ready ;for another command if 00
push b ;save counter
push h ;save next to get
cpi ' ' ;graphic?
cnc putchr ;skip output if not
pop h
pop b
dcr c ;count=count-1
jnz wloop
jmp ready
;
;***************************************************
;* *
;* end of read command, all errors end-up here *
;* *
;***************************************************
;
error:
lxi d,errmsg
call print
jmp ready
;
;***************************************************
;* *
;* utility subroutines for console i/o *
;* *
;***************************************************
getchr:
;read next console character to a
mvi c,coninp
call bdos
ret
;
putchr:
;write character from a to console
mvi c,conout
mov e,a ;character to send
call bdos ;send character
ret
;
crlf:
;send carriage return line feed
mvi a,cr ;carriage return
call putchr
mvi a,lf ;line feed
call putchr
ret
;
;
print:
;print the buffer addressed by de until $
push d
call crlf
pop d ;new line
mvi c,pstring
call bdos ;print the string
ret
;
readcom:
;read the next command line to the conbuf
lxi d,prompt
call print ;command?
mvi c,rstring
lxi d,conbuf
call bdos ;read command line
; command line is present, scan it
mvi c,0 ;start with 00
lxi h,0 ; 0000
lxi d,conlin;command line
readc: ldax d ;next command character
inx d ;to next command position
ora a ;cannot be end of command
rz
; not zero, numeric?
sui '0'
cpi 10 ;carry if numeric
jnc endrd
; add-in next digit
push psw
mov a,c ;value = ahl
dad h
adc a ;*2
push a ;save value * 2
push h
dad h ;*4
adc a
dad h ;*8
adc a
pop b ;*2 + *8 = *10
dad b
pop b
adc b
pop b ;+digit
mov c,b
mvi b,0
dad b
aci 0
mov c,a
jnc readc
jmp readcom
endrd:
; end of read, restore value in a
adi '0' ;command
cpi 'a' ;translate case?
rc
; lower case, mask lower case bits
ani 101$1111b
ret ;return with value in chl
;
;***************************************************
;* *
;* string data area for console messages *
;* *
;***************************************************
badver:
db 'sorry, you need Personal CP/M $'
nospace:
db 'no directory space$'
datmsg:
db 'type data: $'
errmsg:
db 'error, try again.$'
prompt:
db 'next command? $'
entmsg:
db 'You must enter a filename on command line $'
;
;***************************************************
;* *
;* fixed and variable data area *
;* *
;***************************************************
conbuf: db conlen ;length of console buffer
consiz: ds 1 ;resulting size after read
conlin: ds 32 ;length 32 buffer
conlen equ $-consiz
;
ds 32 ;16 level stack
stack:
end


Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,53 +0,0 @@
; simple minded terminal emulator (with no buffering)
org 100h
boot equ 0
bdos equ 5
auxin equ 3
auxout equ 4
auxist equ 7
auxost equ 8
dcio equ 6
input equ 0FFh
status equ 0FEh
term: ;start of main program
con$char:
mvi e,input ;get character or status via function #6
mvi c,dcio
call bdos
ora a ;which returns zero to indictate nothing
jz Aux$ready$chk ;available, so branch to Auxin Stat test
cpi 3 ;or returns the keyboard character which we
jz boot ;test for control "C" meaning exit program now.
mov e,a
send$aux:
push d ;save character
mvi c,auxost ;call aux_out_status function
call bdos
pop d
ora a
jz send$aux ;wait for auxout to be ready
mvi c,auxout ;send (e)'s character out Aux
call bdos
Aux$ready$chk:
mvi c,auxist ;check if Aux has any characters available
call bdos
ora a ;if return ==false then go back to top of loop
jz con$char
mvi c,auxin ; else, get the character from Auxin
call bdos
ani 7Fh ;mask any bit 7 parity bits
mov e,a
mvi c,dcio ; then send the character to the console
call bdos
jmp con$char ;jump back to main loop for more.
end


Binary file not shown.

View File

@@ -1,13 +0,0 @@
0 ;EXAMPLE 2
;Files ;Add no.1 command
;Format ; no.2 command
; no.3 command
; no.4 command
; no.5 command
; no.6 command
; no.7 command
; no.8 command
; no.9 command
;MAX COMMAND=9
;Set number in First line


Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,74 +0,0 @@
****************************************************************
PATCH TO MAKE ZSID.COM THE SAME DUMP DISPLAY AS DDT AND SID
RESEARCH BY DATAFACS SYSTEMS, INC.
****************************************************************
DO THE FOLLOWING:
ZSID ZSID.COM
S125F 5F AF <--- PUT THIS IN HIT RETURN
1260 ?? . ""
S12C0 CD 00 <---- PUT THIS IN HIT RETURN
12C1 ?? 00 ""
12C2 ?? 00 ""
12C3 06 ?? <---- LEAVE THIS ALONE
12C4 06 01 <---- PUT THIS IN HIT RETURN
12C5 ?? . ""
* S12E1 CD 00 <---- PUT THIS IN HIT RETURN
* 12E2 ?? 00 ""
* 12E3 ?? 00 ""
* 12E4 CD 00 ""
* 12E5 ?? 00 ""
* 12E6 ?? 00 ""
12E7 13 . <-- **** DONE ****
CONTROL C OR G0 ZERO AND SAVE THE PROPER AMOUNT
IF YOU DON'T TRUST THIS SAVE IT AS A DIFFERENT NAME FIRST
******* HAVE FUN AND ENJOY ******
* CALLS THE SAME ADDRESS
-----------------------------------------------------------------
Addendum by Bob Fisher - De Paul University
The above patch MAY work, but it depends on what address your cpm
runs at. Try instead the following:
S125F
125F 5F AF (SAME AS ABOVE)
1260 ?? .
S12C0 CD 18 (PUT IN A RELATIVE JUMP)
12C1 ?? 01
12C2 ?? 00 (THIS DOESN'T MATTER)
12C3 06 06 (DON'T CHANGE)
12C4 06 01
12C5 ?? .
S12E1
12E1 CD 18 (ANOTHER RELATIVE JUMP)
12E2 ?? 04
12E3 ?? ??
12E4 CD 18 (YET ANOTHER RELATIVE JUMP)
12E5 ?? 01
12E6 ?? .
When ZSID relocates itself an offset is added to bytes 12c2, 12e3, and
12e6. The previous patch left this offset to be interpreted as an opcode.
The result can be benign or disastrous depending on the size of your
cpm.


Binary file not shown.

View File

@@ -1,37 +0,0 @@
========
Newsgroups: comp.os.cpm
Subject: Re: CP/M web page has new stuff
From: hp@kbbs.org (Holger Petersen)
Date: Mon, 25 Aug 1997 07:19:08 GMT
timolmst@cyberramp.net writes:
> Also, ZSID binary is now available.
Could you please mention the patch from "Dr. Dobbs Journal #62, Dec 1981
page 519: ZSID Bug and (Risky?) Patch" ?
It changed the byte at 02AE from C2 to C3.
Befor, some adresses of FF80 to FFFF would be handled bad in (A)ssemble,
(F)ill, (M)ove and (D)ump - commands:
A>ZSID
ZSID VERS 1.4
#A100
0100 LD HL,0FF7F
0103 LD HL,0FF80
0106 LD HL,0FFFF
0109
#L100,108
0100 LD HL,FF7F
0103 LD HL,0080
0106 LD HL,00FF
0109
===========================
Some months later, I got a letter from Digital Research which 'begged'
for the allowence to use this patch, which I did...
Greetings, Holger

View File

@@ -1,23 +0,0 @@
1 REM asciiart.bas benchmark for Rienk's sbc-2g-512 7.3728Mhz Z80 board running NASCOM ROM BASIC Ver 4.7
2 REM https://www.retrobrewcomputers.org/forum/index.php?t=msg&th=201&goto=4704&#msg_4704
3 REM 2m43s
4 REM
10 FOR Y=-12 TO 12
20 FOR X=-39 TO 39
30 CA=X*0.0458
40 CB= Y*0.08333
50 A=CA
60 B=CB
70 FOR I=0 TO 15
80 T=A*A-B*B+CA
90 B=2*A*B+CB
100 A=T
110 IF (A*A+B*B)>4 THEN GOTO 200
120 NEXT I
130 PRINT " ";
140 GOTO 210
200 IF I>9 THEN I=I+7
205 PRINT CHR$(48+I);
210 NEXT X
220 PRINT
230 NEXT Y

Binary file not shown.

View File

@@ -1,3 +0,0 @@
type autoexec.txt
mbasic userled


View File

@@ -1,12 +0,0 @@
************************************************************************
This is an example to show how the Autoexec feature works.
When you activate it from the "boot mode or system parameters" IOS menu
all the CP/M commands inside the file A:AUTOEXEC.SUB will be executed
when (after) there is a CP/M cold boot.
The A:AUTOEXEC.SUB commands file is not executed after a CP/M warm
boot (Ctrl+C).
To change the commands executed after a CP/M cold boot edit the file
A:AUTOEXEC.SUB using the ED editor.
************************************************************************

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,61 +0,0 @@
01 REM ************************************************
02 REM
03 REM Z80-MBC2 GPE led blink demo:
04 REM
05 REM Blink a led attached to PIN 8 (GPA5) of the GPIO
06 REM connector (J7) until USER key is pressed
07 REM (see A040618 schematic).
08 REM The GPE option must be installed.
09 REM
10 REM ************************************************
11 REM
12 REM Demo HW wiring (see A040618 schematic):
13 REM
14 REM GPIO
15 REM (J7)
16 REM +-----+
17 REM | 1 2 |
18 REM | 3 4 | LED RESISTOR
19 REM | 5 6 | 680
20 REM | 7 8-+--->|-----------/\/\/--+
21 REM | 9 10| |
22 REM |11 12| |
23 REM |13 14| |
24 REM |15 16| |
25 REM |17 18| |
26 REM |19 20+-----------------------+ GND
27 REM +-----+
28 REM
29 REM ************************************************
30 REM
31 PRINT "Press USER key to exit"
32 REM
33 REM * * * * SET USED OPCODES FOR I/O
34 REM
35 KEYUSER = 128 : REM USER KEY read Opcode (0x80)
36 IODIRA = 5 : REM IODIRA write Opcode (0x05)
37 GPIOA = 3 : REM GPIOA write Opcode (0x03)
38 REM
50 OUT 1,IODIRA : OUT 0,0 : REM Set all GPAx as output (IODIRA=0x00)
60 PRINT "Now blinking GPA5 (GPIO port pin 8)..."
64 REM
65 REM * * * * * BLINK LOOP
66 REM
70 OUT 1,GPIOA : OUT 0,32 : REM Set GPA5=1, GPAx=0 (GPIOA=B00100000=32)
80 GOSUB 505 : REM Delay sub
90 OUT 1,GPIOA : OUT 0,0 : REM Clear all pins GPAx (MCP23017)
100 GOSUB 505 : REM Delay sub
130 GOTO 70
490 REM
500 REM * * * * * DELAY SUB
501 REM
505 FOR J=0 TO 150
506 OUT 1,KEYUSER : REM Write the USER KEY read Opcode
507 IF INP(0)=1 THEN GOTO 700 : REM Exit if USER key is pressed
510 NEXT J
520 RETURN
690 REM
691 REM * * * * * PROGRAM END
692 REM
700 OUT 1,GPIOA : OUT 0,0 : REM Clear all pins GPAx (MCP23017)
720 PRINT "Terminated by USER Key"

View File

@@ -1,82 +0,0 @@
1 REM * * * GPIO EXPANSION MODULE (A080117) DEMO * * *
2 REM
3 REM (USER Key -> slow led, GPIO-A(9) Key -> fast led)
4 REM --------------------------------------------------
5 REM Demo HW wiring (see A080117 schematic):
6 REM
7 REM GPIO-B
8 REM (J3)
9 REM +----+ LED
10 REM | 2 |--->|---+
11 REM | 3 |--->|---+ RESISTOR
12 REM | 4 |--->|---+ 680
13 REM | 5 |--->|---+-------/\/\/-----o GND
14 REM | 6 |--->|---+
15 REM | 7 |--->|---+
16 REM | 8 |--->|---+
17 REM | 9 |--->|---+
18 REM +----+ |
19 REM |
20 REM |
21 REM GPIO-A |
22 REM (J4) |
23 REM +----+ LED |
24 REM | 2 |--->|---+
25 REM | 3 |--->|---+
26 REM | 4 |x
27 REM | 5 |x
28 REM | 6 |x
29 REM | 7 |x PUSH BUTTON RESISTOR
30 REM | 8 |x --- 1K
31 REM | 9 |---------o o------------------/\/\/-----o GND
32 REM +----+
33 REM
34 REM
35 REM
36 REM --------------------------------------------------
37 REM
38 REM Set MCP23017 GPIOB all pins as output (IODIRB=0x00)
39 OUT 6, 0
40 REM Set MCP23017 GPIOA 0-1 as output, others as input (IODIRA=0xFC)
41 OUT 5, 252
42 REM Set MCP23017 GPIOA 2-7 pull-up resistor on (GPPUA=0xFC)
43 OUT 7, 252
45 REM Left Shift user funcion definition
50 DEF FNLSH(X)=((X*2) AND 255)
55 REM Init GPIO output ports
60 OUT 3, 0 : REM Clear MCP23017 GPIOA port
62 OUT 4, 0 : REM Clear MCP23017 GPIOB port
64 GOSUB 700 : REM Set slow shift
68 REM Main
70 A=1
80 FOR I=0 TO 7
90 OUT 4, A : REM Write to MCP23017 GPIOB port
100 GOSUB 500
110 A=FNLSH(A)
120 NEXT I
130 OUT 4, 0 : REM Clear MCP23017 GPIOB port
135 A=1
140 FOR I=0 TO 1
150 OUT 3, A : REM Write to MCP23017 GPIOA port
160 GOSUB 500
170 A=FNLSH(A)
190 NEXT I
200 OUT 3, 0 : REM Clear MCP23017 GPIOA port
210 GOTO 70 : REM Play it again, Sam...
220 REM
500 REM * * * * * DELAY SUB
505 FOR J=0 TO K
507 IF INP(0)=1 THEN GOSUB 700 : REM Read USER key
508 IF (INP(3) AND 128)=0 THEN GOSUB 600 : REM Read MCP23017 GPIOA 7 key
510 NEXT J
520 RETURN
530 REM
600 REM * * * * * SET FAST SHIFT SUB
610 K=1
620 OUT 0, 1 : REM USER led ON
630 RETURN
640 REM
700 REM * * * * * SET SLOW SHIFT SUB
710 K=30
720 OUT 0, 0 : REM USER led OFF
730 RETURN

View File

@@ -1,33 +0,0 @@
;This is a example of the Hello World program.
;Uses 8080 assembler mnemonics.
ORG 100h ;cpm programs start address.
JMP START ;go to program start.
;Variable storage space
MsgStr: DB 13,10,'Hello world.',13,10,0
Stack1: DW 0 ;place to save old stack.
SBOT: DS 32 ;temp stack for us to use.
;Constants
STOP: EQU $-1 ;top of our stack.
BDOS: EQU 5 ;address of BDOS entry.
;Start of code segment
START: LXI H, 0 ;HL = 0.
DAD SP ;HL = SP.
SHLD Stack1 ;save original stack.
LXI H, STOP ;HL = address of new stack top.?
SPHL ;stack pointer = our stack.
LXI H, MsgStr ;HL = address of staring.
LOOP1: MOV A, M ;read string char.
ORA A ;set cpu flags.
JZ EXIT ;if char = 0 done.
MOV E, A ;E = char to send.
MVI C, 2 ;we want BDOS func 2.
PUSH H ;save HL register.
CALL BDOS ;call BDOS function.
POP H ;restore HL register
INX H ;point to next char.
JMP LOOP1 ;do next char.
;Exit and return code
EXIT: LHLD Stack1 ;read our original stack address.
SPHL ;register SP = value on entry.
RET ;return control back to CPM.
END

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,19 +0,0 @@
15 OUT 1,132 : REM Write the DATETIME read Opcode
20 SEC = INP(0) : REM Read a RTC parameter
30 MINUTES = INP(0) : REM Read a RTC parameter
40 HOURS = INP(0) : REM Read a RTC parameter
50 DAY = INP(0) : REM Read a RTC parameter
60 MNTH = INP(0) : REM Read a RTC parameter
70 YEAR = INP(0) : REM Read a RTC parameter
80 TEMP = INP(0) : REM Read a RTC parameter
83 IF TEMP < 128 THEN 90 : REM Two complement correction
85 TEMP = TEMP - 256
90 PRINT
100 PRINT "THE TIME IS: ";
110 PRINT HOURS; : PRINT ":"; : PRINT MINUTES; : PRINT ":"; : PRINT SEC
120 PRINT "THE DATE IS: ";
125 YEAR= YEAR+ 2000
130 PRINT DAY; : PRINT "/"; : PRINT MNTH; : PRINT "/"; : PRINT YEAR
135 PRINT "THE TEMPERATURE IS: ";
140 PRINT TEMP; : PRINT "C"
145 PRINT

View File

@@ -1,446 +0,0 @@
10 REM SUPER STARTREK - MAY 16,1978 - REQUIRES 24K MEMORY (AT LEAST)
30 REM
40 REM **** **** STAR TREK **** ****
50 REM **** SIMULATION OF A MISSION OF THE STARSHIP ENTERPRISE,
60 REM **** AS SEEN ON THE STAR TREK TV SHOW.
70 REM **** ORIGINAL PROGRAM BY MIKE MAYFIELD, MODIFIED VERSION
80 REM **** PUBLISHED IN DEC'S "101 BASIC GAMES", BY DAVE AHL.
90 REM **** MODIFICATIONS TO THE LATTER (PLUS DEBUGGING) BY BOB
100 REM *** LEEDOM - APRIL & DECEMBER 1974,
110 REM *** WITH A LITTLE HELP FROM HIS FRIENDS . . .
120 REM *** COMMENTS, EPHITETS, AND SUGGESTIONS SOLICITED --
130 REM *** SEND TO: R.C. LEEDOM
140 REM *** WESTINGHOSE DEFENSE & ELECTRONICS SYSTEMS CNIR
150 REM *** BOX 746, M.S. 338
160 REM *** BALTIMORE, MD 21203
170 REM ***
180 REM *** CONVERTED TO MICROSOFT 8 K BASIC 3/16/78 BY JOHN BORDERS
190 REM *** LINE NUMBERS FROM VERSION TREK7 OF 1/12/75 PRESERVED AS
200 REM *** MUCH AS POSSIBLE WHILE USING MULTIPLE STATEMENTS PER LINE
201 REM *** - MODIFIED TO RUN ON GRANT SEARLE'S 9-CHIP Z80 COMPUTER
202 REM *** AND DERIVATIVES 04-AUG-2018 BY N.KENDRICK
203 REM *** (LINKER3000-AT-GMAIL.COM)
205 WIDTH 80
209 REM NK: POSITIONING USING ANSI ESCAPE SEQUENCES...
210 PRINT CHR$(27);"[2J";:PRINT CHR$(27);"[3;1H";
211 PRINT "THE USS ENTERPRISE --- NCC-1701"
212 PRINT CHR$(27);"[4;1H";:PRINT
222 FOR YY=1 TO 40 STEP 2:FOR XX=1 TO 200 : NEXT XX
223 PRINT TAB(YY);" ,------*------,"
224 PRINT TAB(YY);" ,------------- '--- ------'"
225 PRINT TAB(YY);" '-------- --' / /"
226 PRINT TAB(YY);" ,---' '-------/ /--,"
227 PRINT TAB(YY);" '----------------'"
228 PRINT CHR$(27);"[4;1H";:PRINT:NEXT YY
229 PRINT CHR$(27);"[11;1H";
260 CLEAR 600
270 Z$=" "
330 DIM G(8,8),C(9,2),K(3,3),N(3),Z(8,8),D(8)
370 T=INT(RND(1)*20+20)*100:T0=T:T9=25+INT(RND(1)*10):D0=0:E=3000:E0=E
440 P=10:P0=P:S9=200:S=0:B9=0:K9=0:X$="":X0$=" IS "
470 DEF FND(D)=SQR((K(I,1)-S1)^2+(K(I,2)-S2)^2)
475 DEF FNR(R)=INT(RND(R)*7.98+1.01)
490 Q1=FNR(1):Q2=FNR(1):S1=FNR(1):S2=FNR(1)
530 FOR I=1 TO 9:C(I,1)=0:C(I,2)=0:NEXT I
540 C(3,1)=-1:C(2,1)=-1:C(4,1)=-1:C(4,2)=-1:C(5,2)=-1:C(6,2)=-1
600 C(1,2)=1:C(2,2)=1:C(6,1)=1:C(7,1)=1:C(8,1)=1:C(8,2)=1:C(9,2)=1
670 FOR I=1 TO 8:D(I)=0:NEXT I
710 A1$="NAVSRSLRSPHATORSHEDAMCOMXXX"
820 FOR I=1 TO 8:FOR J=1 TO 8:K3=0:Z(I,J)=0:R1=RND(1)
850 IF R1>.98 THEN K3=3:K9=K9+3:GOTO 980
860 IF R1>.95 THEN K3=2:K9=K9+2:GOTO 980
870 IF R1>.8 THEN K3=1:K9=K9+1
980 B3=0:IF RND(1)>.96 THEN B3=1:B9=B9+1
1040 G(I,J)=K3*100+B3*10+FNR(1):NEXT J:NEXT I:IF K9>T9 THEN T9=K9+1
1100 IF B9<>0 THEN 1200
1150 IF G(Q1,Q2)<200 THEN G(Q1,Q2)=G(Q1,Q2)+100:K9=K9+1
1160 B9=1:G(Q1,Q2)=G(Q1,Q2)+10:Q1=FNR(1):Q2=FNR(1)
1200 K7=K9:IF B9<>1 THEN X$="S":X0$=" ARE "
1230 PRINT"YOUR ORDERS ARE AS FOLLOWS:"
1235 PRINT "--------------------------"
1240 PRINT" DESTROY THE";K9;"KLINGON WARSHIPS WHICH HAVE INVADED"
1250 PRINT" THE GALAXY BEFORE THEY CAN ATTACK FEDERATION HEADQUARTERS"
1260 PRINT" ON STARDATE";T0+T9;CHR$(8);". THIS GIVES YOU";T9;
1261 PRINT"DAYS. THERE";X0$
1270 PRINT" ";B9;
1271 PRINT"STARBASE";X$;" IN THE GALAXY FOR RESUPPLYING YOUR SHIP."
1280 PRINT: PRINT "PRESS Y TO ACCEPT COMMAND";
1300 INPUT I5$:
1302 IF LEFT$(I5$,1)="Y" OR LEFT$(I5$,1)="y" THEN 1310
1303 GOTO 1280
1310 PRINT CHR$(26)
1320 Z4=Q1:Z5=Q2:K3=0:B3=0:S3=0:G5=0:D4=.5*RND(1):Z(Q1,Q2)=G(Q1,Q2)
1390 IF Q1<1 OR Q1>8 OR Q2<1 OR Q2>8 THEN 1600
1430 GOSUB 9030:PRINT:IF T0<>T THEN 1490
1460 PRINT"YOUR MISSION BEGINS WITH YOUR STARSHIP LOCATED"
1470 PRINT"IN THE GALACTIC QUADRANT, '";G2$;"'.":GOTO 1500
1490 PRINT"NOW ENTERING ";G2$;" QUADRANT . . ."
1500 PRINT:K3=INT(G(Q1,Q2)*.01):B3=INT(G(Q1,Q2)*.1)-10*K3
1540 S3=G(Q1,Q2)-100*K3-10*B3:IF K3=0 THEN 1590
1560 PRINT TAB(3);CHR$(22);" COMBAT AREA CONDITION RED ";CHR$(22)
1561 IF S>200 THEN PRINT:GOTO 1590
1580 PRINT TAB(3);CHR$(22);" SHIELDS DANGEROUSLY LOW ";CHR$(22)
1581 PRINT
1590 FOR I=1 TO 3:K(I,1)=0:K(I,2)=0:NEXT I
1600 FOR I=1 TO 3:K(I,3)=0:NEXT I:Q$=Z$+Z$+Z$+Z$+Z$+Z$+Z$+LEFT$(Z$,17)
1680 A$="<E>":Z1=S1:Z2=S2:GOSUB 8670:IF K3<1 THEN 1820
1720 FOR I=1 TO K3:GOSUB 8590:A$="+K+":Z1=R1:Z2=R2
1780 GOSUB 8670:K(I,1)=R1:K(I,2)=R2:K(I,3)=S9*(.5+RND(1)):NEXT I
1820 IF B3<1 THEN 1910
1880 GOSUB 8590:A$=">B<":Z1=R1:B4=R1:Z2=R2:B5=R2:GOSUB 8670
1910 FOR I=1 TO S3:GOSUB 8590:A$=" * ":Z1=R1:Z2=R2:GOSUB 8670:NEXT I
1980 GOSUB 6430
1990 IF S+E>10 THEN IF E>10 OR D(7)=0 THEN 2060
2020 PRINT:PRINT TAB(10);CHR$(22);"** FATAL ERROR **";CHR$(22)
2021 PRINT"YOU'VE JUST STRANDED YOUR SHIP IN SPACE."
2030 PRINT"YOU HAVE INSUFFICIENT MANEUVERING ENERGY,"
2040 PRINT"AND SHIELD CONTROL IS PRESENTLY INCAPABLE OF"
2050 PRINT"CROSS-CIRCUITING TO ENGINE ROOM!!":PRINT:GOTO 6220
2060 PRINT:INPUT"COMMAND";A$:PRINT
2080 FOR I=1 TO 9:IF LEFT$(A$,3)<>MID$(A1$,3*I-2,3)THEN 2160
2140 ON I GOTO 2300,1980,4000,4260,4700,5530,5690,7290,6270
2160 NEXT I:PRINT"ENTER ONE OF THE FOLLOWING:"
2170 PRINT "--------------------------"
2180 PRINT" NAV (TO SET COURSE)"
2190 PRINT" SRS (FOR SHORT RANGE SENSOR SCAN)"
2200 PRINT" LRS (FOR LONG RANGE SENSOR SCAN)"
2210 PRINT" PHA (TO FIRE PHASERS)"
2220 PRINT" TOR (TO FIRE PHOTON TORPEDOES)"
2230 PRINT" SHE (TO RAISE OR LOWER SHIELDS)"
2240 PRINT" DAM (FOR DAMAGE CONTROL REPORTS)"
2250 PRINT" COM (TO CALL ON LIBRARY-COMPUTER)"
2260 PRINT" XXX (TO RESIGN YOUR COMMAND)":PRINT:GOTO 1990
2300 INPUT"COURSE (0-9)";C1:IF C1=9 THEN C1=1
2310 IF C1>=1 AND C1<9 THEN 2350
2330 PRINT" LT. SULU: 'INCORRECT COURSE DATA, SIR!'":GOTO 1990
2350 X$="8":IF D(1)<0 THEN X$="0.2"
2360 PRINT"WARP FACTOR (0-";X$;")";:INPUT W1:PRINT
2361 IF D(1)<0 AND W1>.2 THEN 2470
2380 IF W1>0 AND W1<=8 THEN 2490
2390 IF W1=0 THEN 1990
2420 PRINT" CHIEF ENGINEER SCOTT: 'THE ENGINES WON'T TAKE";
2430 PRINT" WARP";W1;CHR$(8);"!'":GOTO 1990
2470 PRINT"WARP ENGINES ARE DAMAGED. MAXIUM SPEED = WARP 0.2":GOTO 1990
2490 N=INT(W1*8+.5):IF E-N>=0 THEN 2590
2500 PRINT"ENGINEERING: 'INSUFFICIENT ENERGY AVAILABLE"
2510 PRINT" FOR MANEUVERING AT WARP";W1;CHR$(8);"!'"
2530 IF S<N-E OR D(7)<0 THEN 1990
2550 PRINT"DEFLECTOR CONTROL ROOM: ";S;"UNITS OF ENERGY"
2560 PRINT" PRESENTLY DEPLOYED TO SHIELDS."
2570 GOTO 1990
2590 FOR I=1 TO K3:IF K(I,3)=0 THEN 2700
2610 A$=" ":Z1=K(I,1):Z2=K(I,2):GOSUB 8670:GOSUB 8590
2660 K(I,1)=Z1:K(I,2)=Z2:A$="+K+":GOSUB 8670
2700 NEXT I:GOSUB 6000:D1=0:D6=W1:IF W1>=1 THEN D6=1
2770 FOR I=1 TO 8:IF D(I)>=0 THEN 2880
2790 D(I)=D(I)+D6:IF D(I)>-.1 AND D(I)<0 THEN D(I)=-.1:GOTO 2880
2800 IF D(I)<0 THEN 2880
2810 IF D1<>1 THEN D1=1:PRINT"DAMAGE CONTROL REPORT: ";
2840 PRINT TAB(8);:R1=I:GOSUB 8790:PRINT G2$;" REPAIR COMPLETED."
2880 NEXT I:IF RND(1)>.2 THEN 3070
2910 R1=FNR(1):IF RND(1)>=.6 THEN 3000
2930 D(R1)=D(R1)-(RND(1)*5+1):PRINT"DAMAGE CONTROL REPORT: ";
2960 GOSUB 8790:PRINT G2$;" DAMAGED":PRINT:GOTO 3070
3000 D(R1)=D(R1)+RND(1)*3+1:PRINT"DAMAGE CONTROL REPORT: ";
3030 GOSUB 8790:PRINT G2$;" STATE OF REPAIR IMPROVED":PRINT
3070 A$=" ":Z1=INT(S1):Z2=INT(S2):GOSUB 8670
3110 X1=C(C1,1)+(C(C1+1,1)-C(C1,1))*(C1-INT(C1)):X=S1:Y=S2
3140 X2=C(C1,2)+(C(C1+1,2)-C(C1,2))*(C1-INT(C1)):Q4=Q1:Q5=Q2
3170 FOR I=1 TO N:S1=S1+X1:S2=S2+X2
3171 IF S1<1 OR S1>=9 OR S2<1 OR S2>=9 THEN 3500
3240 S8=INT(S1)*24+INT(S2)*3-26:IF MID$(Q$,S8,2)=" "THEN 3360
3320 S1=INT(S1-X1):S2=INT(S2-X2):PRINT"WARP ENGINES SHUT DOWN AT ";
3350 PRINT"SECTOR";S1;CHR$(8);",";S2;"DUE TO BAD NAVIGATION":GOTO 3370
3360 NEXT I:S1=INT(S1):S2=INT(S2)
3370 A$="<E>":Z1=INT(S1):Z2=INT(S2):GOSUB 8670:GOSUB 3910:T8=1
3430 IF W1<1 THEN T8=.1*INT(10*W1)
3450 T=T+T8:IF T>T0+T9 THEN 6220
3480 GOTO 1980
3500 X=8*Q1+X+N*X1:Y=8*Q2+Y+N*X2:Q1=INT(X/8):Q2=INT(Y/8):S1=INT(X-Q1*8)
3550 S2=INT(Y-Q2*8):IF S1=0 THEN Q1=Q1-1:S1=8
3590 IF S2=0 THEN Q2=Q2-1:S2=8
3620 X5=0:IF Q1<1 THEN X5=1:Q1=1:S1=1
3670 IF Q1>8 THEN X5=1:Q1=8:S1=8
3710 IF Q2<1 THEN X5=1:Q2=1:S2=1
3750 IF Q2>8 THEN X5=1:Q2=8:S2=8
3790 IF X5=0 THEN 3860
3800 PRINT"LT. UHURA: MESSAGE FROM STARFLEET COMMAND --"
3810 PRINT" 'PERMISSION TO ATTEMPT CROSSING OF GALACTIC PERIMETER"
3820 PRINT" IS HEREBY *DENIED*. SHUT DOWN YOUR ENGINES.'"
3830 PRINT"CHIEF ENGINEER SCOTT: 'WARP ENGINES SHUT DOWN"
3840 PRINT" AT SECTOR";S1;CHR$(8);",";S2;"OF QUADRANT";
3841 PRINT Q1;CHR$(8);",";Q2;CHR$(8);".'"
3850 IF T>T0+T9 THEN 6220
3860 IF 8*Q1+Q2=8*Q4+Q5 THEN 3370
3870 T=T+1:GOSUB 3910:GOTO 1320
3910 E=E-N-10:IF E>=0 THEN RETURN
3930 PRINT"SHIELD CONTROL SUPPLIES ENERGY TO COMPLETE THE MANEUVER."
3940 S=S+E:E=0:IF S<=0 THEN S=0
3980 RETURN
4000 IF D(3)<0 THEN PRINT"LONG RANGE SENSORS ARE INOPERABLE.":GOTO 1990
4030 PRINT"LONG RANGE SCAN FOR QUADRANT";Q1;CHR$(8);",";Q2:PRINT
4040 O1$="-------------------":PRINT O1$
4060 FOR I=Q1-1 TO Q1+1:N(1)=-1:N(2)=-2:N(3)=-3:FOR J=Q2-1 TO Q2+1
4120 IF I>0 AND I<9 AND J>0 AND J<9 THEN N(J-Q2+2)=G(I,J):Z(I,J)=G(I,J)
4180 NEXT J:FOR L=1 TO 3:PRINT"| ";
4181 IF N(L)<0 THEN PRINT"*** ";:GOTO 4230
4210 PRINT RIGHT$(STR$(N(L)+1000),3);" ";
4230 NEXT L:PRINT"|":PRINT O1$:NEXT I:GOTO 1990
4260 IF D(4)<0 THEN PRINT"PHASERS INOPERATIVE.":GOTO 1990
4265 IF K3>0 THEN 4330
4270 PRINT"SCIENCE OFFICER SPOCK: 'SENSORS SHOW NO ENEMY SHIPS"
4280 PRINT" IN THIS QUADRANT'":GOTO 1990
4330 IF D(8)<0 THEN PRINT"COMPUTER FAILURE HAMPERS ACCURACY."
4350 PRINT"PHASERS LOCKED ON TARGET; ";
4360 PRINT"ENERGY AVAILABLE =";E;"UNITS"
4370 INPUT"NUMBER OF UNITS TO FIRE";X:IF X<=0 THEN 1990
4400 IF E-X<0 THEN 4360
4410 E=E-X:IF D(7)<0 THEN X=X*RND(1)
4450 H1=INT(X/K3):FOR I=1 TO 3:IF K(I,3)<=0 THEN 4670
4480 H=INT((H1/FND(0))*(RND(1)+2)):IF H>.15*K(I,3)THEN 4530
4500 PRINT"SENSORS SHOW NO DAMAGE TO ENEMY AT";K(I,1);CHR$(8);
4501 PRINT",";K(I,2);CHR$(8);".":GOTO 4670
4530 K(I,3)=K(I,3)-H:PRINT H;"UNIT HIT ON KLINGON AT SECTOR";
4531 PRINT K(I,1);CHR$(8);",";
4550 PRINT K(I,2);CHR$(8);".":IF K(I,3)<=0 THEN PRINT:PRINT CHR$(22);
4551 PRINT"*** KLINGON DESTROYED ***";CHR$(22):PRINT:GOTO 4580
4560 PRINT" (SENSORS SHOW";K(I,3);"UNITS REMAINING)":GOTO 4670
4580 K3=K3-1:K9=K9-1:Z1=K(I,1):Z2=K(I,2):A$=" ":GOSUB 8670
4650 K(I,3)=0:G(Q1,Q2)=G(Q1,Q2)-100:Z(Q1,Q2)=G(Q1,Q2):IF K9<=0 THEN 6370
4670 NEXT I:GOSUB 6000:GOTO 1990
4700 IF P<=0 THEN PRINT"ALL PHOTON TORPEDOES EXPENDED.":GOTO 1990
4730 IF D(5)<0 THEN PRINT"PHOTON TUBES ARE NOT OPERATIONAL.":GOTO 1990
4760 INPUT"PHOTON TORPEDO COURSE (1-9)";C1:IF C1=9 THEN C1=1
4780 IF C1>=1 AND C1<9 THEN 4850
4790 PRINT"ENSIGN CHEKOV: 'INCORRECT COURSE DATA, SIR!'"
4800 GOTO 1990
4850 X1=C(C1,1)+(C(C1+1,1)-C(C1,1))*(C1-INT(C1)):E=E-2:P=P-1
4860 X2=C(C1,2)+(C(C1+1,2)-C(C1,2))*(C1-INT(C1)):X=S1:Y=S2
4910 PRINT"TORPEDO TRACK:"
4920 X=X+X1:Y=Y+X2:X3=INT(X+.5):Y3=INT(Y+.5)
4960 IF X3<1 OR X3>8 OR Y3<1 OR Y3>8 THEN 5490
5000 PRINT" ";X3;CHR$(8);",";Y3:A$=" ":Z1=X:Z2=Y
5001 GOSUB 8830
5050 IF Z3<>0 THEN 4920
5060 A$="+K+":Z1=X:Z2=Y:GOSUB 8830:IF Z3=0 THEN 5210
5110 PRINT:PRINT CHR$(22);"*** KLINGON DESTROYED ***";CHR$(22)
5111 PRINT:K3=K3-1:K9=K9-1:IF K9<=0 THEN 6370
5150 FOR I=1 TO 3:IF X3=K(I,1)AND Y3=K(I,2)THEN 5190
5180 NEXT I:I=3
5190 K(I,3)=0:GOTO 5430
5210 A$=" * ":Z1=X:Z2=Y:GOSUB 8830:IF Z3=0 THEN 5280
5260 PRINT"STAR AT";X3;",";Y3;"ABSORBED TORPEDO ENERGY.":GOSUB 6000
5261 GOTO 1990
5280 A$=">!<":Z1=X:Z2=Y:GOSUB 8830:IF Z3=0 THEN 4760
5330 PRINT CHR$(22);"*** STARBASE DESTROYED ***";CHR$(22)
5331 B3=B3-1:B9=B9-1
5360 IF B9>0 OR K9>T-T0-T9 THEN 5400
5370 PRINT"THAT DOES IT, CAPTAIN!! YOU ARE HEREBY RELIEVED OF COMMAND"
5380 PRINT"AND SENTENCED TO 99 STARDATES AT HARD LABOR ON CYGNUS 12!!"
5390 GOTO 6270
5400 PRINT"STARFLEET COMMAND REVIEWING YOUR RECORD TO CONSIDER"
5410 PRINT"COURT MARTIAL!":D0=0
5430 Z1=X:Z2=Y:A$=" ":GOSUB 8670
5470 G(Q1,Q2)=K3*100+B3*10+S3:Z(Q1,Q2)=G(Q1,Q2):GOSUB 6000:GOTO 1990
5490 PRINT"TORPEDO MISSED.":PRINT:GOSUB 6000:GOTO 1990
5530 IF D(7)<0 THEN PRINT"SHIELD CONTROL INOPERABLE.":GOTO 1990
5560 PRINT"ENERGY AVAILABLE =";E+S;:INPUT"NUMBER OF UNITS TO SHIELDS";X
5580 IF X<0 OR S=X THEN PRINT"<SHIELDS UNCHANGED>":GOTO 1990
5590 IF X<=E+S THEN 5630
5600 PRINT"SHIELD CONTROL: 'THIS IS NOT THE FEDERATION TREASURY.'"
5610 PRINT"<SHIELDS UNCHANGED>":GOTO 1990
5630 E=E+S-X:S=X:PRINT"DEFLECTOR CONTROL ROOM:"
5660 PRINT" 'SHIELDS NOW AT";INT(S);"UNITS PER YOUR COMMAND.'"
5661 GOTO 1990
5690 IF D(6)>=0 THEN 5910
5700 PRINT"DAMAGE CONTROL REPORT NOT AVAILABLE.":IF D0=0 THEN 1990
5720 D3=0:FOR I=1 TO 8:IF D(I)<0 THEN D3=D3+.1
5760 NEXT I:IF D3=0 THEN 1990
5780 PRINT:D3=D3+D4:IF D3>=1 THEN D3=.9
5810 PRINT"TECHNICIANS STANDING BY TO EFFECT REPAIRS TO YOUR SHIP;"
5820 PRINT"ESTIMATED TIME TO REPAIR:";.01*INT(100*D3);"STARDATES."
5840 INPUT"WILL YOU AUTHORIZE THE REPAIR ORDER (Y/N)";A$
5860 IF A$<>"Y"THEN 1990
5870 FOR I=1 TO 8:IF D(I)<0 THEN D(I)=0
5890 NEXT I:T=T+D3+.1
5910 PRINT:PRINT"DEVICE STATE OF REPAIR"
5911 PRINT"------ ---------------":FOR R1=1 TO 8
5920 GOSUB 8790:PRINT G2$;LEFT$(Z$,25-LEN(G2$));INT(D(R1)*100)*.01
5950 NEXT R1:PRINT:IF D0<>0 THEN 5720
5980 GOTO 1990
6000 IF K3<=0 THEN RETURN
6010 IF D0<>0 THEN PRINT"STARBASE SHIELDS PROTECT THE ENTERPRISE."
6011 RETURN
6040 FOR I=1 TO 3:IF K(I,3)<=0 THEN 6200
6060 H=INT((K(I,3)/FND(1))*(2+RND(1)))
6061 S=S-H:K(I,3)=K(I,3)/(3+RND(0))
6080 PRINT:PRINT H;"UNIT HIT ON ENTERPRISE FROM SECTOR";
6081 PRINT K(I,1);CHR$(8);",";K(I,2);CHR$(8);"."
6090 IF S<=0 THEN 6240
6100 PRINT" <SHIELDS DOWN TO";S;"UNITS>":IF H<20 THEN 6200
6120 IF RND(1)>.6 OR H/S<=.02 THEN 6200
6140 R1=FNR(1):D(R1)=D(R1)-H/S-.5*RND(1):GOSUB 8790
6170 PRINT"DAMAGE CONTROL: '";G2$;" DAMAGED BY THE HIT'"
6200 NEXT I:RETURN
6220 PRINT:PRINT"IT IS STARDATE";T;CHR$(8);".":PRINT:GOTO 6270
6240 PRINT:PRINT"THE ENTERPRISE HAS BEEN DESTROYED. THE FEDERATION ";
6250 PRINT"WILL BE CONQUERED.":GOTO 6220
6270 PRINT"THERE WERE";K9;"KLINGON BATTLE CRUISERS LEFT AT"
6280 PRINT"THE END OF YOUR MISSION."
6290 PRINT:PRINT:IF B9=0 THEN 6360
6310 PRINT"THE FEDERATION IS IN NEED OF A NEW STARSHIP COMMANDER"
6320 PRINT"FOR A SIMILAR MISSION -- IF THERE IS A VOLUNTEER,"
6330 INPUT"LET HIM STEP FORWARD AND ENTER 'AYE'";A$:IF A$="AYE"THEN 10
6360 PRINT:PRINT "BACK TO SYSTEM.":END
6370 PRINT"CONGRATULATIONS, CAPTAIN! THE LAST KLINGON BATTLE CRUISER"
6380 PRINT"MENACING THE FEDERATION HAS BEEN DESTROYED.":PRINT
6400 PRINT"YOUR EFFICIENCY RATING IS";1000*(K7/(T-T0))^2:GOTO 6290
6430 FOR I=S1-1 TO S1+1:FOR J=S2-1 TO S2+1
6450 IF INT(I+.5)<1 OR INT(I+.5)>8 THEN 6540
6451 IF INT(J+.5)<1 OR INT(J+.5)>8 THEN 6540
6490 A$=">B<":Z1=I:Z2=J:GOSUB 8830:IF Z3=1 THEN 6580
6540 NEXT J:NEXT I:D0=0:GOTO 6650
6580 D0=1:C$="DOCKED":E=E0:P=P0
6620 PRINT"SHIELDS DROPPED FOR DOCKING PURPOSES.":S=0:GOTO 6720
6650 IF K3>0 THEN C$="*RED*":GOTO 6720
6660 C$="GREEN":IF E<E0*.1 THEN C$="YELLOW"
6720 IF D(2)>=0 THEN 6770
6730 PRINT:PRINT"*** SHORT RANGE SENSORS ARE OUT ***":PRINT:RETURN
6770 O1$=" +--1---2---3---4---5---6---7---8-+":PRINT O1$
6771 FOR I=1 TO 8:PRINT I;"|";
6820 FOR J=(I-1)*24+1 TO(I-1)*24+22 STEP 3:PRINT" ";MID$(Q$,J,3);
6821 NEXT J:PRINT"|";I;
6830 ON I GOTO 6850,6900,6960,7020,7070,7120,7180,7240
6850 PRINT" STARDATE ";:PRINT INT(T*10)*.1
6851 GOTO 7260
6900 PRINT" CONDITION ";
6901 IF C$="*RED*" THEN PRINT CHR$(22);"*RED*";CHR$(22):GOTO 7260
6902 IF C$="DOCKED" THEN PRINT CHR$(22);"DOCKED";CHR$(22):GOTO 7260
6903 PRINT C$: GOTO 7260
6960 PRINT" QUADRANT ";Q1;CHR$(8);",";Q2;CHR$(8)
6961 GOTO 7260
7020 PRINT" SECTOR ";S1;CHR$(8);",";S2;CHR$(8)
7021 GOTO 7260
7070 PRINT" PHOTON TORPEDOES ";:PRINT INT(P)
7071 GOTO 7260
7120 PRINT" TOTAL ENERGY ";:PRINT INT(E+S)
7121 GOTO 7260
7180 PRINT" SHIELDS ";:PRINT INT(S)
7181 GOTO 7260
7240 PRINT" KLINGONS REMAINING";:PRINT INT(K9)
7260 NEXT I:PRINT O1$:RETURN
7290 IF D(8)<0 THEN PRINT"COMPUTER DISABLED.":GOTO 1990
7320 INPUT"COMPUTER ACTIVE AND AWAITING COMMAND";A:IF A<0 THEN 1990
7350 PRINT:H8=1:ON A+1 GOTO 7540,7900,8070,8500,8150,7400
7360 PRINT"FUNCTIONS AVAILABLE FROM LIBRARY-COMPUTER:"
7365 PRINT "-----------------------------------------":PRINT
7370 PRINT" 0 = CUMULATIVE GALTIC RECORD"
7372 PRINT" 1 = STATUS REPORT"
7374 PRINT" 2 = PHOTON TORPEDO DATA"
7376 PRINT" 3 = STARBASE NAV DATA"
7378 PRINT" 4 = DIRECTION/DISTANCE CALCULATOR"
7380 PRINT" 5 = GALAXY 'REGION NAME' MAP":PRINT:GOTO 7320
7400 H8=0:G5=1:PRINT" THE GALAXY":GOTO 7550
7540 REM
7542 REM
7543 PRINT:PRINT" ";
7544 PRINT"COMPUTER RECORD OF GALAXY FOR QUADRANT";Q1;CHR$(8);",";Q2
7546 PRINT
7550 PRINT" 1 2 3 4 5 6 7 8"
7560 O1$=" +-----+-----+-----+-----+-----+-----+-----+-----+"
7570 PRINT O1$:FOR I=1 TO 8:PRINT I;" ";:IF H8=0 THEN 7740
7630 FOR J=1 TO 8:PRINT"| ";:IF Z(I,J)=0 THEN PRINT"*** ";:GOTO 7720
7700 PRINT RIGHT$(STR$(Z(I,J)+1000),3);" ";
7720 IF J=8 THEN PRINT "|"
7721 NEXT J:GOTO 7850
7740 Z4=I:Z5=1:GOSUB 9030:J0=INT(15-.5*LEN(G2$)):PRINT TAB(J0);G2$;
7800 Z5=5:GOSUB 9030:J0=INT(39-.5*LEN(G2$)):PRINT TAB(J0);G2$
7850 PRINT O1$:NEXT I:PRINT:GOTO 1990
7900 PRINT " STATUS REPORT:":PRINT " -------------":X$=""
7901 IF K9>1 THEN X$="S"
7940 PRINT K9;"KLINGON";X$;" LEFT."
7960 PRINT" MISSION MUST BE COMPLETED IN";.1*INT((T0+T9-T)*10);
7961 PRINT"STARDATES."
7970 X$="S":IF B9<2 THEN X$="":IF B9<1 THEN 8010
7980 PRINT" THE FEDERATION IS MAINTAINING";B9;
7981 PRINT"STARBASE";X$;" IN THE GALAXY."
7990 GOTO 5690
8010 PRINT"YOUR STUPIDITY HAS LEFT YOU ON YOUR OWN IN"
8020 PRINT" THE GALAXY -- YOU HAVE NO STARBASES LEFT!":GOTO 5690
8070 IF K3<=0 THEN 4270
8080 X$="":IF K3>1 THEN X$="S"
8090 PRINT"FROM ENTERPRISE TO KLINGON BATTLE CRUSER";X$
8100 H8=0:FOR I=1 TO 3:IF K(I,3)<=0 THEN 8480
8110 W1=K(I,1):X=K(I,2)
8120 C1=S1:A=S2:GOTO 8220
8150 PRINT"DIRECTION/DISTANCE CALCULATOR:"
8160 PRINT"YOU ARE AT QUADRANT ";Q1;CHR$(8);",";Q2;" SECTOR ";
8161 PRINT S1;CHR$(8);",";S2;CHR$(8);"."
8170 INPUT"PLEASE ENTER INITIAL COORDINATES (X,Y)";C1,A
8200 INPUT"FINAL COORDINATES (X,Y)";W1,X
8220 X=X-A:A=C1-W1:IF X<0 THEN 8350
8250 IF A<0 THEN 8410
8260 IF X>0 THEN 8280
8270 IF A=0 THEN C1=5:GOTO 8290
8280 C1=1
8290 IF ABS(A)<=ABS(X)THEN 8330
8310 PRINT"DIRECTION =";C1+(((ABS(A)-ABS(X))+ABS(A))/ABS(A)):GOTO 8460
8330 PRINT"DIRECTION =";C1+(ABS(A)/ABS(X)):GOTO 8460
8350 IF A>0 THEN C1=3:GOTO 8420
8360 IF X<>0 THEN C1=5:GOTO 8290
8410 C1=7
8420 IF ABS(A)>=ABS(X)THEN 8450
8430 PRINT"DIRECTION =";C1+(((ABS(X)-ABS(A))+ABS(X))/ABS(X)):GOTO 8460
8450 PRINT"DIRECTION =";C1+(ABS(X)/ABS(A))
8460 PRINT"DISTANCE =";SQR(X^2+A^2):IF H8=1 THEN 1990
8480 NEXT I:GOTO 1990
8500 IF B3<>0 THEN PRINT"FROM ENTERPRISE TO STARBASE:"
8501 W1=B4:X=B5:GOTO 8120
8510 PRINT"MR. SPOCK: 'SENSORS SHOW NO STARBASES IN THIS QUADRANT.'"";
8520 GOTO 1990
8590 R1=FNR(1):R2=FNR(1):A$=" ":Z1=R1:Z2=R2:GOSUB 8830
8591 IF Z3=0 THEN 8590
8600 RETURN
8670 S8=INT(Z2-.5)*3+INT(Z1-.5)*24+1
8675 IF LEN(A$)<>3 THEN PRINT"ERROR":STOP
8680 IF S8=1 THEN Q$=A$+RIGHT$(Q$,189):RETURN
8690 IF S8=190 THEN Q$=LEFT$(Q$,189)+A$:RETURN
8700 Q$=LEFT$(Q$,S8-1)+A$+RIGHT$(Q$,190-S8):RETURN
8790 ON R1 GOTO 8792,8794,8796,8798,8800,8802,8804,8806
8792 G2$="WARP ENGINES":RETURN
8794 G2$="SHORT RANGE SENSORS":RETURN
8796 G2$="LONG RANGE SENSORS":RETURN
8798 G2$="PHASER CONTROL":RETURN
8800 G2$="PHOTON TUBES":RETURN
8802 G2$="DAMAGE CONTROL":RETURN
8804 G2$="SHIELD CONTROL":RETURN
8806 G2$="LIBRARY-COMPUTER":RETURN
8830 Z1=INT(Z1+.5):Z2=INT(Z2+.5):S8=(Z2-1)*3+(Z1-1)*24+1:Z3=0
8890 IF MID$(Q$,S8,3)<>A$THEN RETURN
8900 Z3=1:RETURN
9030 IF Z5<=4 THEN ON Z4 GOTO 9040,9050,9060,9070,9080,9090,9100,9110
9035 GOTO 9120
9040 G2$="ANTARES":GOTO 9210
9050 G2$="RIGEL":GOTO 9210
9060 G2$="PROCYON":GOTO 9210
9070 G2$="VEGA":GOTO 9210
9080 G2$="CANOPUS":GOTO 9210
9090 G2$="ALTAIR":GOTO 9210
9100 G2$="SAGITTARIUS":GOTO 9210
9110 G2$="POLLUX":GOTO 9210
9120 ON Z4 GOTO 9130,9140,9150,9160,9170,9180,9190,9200
9130 G2$="SIRIUS":GOTO 9210
9140 G2$="DENEB":GOTO 9210
9150 G2$="CAPELLA":GOTO 9210
9160 G2$="BETELGEUSE":GOTO 9210
9170 G2$="ALDEBARAN":GOTO 9210
9180 G2$="REGULUS":GOTO 9210
9190 G2$="ARCTURUS":GOTO 9210
9200 G2$="SPICA"
9210 IF G5<>1 THEN ON Z5 GOTO 9230,9240,9250,9260,9230,9240,9250,9260
9220 RETURN
9230 G2$=G2$+" I":RETURN
9240 G2$=G2$+" II":RETURN
9250 G2$=G2$+" III":RETURN
9260 G2$=G2$+" IV":RETURN
9999 END

Binary file not shown.

Binary file not shown.

View File

@@ -1,133 +0,0 @@
10 REM INSTRUCTIONS FOR "SUPER STARTREK" MAR 5, 1978
20 FOR I=1 TO 12:PRINT:NEXT I
25 PRINT CHR$(26)
30 PRINT TAB(10);"*************************************"
40 PRINT TAB(10);"* *"
50 PRINT TAB(10);"* *"
60 PRINT TAB(10);"* * * SUPER STAR TREK * * *"
70 PRINT TAB(10);"* *"
80 PRINT TAB(10);"* *"
90 PRINT TAB(10);"*************************************"
100 FOR I=1 TO 8:PRINT:NEXT I
110 INPUT "DO YOU NEED INSTRUCTIONS (Y/N)";K$:IF K$="N" THEN 1210
120 PRINT CHR$(26)
130 PRINT "NOTE: YOU MUST BE RUNNING 40K CP/M TO RUN STARTREK."
140 PRINT " THIS MEANS THAT BASIC MUST HAVE ABOUT 18K OF FREE MEMORY."
150 PRINT
160 PRINT" INSTRUCTIONS FOR 'SUPER STAR TREK'"
170 PRINT
180 PRINT"1. WHEN YOU SEE \COMMAND ?\ PRINTED, ENTER ONE OF THE LEGAL"
190 PRINT" COMMANDS (NAV,SRS,LRS,PHA,TOR,SHE,DAM,COM, OR XXX)."
200 PRINT"2. IF YOU SHOULD TYPE IN AN ILLEGAL COMMAND, YOU'LL GET A SHORT"
210 PRINT" LIST OF THE LEGAL COMMANDS PRINTED OUT."
220 PRINT"3. SOME COMMANDS REQUIRE YOU TO ENTER DATA (FOR EXAMPLE, THE"
230 PRINT" 'NAV' COMMAND COMES BACK WITH 'COURSE (1-9) ?'.) IF YOU"
240 PRINT" TYPE IN ILLEGAL DATA (LIKE NEGATIVE NUMBERS), THAT COMMAND"
250 PRINT" WILL BE ABORTED"
260 PRINT
270 PRINT" THE GALAXY IS DIVIDED INTO AN 8 X 8 QUADRANT GRID,"
280 PRINT"AND EACH QUADRANT IS FURTHER DIVIDED INTO AN 8 X 8 SECTOR GRID."
290 PRINT
300 PRINT" YOU WILL BE ASSIGNED A STARTING POINT SOMEWHERE IN THE"
310 PRINT"GALAXY TO BEGIN A TOUR OF DUTY AS COMMANDER OF THE STARSHIP"
320 PRINT"\ENTERPRISE\; YOUR MISSION: TO SEEK AND DESTROY THE FLEET OF"
330 PRINT"KLINGON WARWHIPS WHICH ARE MENACING THE UNITED FEDERATION OF"
340 PRINT"PLANETS."
350 PRINT
352 LINE INPUT "ENTER [CR] TO CONTINUE";A$:IF A$="" THEN PRINT CHR$(26)
360 PRINT" YOU HAVE THE FOLLOWING COMMANDS AVAILABLE TO YOU AS CAPTAIN"
370 PRINT"OF THE STARSHIP ENTERPRISE:"
380 PRINT
390 PRINT"\NAV\ COMMAND = WARP ENGINE CONTROL --"
400 PRINT" COURSE IS IN A CIRCULAR NUMERICAL 4 3 2"
410 PRINT" VECTOR ARRANGEMENT AS SHOWN . . ."
420 PRINT" INTEGER AND REAL VALUES MAY BE ..."
430 PRINT" USED. (THUS COURSE 1.5 IS HALF- 5 ---*--- 1"
440 PRINT" WAY BETWEEN 1 AND 2 ..."
450 PRINT" . . ."
460 PRINT" VALUES MAY APPROACH 9.0, WHICH 6 7 8"
470 PRINT" ITSELF IS EQUIVALENT TO 1.0"
480 PRINT" COURSE"
490 PRINT" ONE WARP FACTOR IS THE SIZE OF "
500 PRINT" ONE QUADTANT. THEREFORE, TO GET"
510 PRINT" FROM QUADRANT 6,5 TO 5,5, YOU WOULD"
520 PRINT" USE COURSE 3, WARP FACTOR 1."
530 PRINT:PRINT
531 LINE INPUT "ENTER [CR] TO CONTINUE";A$:IF A$="" THEN PRINT CHR$(26)
540 PRINT"\SRS\ COMMAND = SHORT RANGE SENSOR SCAN"
550 PRINT" SHOWS YOU A SCAN OF YOUR PRESENT QUADRANT."
560 PRINT
570 PRINT" SYMBOLOGY ON YOUR SENSOR SCREEN IS AS FOLLOWS:"
580 PRINT" <*> = YOUR STARSHIP'S POSITION"
590 PRINT" +K+ = KLINGON BATTLE CRUISER"
600 PRINT" >!< = FEDERATION STARBASE (REFUEL/REPAIR/RE-ARM HERE!)"
610 PRINT" * = STAR"
620 PRINT
630 PRINT" A CONDENSED 'STATUS REPORT' WILL ALSO BE PRESENTED."
640 PRINT
650 PRINT"\LRS\ COMMAND = LONG RANGE SENSOR SCAN"
660 PRINT" SHOWS CONDITIONS IN SPACE FOR ONE QUADRANT ON EACH SIDE"
670 PRINT" OF THE ENTERPRISE (WHICH IS IN THE MIDDLE OF THE SCAN)"
680 PRINT" THE SCAN IS CODED IN THE FORM \###\, WHERE TH UNITS DIGIT"
690 PRINT" IS THE NUMBER OF STARS, THE TENS DIGIT IS THE NUMBER OF"
700 PRINT" STARBASES, AND THE HUNDRESDS DIGIT IS THE NUMBER OF"
710 PRINT" KLINGONS."
720 PRINT
730 PRINT" EXAMPLE - 207 = 2 KLINGONS, NO STARBASES, & 7 STARS."
740 PRINT:PRINT
741 LINE INPUT "ENTER [CR] TO CONTINUE";A$:IF A$="" THEN PRINT CHR$(26)
750 PRINT"\PHA\ COMMAND = PHASER CONTROL."
760 PRINT" ALLOWS YOU TO DESTROY THE KLINGON BATTLE CRUISERS BY "
770 PRINT" ZAPPING THEM WITH SUITABLY LARGE UNITS OF ENERGY TO"
780 PRINT" DEPLETE THEIR SHIELD POWER. (REMEMBER, KLINGONS HAVE"
790 PRINT" PHASERS TOO!)"
800 PRINT
810 PRINT"\TOR\ COMMAND = PHOTON TORPEDO CONTROL"
820 PRINT" TORPEDO COURSE IS THE SAME AS USED IN WARP ENGINE CONTROL"
830 PRINT" IF YOU HIT THE KLINGON VESSEL, HE IS DESTROYED AND"
840 PRINT" CANNOT FIRE BACK AT YOU. IF YOU MISS, YOU ARE SUBJECT TO"
850 PRINT" HIS PHASER FIRE. IN EITHER CASE, YOU ARE ALSO SUBJECT TO "
860 PRINT" THE PHASER FIRE OF ALL OTHER KLINGONS IN THE QUADRANT."
870 PRINT
880 PRINT" THE LIBRARY-COMPUTER (\COM\ COMMAND) HAS AN OPTION TO "
890 PRINT" COMPUTE TORPEDO TRAJECTORY FOR YOU (OPTION 2)"
900 PRINT
910 PRINT"\SHE\ COMMAND = SHIELD CONTROL"
920 PRINT" DEFINES THE NUMBER OF ENERGY UNITS TO BE ASSIGNED TO THE"
930 PRINT" SHIELDS. ENERGY IS TAKEN FROM TOTAL SHIP'S ENERGY. NOTE"
940 PRINT" THAT THE STATUS DISPLAY TOTAL ENERGY INCLUDES SHIELD ENERGY"
950 PRINT
951 LINE INPUT "ENTER [CR] TO CONTINUE";A$:IF A$="" THEN PRINT CHR$(26)
960 PRINT"\DAM\ COMMAND = DAMMAGE CONTROL REPORT"
970 PRINT" GIVES THE STATE OF REPAIR OF ALL DEVICES. WHERE A NEGATIVE"
980 PRINT" 'STATE OF REPAIR' SHOWS THAT THE DEVICE IS TEMPORARILY"
990 PRINT" DAMAGED."
1000 PRINT
1010 PRINT"\COM\ COMMAND = LIBRARY-COMPUTER"
1020 PRINT" THE LIBRARY-COMPUTER CONTAINS SIX OPTIONS:"
1030 PRINT" OPTION 0 = CUMULATIVE GALACTIC RECORD"
1040 PRINT" THIS OPTION SHOWES COMPUTER MEMORY OF THE RESULTS OF ALL"
1050 PRINT" PREVIOUS SHORT AND LONG RANGE SENSOR SCANS"
1060 PRINT" OPTION 1 = STATUS REPORT"
1070 PRINT" THIS OPTION SHOWS THE NUMBER OF KLINGONS, STARDATES,"
1080 PRINT" AND STARBASES REMAINING IN THE GAME."
1090 PRINT" OPTION 2 = PHOTON TORPEDO DATA"
1100 PRINT" WHICH GIVES DIRECTIONS AND DISTANCE FROM THE ENTERPRISE"
1110 PRINT" TO ALL KLINGONS IN YOUR QUADRANT"
1115 PRINT:PRINT
1116 LINE INPUT "ENTER [CR] TO CONTINUE";A$:IF A$="" THEN PRINT CHR$(26)
1117 PRINT"\COM\ COMMAND = LIBRARY-COMPUTER"
1118 PRINT
1120 PRINT" OPTION 3 = STARBASE NAV DATA"
1130 PRINT" THIS OPTION GIVES DIRECTION AND DISTANCE TO ANY "
1140 PRINT" STARBASE WITHIN YOUR QUADRANT"
1150 PRINT" OPTION 4 = DIRECTION/DISTANCE CALCULATOR"
1160 PRINT" THIS OPTION ALLOWS YOU TO ENTER COORDINATES FOR"
1170 PRINT" DIRECTION/DISTANCE CALCULATIONS"
1180 PRINT" OPTION 5 = CALACTIC /REGION NAME/ MAP"
1190 PRINT" THIS OPTION PRINTS THE NAMES OF THE SIXTEEN MAJOR "
1200 PRINT" GALACTIC REGIONS REFERRED TO IN THE GAME."
1210 PRINT:PRINT:PRINT
1220 PRINT "...CHAINING TO STARTREK..."
1230 LOAD "STARTREK.BAS",R
1240 END

View File

@@ -1,33 +0,0 @@
01 REM ****************************************
02 REM
03 REM Z80-MBC2 USER led blink demo:
04 REM
05 REM Blink USER led until USER key is pressed
06 REM
07 REM ****************************************
08 REM
13 PRINT "Press USER key to exit"
14 LEDUSER = 0 : REM USER LED write Opcode (0x00)
15 KEYUSER = 128 : REM USER KEY read Opcode (0x80)
16 PRINT "Now blinking..."
18 OUT 1,LEDUSER : REM Write the USER LED write Opcode
20 OUT 0,1 : REM Turn USER LED on
30 GOSUB 505 : REM Delay sub
40 OUT 1,LEDUSER : REM Write the USER LED write Opcode
45 OUT 0,0 : REM Turn USER LED off
50 GOSUB 505 : REM Delay
60 GOTO 18
490 REM
500 REM * * * * * DELAY SUB
501 REM
505 FOR J=0 TO 150
506 OUT 1,KEYUSER : REM Write the USER KEY read Opcode
507 IF INP(0)=1 THEN GOTO 700 : REM Exit if USER key is pressed
510 NEXT J
520 RETURN
690 REM
691 REM * * * * * PROGRAM END
692 REM
700 OUT 1,LEDUSER : REM Write the USER LED write Opcode
710 OUT 0,0 : REM Turn USER LED off
720 PRINT "Terminated by USER Key"

View File

@@ -1,210 +0,0 @@
;Configuration file for XMODEM 2.X by M. Eberhard
;Must be named XMODEM.CFG and be on CP/M's default disk.
;This file is extremely verbose, for demonstration.
;Obviously, you can trim it WAY down.
;How this CFG file works:
;(These commands may also be on the command line. Command
;line options override .CFG file options.) Type XMODEM with
;no options for more help.
; Anything after a semicolon on a line is a comment. Tabs,
; spaces, carriage returns, and line feeds are generally
; ignored (though not directly following a slash and not
; between 2 digits of a hex value).
;/C specifies reception with checksums, rather than with
; CRC error checking. (Transmit error checking is set by
; the other end.)
;/E specifies a RDR: port that returns with Z set when no
; character is waiting (for the /X1 option)
;The following /I commands install 8080 code that gets used
;with the /X3 option. /I options are available ib XMODEM
;version 2.4 and later only.
;/I0 hh hh... specifies up to 8 bytes of 8080 code that
; runs once during initialization, once the .CFG file
; and command line have both been parsed. (USeful for
; setting baud rates, etc.)
;/I1 hh hh... specifies up to 8 bytes of 8080 code for
; the Tx byte routine. The chr to send is in register c.
;/I2 hh hh... specifies up to 8 bytes of 8080 code for
; the Rx status routine. The routine should return with
; Z cleared if a chr is waiting.
;/I3 hh hh... specifies up to 8 bytes of 8080 code for the Rx
; data routine. The chr should be returned in register a.
;/M causes the following message to be printed on the console
;/O option specifies a port initialization sequence
; The first byte is a port address, and all subsequent
; bytes are sent to that port.
; Note that more than one /O option may be specified, so
; that you can set up the UART and also e.g. the baud rate.
;/P option specifies a custom serial port, for the X2 option
; Byte 1 = status port address
; Byte 2 = data port address
; Byte 3 = 00 if port ready bits are active low
; = 01 if port ready bits are active high
; Byte 4 = bit bask for receiver ready bit
; Byte 5 = bit mask for transmitter ready bit
;/Q suppresses pacifiers during data transfer, useful
; when the transfer port is also the console
;/X0 uses the CON: port for data transfers
;/X1 uses the RDR:/PUN: port for data transfers (default)
;/X2 uses custom serial port (defined by /P) for data transfers
;/X3 uses patched ports (defined by /I) for data transfers
;(/X3 available in vers. 2.4 and later)
; RC2014: /Z5 seems to be the best setting
/Z5 ;specify a 2 MHz CPU (any integer from 1 to 9)
; RC2014: Standard full monty likes /X0
/X0 ;uses the CON: port for data transfers
;--------------------------------------------------------------
;Example port configurations (Un-comment the one you will use.)
;--------------------------------------------------------------
;MITS 88-SIO (No initialization required)
;
;/MDirect I/O is configured for 88-SIO
;/P 00 01 00 01 80 ;88-SIO (no init needed)
;--------------------------------------------------------------
;MITS 88-2SIO (Typical Motorola 6850 ports)
;
;/MDirect I/O is configured for 88-2SIO Port A
;/X2 ;use custom port defined here
;/P 10 11 01 01 02 ;Port A
;/O 10 03 15 ;8 data, 1 stop, no parity
;--------------------------------------------------------------
;Compupro Interfacer/Interfacer II
;Control bits are set by jumpers. The board will
;XOR whatever you write to the control port with the
;DIP switch setting. This assumes all these jumpers
;are set to their '0' position
;
;/MDirect I/O is configured for Interfacer port A
;/X2 ;use custom port defined here
;/P 01 00 01 02 01 ;Port A
;/O 01 AC ;8 data, no parity, controls high, no ints
;
;/MDirect I/O is configured for Interfacer port B
;/X2 ;use custom port defined here
;/P 03 02 01 02 01 ;Port B
;/O 03 AC ;8 data, no parity, controls high, no ints
;--------------------------------------------------------------
;Vector Graphic Bitstreamer/Bitstreamer II, Imsai SIO-2
;(typical Intel 8251 ports)
;
;/MDirect I/O is configured for Bitstreamer port A
;/X2 ;use custom port defined here
;/P 03 02 01 02 01 ;Port A
;/O 03 AA 40 4E 27 ;8 bits, no parity, ports enabled, etc.
;
;/MDirect I/O is configured for Bitstreamer port B
;/X2 ;use custom port defined here
;/P 05 04 01 02 01 ;Port B
;/O 05 AA 40 4E 27 ;8 bits, no parity, ports enabled, etc.
;
;--------------------------------------------------------------
;Cromemco TU-ART
;
;/MDirect I/O is configured for TU-ART port A
;/X2 ;use custom port defined here
;/P 20 21 01 40 80 ;Port A
;/O 22 01 ;reset UART
;/O 23 00 ;disable interrupts
;/O 20 C0 ;9600 baud low byte
;/O 22 00 ;9600 baud high bit
;
;/MDirect I/O is configured for TU-ART port B
;/X2 ;use custom port defined here
;/P 50 51 01 40 80 ;Port B
;/O 52 01 ;reset UART
;/O 53 00 ;disable interrupts
;/O 50 a0 ;38.4 Kbaud low byte
;/O 52 10 ;38.4 Kbaud high bit
;--------------------------------------------------------------
;CCS 2719 serial ports (Typical Zilog DART ports)
;
;/MDirect I/O is configured for CCS 2719 Port A
;/X2 ;use custom port defined here
;(typical Z80 DART & Z80 CTC configuration)
;/P 55 54 01 01 04 ;Port A
;/O 55 48 01 00 03 C1 04 44 05 EA ;DART: 8 bits, 1 stop, no parity
;/O 50 47 03 ;CTC: 38.4K baud
;**/O 50 47 0C ;<alternate> CTC: 9600 baud
;**/O 50 47 60 ;<alternate> CTC: 1200 baud
;
;/MDirect I/O is configured for CCS 2719 Port B
;/X2 ;use custom port defined here
;/P 57 56 01 01 04 ;Port B
;/O 57 48 01 00 03 C1 04 44 05 EA ;DART: 8 bits, 1 stop, no parity
;/O 51 47 03 ;CTC: 38.4K baud
;**/O 51 47 0C ;<alternate> CTC: 9600 baud
;**/O 51 47 60 ;<alternate> CTC: 1200 baud
;--------------------------------------------------------------
;CCS 2810 serial port (which is also the console)
;
;/MDirect I/O is configured for the 2810's serial port, which is also
;/Mthe console. No progress messages will be printed during transfer.
;/X2 ;use custom port defined here
;/Q ;Quiet mode, because this is also CON:
;/P 25 20 01 01 10 ;2810 serial port
;/O 24 0F ;modem control
;/O 23 83 ;Baud rate divisor access
;/O 21 00 ;High baud rate
;/O 20 0C ;Low baud rate, 9600 baud
;**/O 20 03 ;<alternate> 38.4K Baud
;**/O 20 60 ;<alternate> 1200 baud
;/O 23 03 ;Line control
;/O 21 00 ;Ints disabled
;/O 25 00 ;handshake lines active
;--------------------------------------------------------------
;Processor Technology 3P+S's serial port
;(No initialization required)
;
;/Direct I/O via the 3P+S serial port
;/X2 ;use custom port defined here
;/P 00 01 01 40 80
;--------------------------------------------------------------
;Processor Technology Sol-20 (with SOLOS ROM) or
;Subsystem B (with CUTER ROM)
;
;/MUSing Solos/Cuter serial I/O
;/X3 ;Use the (following) patched I/O
;/I1 48 3E 01 CD 1C C0 ;Tx: call AOUT with a=1 for serial port
;/I2 3E 01 CD 22 C0 ;Rx status: call AINP with a=1 for serial port
;/I3 ;Rx data: no Rx data routine, since AOUT got
; ;the data. (this line is not actually required)
;--------------------------------------------------------------
;Poly-88 with POLEX ROM
;
;/MUsing POLEX for serial I/O
;/X3 ;Use the (following) patched I/O
;/I0 3E 1F CD 18 F4 ;Set baud rate to 9600
;/I1 CD 12 F4 ;Call PXSOUT to transit
;/I2 CD 0C F4 ;Call PXSTA for status
;/I3 CD 0F F4 ;call PXSIN for data

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,263 +0,0 @@
_________________________________________________________
|\=========================================================\
|| |
|| _ __ ___ __ _ |
|| ; `-.__.-'. `-.__.-'. .`-.__.-' .`-.__.-' : |
|| _.'. . . . . . . . .,,,,,,,. . . . . . . . .`._ |
|| .'. . . . . . . . ,a@@@@@@@@@@@a, . . . . . . . .`. |
|| `. . . . ,a@@@@@a@@@a@@@@@@@@@a@@@a@@@@@a, . . . ,' |
|| ) . . a@@@@@@a@@@@@a@@@@@@@a@@@@@a@@@@@@a . . ( |
|| ,' . . .@@@%%%a@@@@@@@@@@@@@@@@@@@@@a%%%@@@ . . `. |
|| `.. . . @@@%%a@@@@@@""@@@@@@@""@@@@@@a%%@@@ . . .,' |
|| ). . . "@@a@@@@@@@@@SSSSSSS@@@@@@@@@a@@" . . .( |
|| ,'. . . . . `@@@@@@@@SSS, ,SSS@@@@@@@@' . . . . .`. |
|| `. . . . . . `@@@@@@@`SSS:SSS'@@@@@@@' . . . . . ,' |
|| ) . . . . . `@@@@@@@sssssss@@@@@@@' . . . . . ( |
|| ,' . . . . . ,a@@a@@@@@@@@@@@@@@@a@@a, . . . . . `. |
|| `.. . . . .a@@@a@@@@@a@@@a@@@a@@@@@a@@@a. . . . .,' |
|| ). . . .a@@@@@a@@@@@@@@@@@@@@@@@a@@@@@a. . . .( |
|| ,'. . . . @@@@@@a@@@@' " `@@@@a@@@@@@ . . . .`. |
|| `. . . . .@@@@@@@aaaa, ,aaaa@@@@@@@ . . . ,' |
|| ) . . . `@@@@@@@@@@@@a, ,a@@@@@@@@@@@@' . . . ( |
|| ,' . . . . .`@@@@@@@@@@a@a@a@@@@@@@@@@'. . . . . `. |
|| `;;;;;;;;;;;;aaaaaaaaaa@@@@@aaaaaaaaaa;;;;;;;;;;;;' |
|| );;;;;;;,mMMMMMMMm@@@@@@@@@@@mMMMMMMMm,;;;;;;;( |
|| ,;;;;;;;;a@%#%%#%%#%Mm@@@@@@@mM%#%%#%%#%@a;;;;;;;;, |
|| `;;;;;;;;@@%%%%%%%%%%M@@";"@@M%%%%%%%%%%@@;;;;;;;;' |
|| );;;;;;`@a%%%%%%%%mM";;;;;"Mm%%%%%%%%a@';;;;;;( |
|| ,;;;;;;;;;;"@@@@@@@@";;;;;;;;;"@@@@@@@@";;;;;;;;;;, |
|| `;;;;;;;;;;;;"""""";;;;;;;;;;;;;"""""";;;;;;;;;;;;' |
|| );;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-Catalyst( |
|| `:;;;:-~~~-:;;:-~~~-:;;;;;:-~~~-:;;:,-~~~-:;;;:' |
|| ~~~ ~~ ~~~ ~~ ~~~ |
|| .=============. |
|| | Mr. Bear : |
|| `-------------' |
\|_________________________________________________________|
.,%%%%%,. ..,,,,..
.%%%;%;%;%;%, .,%%%%%%%,%%%%%%,. .,,,,.
%%%;a@@@@@a;;,%%%%%%%%%%%%%%%%%%%%%%,;%%;%;%;%%,
%%%;@@@@@@a;,%%%%%%%%%%%%%%,%%%%%%%%%%;a@@@@a;%%%
`%%%;@@@a;,%%%%%%%%%%%%%%%%%%%%%%%%%%%%;a@@@@;%%%
`%%%;;,%%%%%%%%%%%%%% .%%%,%% .%%%%%%%;a@@;%%%'
```%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%;%%%%'
%%%%%%%%%%%%%%%%%%%' #`%%%%%%%%%%'
%%%%%%%%%%%%%%%%%%%,. .,%%%%%%%%%%
%%%%%%%%%%%%%%%;a@@@@a;a@@@a;%%%%%%
`%%%%%%%%%%%;a@@@a@@@@a;a@@a@a;%%%'
`%%%%%%%%%;@@@a@@@a@@@;a@a@a@;%%' ..,,.
,sSSSSSs`%%%%%%%;@@@@@@@@@;a@@@@@;%' .,%%%,;;;;,
.S@S;;;;;SSs %%%%%%%%%%%%%%%%%%%%%%' .,%%%%%%,;;;;;;,
S@@SSss;;;;sSs,s@SSSS@,sSSSSSSSSs,.%%%%%%%%%%%,;;;;;;,
`S@@SSSSSSs;;Ss@@SSSS@@sSs;;;;;;S@s,%%%%%%%%%%%,;;;;;;
.S@@SSSSSSSSSSs@@SSSS@@sSSSSSs;;;@@S,%%%%%%%%%%%%,;;;'
S@@SSSSSSSSSSS'`@SSSS@s`SSSSSSSSs@S',%%%%%%%%%%%%%%'
%`S@SSSSSSSSS'.SSSssssSSS`SSSSSSS@S'%%,%%%%%%%%%%'
.%%%%,""""""%%.sSSSSS^SSSSSs%`SSSSSS'%%%%,%%%%%'
.%%%%%%%%%%%%.sSSSSSSS'.sSSSSS,%%"""",%%%%%%,%'
.%%%%%%%%%%%.sSSSSSSSS'.SSSSSSSS,%%%%%%%%%%%%%.
.%.%.%.%.%.%.SSSSSSSSS',SSSS^SSSSS,%,%%%%%%%%%%%
%;;;;;;;;;%,SSSSS^SSSS,,SSS',SSSS'%%%%%%%%%%%%%%,
;;;;;;;;;;;,SSSS'%`SS';%`S'%,SS'%%%%%,%%%%%%%%%%%
`;;;;;;;;'%`SS'%%,S'%%%%,%,S'%%%%%%%%%%%%%%%%%%%
%%%`S,%%%%%%%%%%%%%%%%%%%%,%%%%%%%%%%%'
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
.%`%%%%%%%%%%%%%%%%%%%%%%,%%%%%%%%%%%'%
%%%`%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'%%%.
;%%%%%`%%%%%%%%%%%%%%%%,%%%%%%%%%'%%%%%%%.
%%%%%%%;%:%:%:%:%%%'`%%:%:%:%:%:%%%%%%%%%%,
%%%%%%%%%%%%%%%%%%%. `%%%%%%%%%%%%%%%%%%%%%%,
%%%%%%%%%%%%%%%%%%%% `%%%%%%%%%%%%%%%%%%%%%%,
%%%%%%%%%%%%%%%%%%%%. `%%%%%%%%%%%%%%%%%%%%%%,
%%%%%%%%%%%%%%%%%%%%% `%%%%%%%%%%,%%%,%%%,%%%,
%%%%%%%%,%%%,%%%,%%,%. `%%%%%,;;;;;;;;;;;;;,%,
`%%%%,;;;;;;;;;;;;;;,% `%%,;;;;;;;;;;;;;;;;;;
`%,;;;;;;;;;;;;;;;;;; `;;;;;;;;;;;;;;;;;;;'
`%;;;;;;;;;;;;;;;;;' `;;;;;;;;;;;;;;;'
`;;;;;;;;;;;;;;' '''''''''''
....
W$$$$$u
$$$$F**+ .oW$$$eu
..ueeeWeeo.. e$$$$$$$$$
.eW$$$$$$$$$$$$$$$b- d$$$$$$$$$$W
,,,,,,,uee$$$$$$$$$$$$$$$$$$$$$ H$$$$$$$$$$$~
:eoC$$$$$$$$$$$C""?$$$$$$$$$$$$$$$ T$$$$$$$$$$"
$$$*$$$$$$$$$$$$$e "$$$$$$$$$$$$$$i$$$$$$$$F"
?f"!?$$$$$$$$$$$$$$ud$$$$$$$$$$$$$$$$$$$$*Co
$ o$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
!!!!m.*eeeW$$$$$$$$$$$f?$$$$$$$$$$$$$$$$$$$$$$$$$$$$$U
!!!!!! !$$$$$$$$$$$$$$ T$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
*!!*.o$$$$$$$$$$$$$$$e,d$$$$$$$$$$$$$$$$$$$$$$$$$$$$$:
"eee$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$C
b ?$$$$$$$$$$$$$$**$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$!
Tb "$$$$$$$$$$$$$$*uL"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$'
$$o."?$$$$$$$$F" u$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$en ``` .e$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$'
$$$B* =*"?.e$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$F
$$$W"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"
"$$$o#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"
R: ?$$$W$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$" :!i.
!!n.?$???""``.......,``````"""""""""""`` ...+!!!
!* ,+::!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*`
"!?!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!~`
+!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!?!`
.!!!!!!!!!!!!!!!!!!!!!' !!!!!!!!!!!!!!!, !!!!
:!!!!!!!!!!!!!!!!!!!!!!' !!!!!!!!!!!!!!!!! `!!:
.+!!!!!!!!!!!!!!!!!!!!!~~!! !!!!!!!!!!!!!!!!!! !!!.
:!!!!!!!!!!!!!!!!!!!!!!!!!.`:!!!!!!!!!!!!!!!!!:: `!!+
"~!!!!!!!!!!!!!!!!!!!!!!!!!!.~!!!!!!!!!!!!!!!!!!!!.`!!:
~~!!!!!!!!!!!!!!!!!!!!!!! ;!!!!~` ..eeeeeeo.`+!.!!!!.
:.. `+~!!!!!!!!!!!!!!!!! :!;`.e$$$$$$$$$$$$$u .
$$$$$$beeeu.. `````~+~~~~~" ` !$$$$$$$$$$$$$$$$ $b
$$$$$$$$$$$$$$$$$$$$$UU$U$$$$$ ~$$$$$$$$$$$$$$$$ $$o
!$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$. $$$$$$$$$$$$$$$~ $$$u
!$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! $$$$$$$$$$$$$$$ 8$$$$.
!$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$X $$$$$$$$$$$$$$`u$$$$$W
!$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! $$$$$$$$$$$$$".$$$$$$$:
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$F.$$$$$$$$$
?$$$$$$$$$$$$$$$$$$$$$$$$$$$$f $$$$$$$$$$$$' $$$$$$$$$$.
$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$!
"$$$$$$$$$$$$$$$$$$$$$$$$$$$ ?$$$$$$$$$$$$ $$$$$$$$$$!
"$$$$$$$$$$$$$$$$$$$$$$$$Fib ?$$$$$$$$$$$b ?$$$$$$$$$
"$$$$$$$$$$$$$$$$$$$$"o$$$b."$$$$$$$$$$$ $$$$$$$$'
e. ?$$$$$$$$$$$$$$$$$ d$$$$$$o."?$$$$$$$$H $$$$$$$'
$$$W.`?$$$$$$$$$$$$$$$ $$$$$$$$$e. "??$$$f .$$$$$$'
d$$$$$$o "?$$$$$$$$$$$$ $$$$$$$$$$$$$eeeeee$$$$$$$"
$$$$$$$$$bu "?$$$$$$$$$ 3$$$$$$$$$$$$$$$$$$$$*$$"
d$$$$$$$$$$$$$e. "?$$$$$:`$$$$$$$$$$$$$$$$$$$$8
e$$e. $$$$$$$$$$$$$$$$$$+ "??f "$$$$$$$$$$$$$$$$$$$$c
$$$$$$$o $$$$$$$$$$$$$$$F" `$$$$$$$$$$$$$$$$$$$$b.
M$$$$$$$$U$$$$$$$$$$$$$F" ?$$$$$$$$$$$$$$$$$$$$$u
?$$$$$$$$$$$$$$$$$$$$F "?$$$$$$$$$$$$$$$$$$$$u
"$$$$$$$$$$$$$$$$$$" ?$$$$$$$$$$$$$$$$$$$$o
"?$$$$$$$$$$$$$F "?$$$$$$$$$$$$$$$$$$
"??$$$$$$$F ""?3$$$$$$$$$$$$F
.e$$$$$$$$$$$$$$$$'
u$$$$$$$$$$$$$$$$$
`$$$$$$$$$$$$$$$$"
"$$$$$$$$$$$$F"
""?????""
..::''''::..
.:::. .;'' ``;.
.... ::::: :: :: :: ::
,;' .;: () ..: `:::' :: :: :: ::
::. ..:,:;.,:;. . :: .::::. `:' :: .:' :: :: `:. ::
'''::, :: :: :: `:: :: ;: .:: : :: : : ::
,:'; ::; :: :: :: :: :: ::,::''. . :: `:. .:' ::
`:,,,,;;' ,;; ,;;, ;;, ,;;, ,;;, `:,,,,:' :;: `;..``::::''..;'
``::,,,,::''
_________________________________________________________
|\=========================================================\
|| |
|| _ __ ___ __ _ |
|| ; `-.__.-'. `-.__.-'. .`-.__.-' .`-.__.-' : |
|| _.'. . . . . . . . .,,,,,,,. . . . . . . . .`._ |
|| .'. . . . . . . . ,a@@@@@@@@@@@a, . . . . . . . .`. |
|| `. . . . ,a@@@@@a@@@a@@@@@@@@@a@@@a@@@@@a, . . . ,' |
|| ) . . a@@@@@@a@@@@@a@@@@@@@a@@@@@a@@@@@@a . . ( |
|| ,' . . .@@@%%%a@@@@@@@@@@@@@@@@@@@@@a%%%@@@ . . `. |
|| `.. . . @@@%%a@@@@@@""@@@@@@@""@@@@@@a%%@@@ . . .,' |
|| ). . . "@@a@@@@@@@@@SSSSSSS@@@@@@@@@a@@" . . .( |
|| ,'. . . . . `@@@@@@@@SSS, ,SSS@@@@@@@@' . . . . .`. |
|| `. . . . . . `@@@@@@@`SSS:SSS'@@@@@@@' . . . . . ,' |
|| ) . . . . . `@@@@@@@sssssss@@@@@@@' . . . . . ( |
|| ,' . . . . . ,a@@a@@@@@@@@@@@@@@@a@@a, . . . . . `. |
|| `.. . . . .a@@@a@@@@@a@@@a@@@a@@@@@a@@@a. . . . .,' |
|| ). . . .a@@@@@a@@@@@@@@@@@@@@@@@a@@@@@a. . . .( |
|| ,'. . . . @@@@@@a@@@@' " `@@@@a@@@@@@ . . . .`. |
|| `. . . . .@@@@@@@aaaa, ,aaaa@@@@@@@ . . . ,' |
|| ) . . . `@@@@@@@@@@@@a, ,a@@@@@@@@@@@@' . . . ( |
|| ,' . . . . .`@@@@@@@@@@a@a@a@@@@@@@@@@'. . . . . `. |
|| `;;;;;;;;;;;;aaaaaaaaaa@@@@@aaaaaaaaaa;;;;;;;;;;;;' |
|| );;;;;;;,mMMMMMMMm@@@@@@@@@@@mMMMMMMMm,;;;;;;;( |
|| ,;;;;;;;;a@%#%%#%%#%Mm@@@@@@@mM%#%%#%%#%@a;;;;;;;;, |
|| `;;;;;;;;@@%%%%%%%%%%M@@";"@@M%%%%%%%%%%@@;;;;;;;;' |
|| );;;;;;`@a%%%%%%%%mM";;;;;"Mm%%%%%%%%a@';;;;;;( |
|| ,;;;;;;;;;;"@@@@@@@@";;;;;;;;;"@@@@@@@@";;;;;;;;;;, |
|| `;;;;;;;;;;;;"""""";;;;;;;;;;;;;"""""";;;;;;;;;;;;' |
|| );;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;( |
|| `:;;;:-~~~-:;;:-~~~-:;;;;;:-~~~-:;;:,-~~~-:;;;:' |
|| ~~~ ~~ ~~~ ~~ ~~~ |
|| .=============. |
|| | KINA : |
|| `-------------' |
\|_________________________________________________________|
c, ,c
3$$c ,$$P
$$"$$c ,cc, ,zc, ,cc J$$ c, ,cc, c, hcc$$$$$$",zcc, ,$$"
$$ ?$c ,$$?$c ,d$$$F ,$$P$b J$$ $$ z$$P$b, $$$cJ$$ $$ ,$$?$$ $$b,.
$$ ,$$,$$" ?$b $$P'?" d$P $$. J$$ ,$$ J$$" `$$ $$`"$$$ $$ d$P $$F "?$$b
$$,c$$'$$F $$<$$ $$F,3$L J$$$$$$ $$F $$,$$ ?$$ $$ $$L,$$$ 4$$
$$$$P':$$, ,$$ $$c ,$$$$$$$ 3$$"'$$ $$c ,$$ $$ :$$ $$ ;$$$$P$$ ,$$"
$$" "?$$d$$" "$$c,3$$"' $$ ?$$ $$ `?$$$$$" $$ :$$ $$ 3$$" $$ ,$$F
$$ `"?"' """`"" "" `"" "" """ "" "" "" "" ""J$$"
$$ "?"
.:::.
.::::::-'``'::::.
.:::'',,cd$$$$$$$bc,`.
::::,$$$$$$$$$$$$$$$$$,`.
:::'z$$$$$$$$$$$$$$$$$$$$c,
.:::'z$$$$$$$$$$$$$$$$$P"" _`.
::::'z$$$$$$$$$$$$$$$$$",d$$$$$c,.
::::: P".,,. "$$$$$$$$$$$$P" ,c,`$,`
.::::::,c$$$$$$$$$$$$$$$$$$P J$",c$$.`.
:::::::,$P" ,`?$$$$$$$$$$$$,,,c$$$$$$L<.
::::::: d$. ,$$$b,"$$$$$$$$$$$$$$$$$$$$$.$
:::::::: $$$cccccccd$$$$$$$$$$$$$$$$$$$$$$$`:
:::::::: $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$,::
::::::::'J`$$$$$$$$$$$$$$$$"$$,$$$$$$?$$$$$$F::.
.:::::::::'$,"$$$$$$$$$$$$$$$$$P??"""",,$$$$$$F:::
::::::::::: ?$$`$$$$$$$$$$$PF"" ,,<<CC>'J$$$$$P'::::
.:::::::::::::."$h"$$$$$$$$$hc.-?????'' ,d$$$$$$'::::::
::::::::::::::::::<L"$$$$$$$$$$$$$cccccc$$$$$$$F':::::::
.:::::::::::::::::::::: ?$$$$$$$$$$$$$$$$$$$$$$$'.:::::::::
:::::::::::::::::::::::::: "?$$$$$$$$$$$$$$$$$P"::::::::::::
.::::::::::::::::::::::::::::?$ccc,`"??$$$$$$$P":::::::::::::::
.::::::::::::::::::::::::::::::$$$$$$$$$$ccciicc$$`::::::::::::::
:::::` ::::::::::::::::::::::::?$$$$$$$$$$$$$$$$$$ :::::::::::::::
:::' :::::::::::::::::::::::::?$$$$$$$$$$$$$$$$$$'::::::::::::::::
::: .::::::::::::::::::::::::::?$$$$$$$$$$$$$$$$$P:::::::::::::::::
::' :::::::::::::::::::::::::::?$$$$$$$$$$$$$$$$$F:::::::::::::::::
' ::::::::::::::::::'`.,,,.```'?$$$$$$$$$$$$$$$$$'::::::::::::::::
:::::::::::::::',zd$$$$$$$$$,`\"$$$$$$$$$$$$$$$P.:::::::::::::::
:::::::::::::'zc$$$$$$$$$$$$$$$c`\`?$$$$$$$$$$$P'::::::::::::::'
:::::::::::::'z$$$$$$$$$$$$$$$$$$$$c`! ?$$$$$$$$$F,<`::::::::::'
:::::::::::::'z$$$$$$$$$$$$$$$$$$$$$$$$c`!>"?$$$$$$:$,! .:::::''
:::::::::::::,$$$$$$$$$$$$$$$$$$$$$$$$$$b,`!!`"$$$$:$$`!'c,``
:::::::::::::J$$$$$$$$$$$$$$$$$$$$$$$$$$$$b,<!!,??$c$$F!!'$$c
::::::::::::'J$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$b`<!!!!?"",!! $$$b'c,
::::::::::::,$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$c,cc,``<!`,z$$$$L`CC,
::::::::::::J$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"<!(?$$$$$$'CCC>
:::::::::::'J$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$F<!!!!`?$$$$ CCCC
::::::::::'J$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$P"""??$$$$,!!!!! $$$$.CCCC
::::::::::,$$$$$$$$$$$$$$$$$$$$"z$$$$$P",cCCCCCCc,"?$,`!!! $$$F<CC<C
:::::::::'J$$$$$$$$$$$$$$$$$$$"f$$$P'cCCCCCCCCCCCCC>,?b,`<!?$P,CCCc,
::::::::: J$$$$$$$$$$$$$$$$$$"J$P"cCCCCCCCCCCCCCCCCCCCc"?$c$"<CCCCCC>.
::::::::'J$$$$$$$$$$$$$$$$$$P4F,cCCCCCCCCCCCCCCCCCCCCCCCc`",<CCCCCCCCC,
:::::::'J$$$$$$$$$$$$$$$$$$" cCCCCCCCCCCCCCCCCCCCCCCCCCCCc'CCCCCCCCCCC>,
:::::::,$$$$$$$$$$$$$$$$$$',CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC><>
::::::'J$$$$$$$$$$$$$$$$$F,CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC>,CC

View File

@@ -1 +0,0 @@
In this disk is stored the Turbo Pascal Compiler v3.01A

View File

@@ -1,65 +0,0 @@
program SA;
const
MaxX = 100;
MaxY = 50;
var
FileName: string[15];
procedure ClearScreen;
begin
Write(con, #27,'[2J')
end;
procedure Indent;
begin
Write(con, #27,'[10G')
end;
procedure ShowArt;
var
F: Text;
Line:string[255];
begin
assign(F, FileName);
reset(F);
while ((not Eof(F)) and (not KeyPressed)) do begin
readln(F, Line);
{Indent; }
writeln(CON, Line);
delay(12)
end;
close(f)
end;
var
Running: boolean;
Ch: char;
begin
if paramcount > 0 then begin
FileName:= Paramstr(1)
end
else begin
FileName:= 'ART.TXT'
end;
ClearScreen;
writeln('Press Q key to exit');
writeln;
Running:= true;
while Running do begin
ShowArt;
if KeyPressed then begin
read(kbd, ch);
Running:= (ch <> 'q')
end
end
end.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,101 +0,0 @@
 are not allowed
 can not be
 constant
 does not
 expression
 identifier
 file
 here
Integer
File
Illegal
 or
Undefined
 match
 real
String
Textfile
 out of range
 variable
 overflow
 expected
 type
Invalid
 pointer
01';'
02':'
03','
04'('
05')'
06'='
07':='
08'['
09']'
10'.'
11'..'
12BEGIN
13DO
14END
15OF
17THEN
18TO DOWNTO
20Boolean
21 
22 
23 
24 
25 
26 
27 
28Pointer
29Record
30Simple
31Simple
32
33
34
35
36Type
37Untyped
40 label
41Unknown syntax error
42 in preceding definitions
43Duplicate label
44Type mismatch
45
46 and CASE selector
47Operand(s) operator
48 result
49  length
50 length
51 subrange base
52Lower bound > upper bound
53Reserved word
54 assignment
55 exceeds line
56Error in integer
57Error in
58 character in
60s
61 s ands
62Structureds
63s
64s and untypeds
65Untypeds
66I/O
67 s must be parameters
68 componentss
69dering of fields
70Set base
71 GOTO
72Label not within current block
73 FORWARD procedure(s)
74INLINE error
75 use of ABSOLUTE
90 not found
91Unexpected end of source
97Too many nested WITH's
98Memory
99Compilerd WITH's
98Memory
99Compiler

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,18 +0,0 @@
The HI-TECH Z80 CP/M C compiler V3.09 is provided free of charge for any
use, private or commercial, strictly as-is. No warranty or product
support is offered or implied.
You may use this software for whatever you like, providing you acknowledge
that the copyright to this software remains with HI-TECH Software.
The software is distributed in two archive files:
Z80V309.EXE is a self-extracting lharc'ed archive containing the
entire compiler except for the library source code.
LIBSRC.EXE is a self-extracting lharc'ed archive containg the library
source code.
To de-archive these files you will need to either run them on a DOS
system, in which case they will self-extract, or use the LHARC program
to extract. LHARC is available for unix as well as DOS.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More