Generates a hexagram from the I Ching and to show the changes occurring in the hexagram.
DC will generate a hexagram, showing the moving or changing lines marked to the right. The ruling lines of the hexagram are marked to the left. DC will give you the names and number of your hexagram and the secondary hexagram if there is one.
You will have the option of looking at both the component and nuclear trigram attributes of the primary hexagram. You also have the option of entering individual lines for any of the 64 hexagrams.
An Extended mode 24 line screen copy routine (512 bytes centered in 576 plotter mode) is included for AERCO C I/F EPSON type printers.
Uses the Timex 85 Column Mode code as listed in the 2068 Technical Manual.
Content
Source Code
1 REM The DRAGON'S COMPANION Version 1.0 By R. Hurd
4 REM MEMORY MAP above RAMTOP Data at 56422, 85 Col. Mode at 57344, Utilities at 59646, Data at 59949, nothing at 61285, Extended (Double Wide) AERCO/Epson screen copy at 63000 to 63179. See line 215
5 REM **** RUN ME ****
6 REM NOTE THE M/C UTILITIES I'VE INCLUDED HAVE LIMITED ERROR TRAPS. BE CAREFUL!
10 PAPER 7: INK 9: ON ERR GO TO 8999: LET mode=8: GO SUB 110
20 POKE 57405,0: POKE 57395,85: REM SET TO 85 COLUMNS
30 LET ink=0: GO SUB 140
99 GO TO 1000
100 REM 85 COL SUBROUTINES ALL ARE LISTED WITH THE EXCEPTION OF GETATB
110 POKE 57380,mode: LET l=USR 57381: IF l<>0 THEN ON ERR RESET : STOP : REM SETMDB
115 RETURN
120 POKE 57356,strtln: POKE 57357,count: LET l=USR 57358: RETURN : REM CLRSCB
130 POKE 57351,col: POKE 57352,ln: LET l=USR 57353: RETURN : REM SETCUB
140 POKE 57361,ink: LET l=USR 57362: RETURN : REM SETATB
150 POKE 57344,char: LET l=USR 57345: RETURN : REM WRCHRB
160 POKE 57365,mask: LET l=USR 57366: RETURN : REM SETMSB
170 POKE 23747,CODE "A": LET l=USR 57348: RETURN : REM WRSTRB
180 POKE 57384,strtln: POKE 57385,count: LET l=USR 57386: RETURN : REM SCRLB
190 POKE 57369,col: POKE 57370,ln: LET l=USR 57371: RETURN : REM GTCHRB
200 LET l=USR 57377: RETURN : REM GETCUR
201 REM DC SUBROUTINES
205 LET a$="<<<<< Press SpaceBar For Menu >>>>>": LET ln=23: LET col=24: GO SUB 130: GO SUB 170
213 IF INKEY$="" THEN GO TO 213
215 REM 64 COLUMN COPY The list of init codes is at 63171 and can be modified if necessary, simply end the list with code 255. In at 63010. Address 63173 holds line spacing value, set up for text. Change to 14 or what you require for graphics copy. (eliminate line spacing.)
216 IF INKEY$="c" OR INKEY$="C" THEN LET strtln=23: LET count=1: GO SUB 120: RANDOMIZE USR 63010
217 RETURN
229 REM CLEAR 24 LINE SCREEN
230 LET count=1: LET up=11: FOR j=12 TO 23: LET strtln=j: GO SUB 120: LET strtln=up: GO SUB 120: LET up=up-1: NEXT j: RETURN
235 LET strtln=0: LET count=24: GO SUB 120: RETURN
300 REM TRIGRAM SUBROUTINE
310 IF t(1)=7 AND t(2)=7 AND t(3)=7 THEN LET tri=1: RETURN
320 IF t(1)=7 AND t(2)=8 AND t(3)=8 THEN LET tri=2: RETURN
330 IF t(1)=8 AND t(2)=7 AND t(3)=8 THEN LET tri=3: RETURN
340 IF t(1)=8 AND t(2)=8 AND t(3)=7 THEN LET tri=4: RETURN
350 IF t(1)=8 AND t(2)=8 AND t(3)=8 THEN LET tri=5: RETURN
360 IF t(1)=8 AND t(2)=7 AND t(3)=7 THEN LET tri=6: RETURN
370 IF t(1)=7 AND t(2)=8 AND t(3)=7 THEN LET tri=7: RETURN
380 IF t(1)=7 AND t(2)=7 AND t(3)=8 THEN LET tri=8: RETURN
599 REM SUBROUTINE DATA RETRIEVAL
600 FOR f=1 TO 8: READ ln: READ col: READ len: DIM b$(len): GO SUB 130: LET a$=b$: POKE 59650,66: POKE 59648,address-256*INT (address/256): POKE 59649,INT (address/256): RANDOMIZE USR 59653: GO SUB 170: LET address=PEEK 59648+256*PEEK 59649: NEXT f
605 RETURN
700 REM CHANGE INK/PAPER
710 GO SUB 235: RESTORE 7200: LET ln=3: LET col=30: GO SUB 130: LET a$="Change Ink - Paper Colors": GO SUB 170
730 LET ln=ln+1: FOR f=1 TO 10: LET ln=ln+1: GO SUB 130: READ a$: GO SUB 170: NEXT f
740 LET ln=ln+2: GO SUB 130: LET a$="Press Appropriate Key": GO SUB 170
750 IF INKEY$<>"" THEN GO TO 750
760 IF INKEY$="" THEN GO TO 760
770 IF INKEY$<"0" OR INKEY$>"8" THEN GO TO 750
780 IF INKEY$="8" THEN GO TO 1010
790 LET ink=VAL INKEY$: GO SUB 140
800 GO TO 750
1000 REM MAIN MENU
1010 LET lines=0: LET change=0: GO SUB 230: LET a$="The DRAGON'S COMPANION": LET ln=5: LET col=30: GO SUB 130: GO SUB 170
1015 LET a$="Main Menu": LET col=37: LET ln=ln+1: GO SUB 130: GO SUB 170
1020 LET a$="1) Simulate Coin Toss": LET col=30: LET ln=ln+2: GO SUB 130: GO SUB 170
1025 LET a$="2) Enter Individual Lines": LET ln=ln+1: GO SUB 130: GO SUB 170
1030 LET a$="3) Information": LET ln=ln+1: GO SUB 130: GO SUB 170
1035 LET a$="4) Change Ink/Paper Color": LET ln=ln+1: GO SUB 130: GO SUB 170
1040 LET a$="5) Quit To BASIC": LET ln=ln+1: GO SUB 130: GO SUB 170
1050 LET a$="Choose One": LET ln=ln+2: LET col=37: GO SUB 130: GO SUB 170
1100 IF INKEY$="" THEN GO TO 1100
1105 IF INKEY$="1" THEN GO TO 1210
1110 IF INKEY$="2" THEN GO TO 3010
1115 IF INKEY$="3" THEN GO TO 7005
1120 IF INKEY$="4" THEN GO TO 710
1130 IF INKEY$="5" THEN GO TO 8990
1150 GO TO 1100
1200 REM COIN TOSS
1210 LET q$="": GO SUB 235: LET a$="The DRAGON'S COMPANION 1.0": LET ln=0: LET col=0: GO SUB 130: GO SUB 170
1220 LET col=7: LET a$="Do you have a specific question or thought to focus on? (Yes or No)": LET ln=20: GO SUB 130: GO SUB 170
1230 POKE 23658,8
1240 IF INKEY$="" THEN GO TO 1240
1250 IF INKEY$="Y" THEN POKE 23658,0: GO TO 1300
1260 IF INKEY$="N" THEN POKE 23658,0: LET q$="Thoughts for now!": GO TO 1400
1270 GO TO 1240
1299 REM SINGLE LINE EDITOR M/C subroutine. Before calling set cursor position. In at 59749. Accepts text and DELETE, ENTER to exit. Use GETCHRB to retrieve data.
1300 LET q$="": LET strtln=2: LET count=22: GO SUB 120
1310 LET col=0: LET a$="Input your thought or question": LET ln=20: GO SUB 130: GO SUB 170
1320 LET ln=23: GO SUB 130: RANDOMIZE USR 59749
1330 LET ln=23: FOR f=0 TO (PEEK 59651-1)
1340 LET col=f: GO SUB 190
1350 LET q$=q$+CHR$ l: NEXT f
1360 LET strtln=22: LET count=2: GO SUB 180
1370 POKE 23658,8: LET a$="Is this O.K.? (Yes or No)": LET ln=23: LET col=0: GO SUB 130: GO SUB 170
1380 IF INKEY$="" THEN GO TO 1380
1385 IF INKEY$="N" THEN POKE 23658,0: GO TO 1300
1390 IF INKEY$<>"Y" THEN GO TO 1380
1395 POKE 23658,0
1400 LET strtln=2: LET count=22: GO SUB 120
1405 LET ln=1: LET col=0: GO SUB 130: LET a$=q$: GO SUB 170
1410 LET y$=CHR$ 146+CHR$ 146+CHR$ 146+CHR$ 146+CHR$ 146+CHR$ 146+CHR$ 146+CHR$ 146
1420 LET z$=CHR$ 146+CHR$ 146+CHR$ 146+" "+CHR$ 146+CHR$ 146+CHR$ 146
1430 LET a$="Naturally Correct": LET col=84-LEN a$: LET ln=3: GO SUB 130: GO SUB 170: LET a$="Line Position": LET col=82-LEN a$: LET ln=4: GO SUB 130: GO SUB 170
1435 LET a$="Nature Aspect": LET ln=3: LET col=38: GO SUB 130: GO SUB 170
1440 LET a$="Heaven Wisdom": LET ln=5: LET col=38: GO SUB 130: GO SUB 170: LET a$=z$: LET col=71: GO SUB 130: GO SUB 170
1445 LET a$="Heaven Authority": LET ln=6: LET col=38: GO SUB 130: GO SUB 170: LET a$=y$: LET col=71: GO SUB 170: GO SUB 170
1450 LET a$="Man Social Consciousness": LET ln=7: LET col=38: GO SUB 130: GO SUB 170: LET a$=z$: LET col=71: GO SUB 130: GO SUB 170
1455 LET a$="Man Individual Endeavors": LET ln=8: LET col=38: GO SUB 130: GO SUB 170: LET a$=y$: LET col=71: GO SUB 130: GO SUB 170
1460 LET a$="Earth Self Interest": LET ln=9: LET col=38: GO SUB 130: GO SUB 170: LET a$=z$: LET col=71: GO SUB 130: GO SUB 170
1465 LET a$="Earth Instincts": LET ln=10: LET col=38: GO SUB 130: GO SUB 170: LET a$=y$: LET col=71: GO SUB 130: GO SUB 170
1470 RESTORE 7390: DIM e(3): DIM d(6): DIM c(6): DIM d$(6,9): DIM c$(6,9)
1472 IF lines THEN RETURN
1475 LET a$="Press SpaceBar To Toss Coin": LET ln=23: LET col=29: GO SUB 130: GO SUB 170
1480 RANDOMIZE : FOR f=1 TO 6
1485 READ a$: LET a$=a$+" Line": READ ln: LET col=0: GO SUB 130: GO SUB 170
1495 LET col=7
1500 FOR g=1 TO 3
1505 IF INKEY$<>"" THEN GO TO 1505
1510 IF INKEY$="" THEN GO TO 1510
1515 LET e(g)=INT (RND*2)+2: REM Coin Tosser
1520 LET col=col+5: GO SUB 130
1530 IF e(g)=2 THEN LET a$="yin"
1540 IF e(g)=3 THEN LET a$="yang"
1550 GO SUB 170
1560 NEXT g
1570 FOR g=1 TO 3: LET d(f)=d(f)+e(g): NEXT g
1580 IF d(f)=6 THEN LET d$(f)=z$+CHR$ 145
1590 IF d(f)=7 THEN LET d$(f)=y$
1600 IF d(f)=8 THEN LET d$(f)=z$
1610 IF d(f)=9 THEN LET d$(f)=y$+CHR$ 145
1620 LET col=col+5: GO SUB 130: LET a$=d$(f): GO SUB 170
1630 LET c(f)=d(f)
1640 IF c(f)=6 THEN LET c(f)=7
1650 IF c(f)=9 THEN LET c(f)=8
1660 IF c(f)=7 THEN LET c$(f)=y$
1670 IF c(f)=8 THEN LET c$(f)=z$
1680 IF lines THEN RETURN
1690 NEXT f
1695 LET strtln=23: LET count=1: GO SUB 120
1700 REM HEXAGRAM LOOKUP TABLE
1710 DIM h(8,8)
1720 RESTORE 7400: FOR f=1 TO 8: FOR g=1 TO 8: READ h(f,g): NEXT g: NEXT f
1730 FOR f=1 TO 6
1735 IF d(f)=9 THEN LET d(f)=7: LET change=1
1740 IF d(f)=6 THEN LET d(f)=8: LET change=1
1750 NEXT f
1759 REM TRIGRAM LOOKUP
1760 DIM t(3)
1770 FOR f=1 TO 3: LET t(f)=d(f): NEXT f: GO SUB 310: LET lpt=tri
1780 FOR f=1 TO 3: LET t(f)=d(f+3): NEXT f: GO SUB 310: LET upt=tri
1790 FOR f=1 TO 3: LET t(f)=c(f): NEXT f: GO SUB 310: LET lst=tri
1800 FOR f=1 TO 3: LET t(f)=c(f+3): NEXT f: GO SUB 310: LET ust=tri
1810 FOR f=1 TO 3: LET t(f)=d(f+2): NEXT f: GO SUB 310: LET unt=tri
1820 FOR f=1 TO 3: LET t(f)=d(f+1): NEXT f: GO SUB 310: LET lnt=tri
1899 REM DISPLAY PRIMARY HEXAGRAM
1940 LET ln=4: LET col=30: GO SUB 130: LET a$=STR$ h(lpt,upt): GO SUB 170
1950 RESTORE h(lpt,upt)+7100: READ e$: READ r1: READ r2: LET a$="Your Hexagram: "+e$: LET ln=2: LET col=0: GO SUB 130: GO SUB 170
1960 DIM b$(15): LET a$=b$: LET col=12: FOR f=5 TO 10: LET ln=f: GO SUB 130: GO SUB 170: NEXT f
1970 LET a$="Cosmic Ideals": LET ln=6: GO SUB 130: GO SUB 170: LET char=47: LET ln=5: LET col=25: GO SUB 130: GO SUB 150: LET ln=7: GO SUB 130: LET char=92: GO SUB 150
1980 LET col=12: LET a$="Human Affairs": LET ln=9: GO SUB 130: GO SUB 170: LET col=25: LET ln=8: GO SUB 130: LET char=47: GO SUB 150: LET ln=10: GO SUB 130: LET char=92: GO SUB 150
1990 LET col=26: LET ln=11-r1: GO SUB 130: LET char=144: GO SUB 150
2000 IF r2 THEN LET ln=11-r2: GO SUB 130: GO SUB 150
2010 LET strtln=23: LET count=1: GO SUB 120
2020 IF NOT change THEN LET strtln=15: LET count=7: GO SUB 120: LET ln=17: LET col=18: LET a$="There is no movement in your hexagram, no change": GO SUB 130: GO SUB 170: GO TO 2110
2030 REM LET ln=13: LET col=0: GO SUB 130: RESTORE h(lst,ust)+7100: READ x$: READ r1: READ r2: LET a$="Changing To: "+x$: GO SUB 170
2039 REM M/C LINE COPY Before calling, POKE 59856, Starting line. 59857, Destination line. 59858, # of lines to copy. In at 59862
2040 POKE 59856,3: POKE 59857,14: POKE 59858,8: RANDOMIZE USR 59862
2045 LET ln=13: LET col=0: GO SUB 130: RESTORE h(lst,ust)+7100: READ x$: READ r1: READ r2: LET a$="Changing To: "+x$: GO SUB 170
2050 LET ln=15: LET col=30: LET a$=" ": GO SUB 130: GO SUB 170
2060 GO SUB 130: LET a$=STR$ h(lst,ust): GO SUB 170
2070 LET col=27: LET lin=6: FOR f=16 TO 21: LET a$=c$(lin): LET lin=lin-1: LET ln=f: GO SUB 130: GO SUB 170: NEXT f
2080 LET col=26: LET char=32: FOR f=16 TO 21: LET ln=f: GO SUB 130: GO SUB 150: NEXT f
2090 LET col=26: LET ln=22-r1: GO SUB 130: LET char=144: GO SUB 150
2100 IF r2 THEN LET ln=22-r2: GO SUB 130: GO SUB 150
2110 RESTORE 7640: READ a$: LET ln=23: LET col=43-LEN a$/2: GO SUB 130: GO SUB 170
2120 IF INKEY$="" THEN GO TO 2130
2130 IF INKEY$="1" THEN GO TO 4000
2140 IF INKEY$="2" THEN LET strtln=23: LET count=1: GO SUB 120: RANDOMIZE USR 63010: GO TO 2110
2150 IF INKEY$="3" THEN GO TO 1010
2160 GO TO 2120
2170 GO TO 4000
3000 REM INDIVIDUAL LINES
3010 RESTORE 7390: LET lines=1: LET strtln=0: LET count=24: GO SUB 120
3020 LET a$="The DRAGON'S COMPANION 1.0": LET ln=0: LET col=0: GO SUB 130: GO SUB 170: LET q$="Thoughts For Now!": LET a$=q$: LET ln=1: GO SUB 130: GO SUB 170
3030 GO SUB 1400
3040 LET ln=14: LET col=40: GO SUB 130
3050 LET a$="6) "+z$+CHR$ 145: GO SUB 170
3060 LET ln=ln+2: GO SUB 130: LET a$="7) "+y$: GO SUB 170
3070 LET ln=ln+2: GO SUB 130: LET a$="8) "+z$: GO SUB 170
3080 LET ln=ln+2: GO SUB 130: LET a$="9) "+y$+CHR$ 145: GO SUB 170
3090 LET ln=17: LET col=0: GO SUB 130
3100 LET a$="Press Corresponding Key To Choose >": GO SUB 170
3110 FOR f=1 TO 6
3115 READ a$: READ ln: LET col=0: GO SUB 130: LET a$=a$+" Line": GO SUB 170
3120 IF INKEY$<>"" THEN GO TO 3120
3130 IF INKEY$="" THEN GO TO 3130
3140 IF INKEY$<"6" OR INKEY$>"9" THEN GO TO 3120
3150 LET d(f)=VAL INKEY$
3170 LET col=22: GO SUB 130: GO SUB 1580
3180 NEXT f
3190 LET strtln=12: LET count=11: GO SUB 120
3200 LET ln=18: LET col=29: GO SUB 130
3210 LET a$="Is This O.K.? (Yes or No)": GO SUB 170
3220 POKE 23658,8: IF INKEY$="" THEN GO TO 3220
3230 IF INKEY$="Y" THEN POKE 23658,0: LET strtln=18: LET count=1: GO SUB 120: GO TO 1710
3240 IF INKEY$="N" THEN POKE 23658,0: GO TO 3010
3250 GO TO 3220
3260 GO SUB 210: GO TO 1010
3999 REM PRIMARY TRIGRAMS DISPLAY
4000 GO SUB 235: RESTORE 7600: READ a$: LET ln=0: LET col=28: GO SUB 130: GO SUB 170: READ a$: LET col=29: LET ln=12: GO SUB 130: GO SUB 170
4010 READ a$: LET ln=1: LET col=0: GO SUB 130: GO SUB 170: LET ln=13: GO SUB 130: GO SUB 170
4020 READ a$: READ col: FOR f=1 TO 4: READ ln: GO SUB 130: GO SUB 170: NEXT f
4030 READ a$: FOR f=1 TO 4: READ ln: GO SUB 130: GO SUB 170: NEXT f
4040 RESTORE 7479+upt: READ address: LET col=0: LET lin=6: FOR f=3 TO 5: LET ln=f: GO SUB 130: LET a$=d$(lin): GO SUB 170: LET lin=lin-1: NEXT f: RESTORE 7550: GO SUB 600
4050 RESTORE 7479+lpt: READ address: LET col=0: LET lin=3: FOR f=8 TO 10: LET ln=f: GO SUB 130: LET a$=d$(lin): GO SUB 170: LET lin=lin-1: NEXT f: RESTORE 7560: GO SUB 600
4060 RESTORE 7479+unt: READ address: LET col=0: LET lin=5: FOR f=15 TO 17: LET ln=f: GO SUB 130: LET a$=d$(lin): GO SUB 170: LET lin=lin-1: NEXT f: RESTORE 7570: GO SUB 600
4070 RESTORE 7479+lnt: READ address: LET col=0: LET lin=4: FOR f=20 TO 22: LET ln=f: GO SUB 130: LET a$=d$(lin): GO SUB 170: LET lin=lin-1: NEXT f: RESTORE 7580: GO SUB 600
4080 RESTORE 7630: READ a$: LET ln=23: LET col=43-LEN a$/2: GO SUB 130: GO SUB 170
4090 IF INKEY$="" THEN GO TO 4090
4100 IF INKEY$="1" THEN LET strtln=23: LET count=1: GO SUB 120: RANDOMIZE USR 63010: GO TO 4080
4110 IF INKEY$="2" THEN GO TO 1010
4120 GO TO 4090
7000 REM INFORMATION RETRIEVAL M/C Word Wrap subroutine. The variable data, points to address of ASCII code. Routine copies code to string A$ and returns to BASIC. Before calling set A$ length (I used a dummy dimensioned string B$). Also poke 59650, max line length wanted. In at 59653. After calling, the value in Address 59648,9 points to the next byte of data.
7005 GO SUB 235: DIM b$(85)
7010 POKE 59650,85: LET data=59949: POKE 59648,data-256*INT (data/256): POKE 59649,INT (data/256): LET col=0: LET ln=0: GO SUB 130
7020 LET a$=b$: RANDOMIZE USR 59653: GO SUB 170
7030 IF PEEK (PEEK 59648+256*PEEK 59649)=255 THEN GO SUB 205: GO TO 1010
7040 GO TO 7020
7100 REM HEXAGRAM NAMES, RULING LINES
7101 DATA "CH'IEN CREATIVE POWER (The Creative)",5,0
7102 DATA "K'UN NATURAL RESPONSE (The Receptive)",2,0
7103 DATA "CHUN DIFFICULT BEGINNINGS (Difficulty at the Beginning)",1,5
7104 DATA "MENG INEXPERIENCE (Youthful Folly)",2,5
7105 DATA "HSU CALCULATED WAITING (Waiting (Nourishment))",5,0
7106 DATA "SUNG CONFLICT",5,0
7107 DATA "SHIH COLLECTIVE FORCE (The Army)",2,5
7108 DATA "PI UNITY (Holding Together (Union))",5,0
7109 DATA "HSIAO CH'U RESTRAINED (The Taming Power of the Small)",5,0
7110 DATA "LU CONDUCT (Treading)",5,0
7111 DATA "T'AI PROSPERING (Peace)",2,5
7112 DATA "P'I STAGNATION (Standstill)",5,0
7113 DATA "T'UNG JEN COMMUNITY (Fellowship With Men)",2,5
7114 DATA "TA YU SOVEREIGNTY (Possession in Great Measure)",5,0
7115 DATA "CH'IEN MODERATION (Modesty)",3,0
7116 DATA "YU HARMONIZE (Enthusiasm)",4,0
7117 DATA "SUI ADAPTING (Following)",1,5
7118 DATA "KU REPAIR (Work On What Has Been Spoiled (Decay))",5,0
7119 DATA "LIN PROMOTION (Approach)",1,2
7120 DATA "KUAN CONTEMPLATING (Contemplation (View))",5,6
7121 DATA "SHIH HO REFORM (Biting Through)",5,0
7122 DATA "PI GRACE",2,6
7123 DATA "PO DETERIORATION (Splitting Apart)",6,0
7124 DATA "FU RETURNING (Return (The Turning Point))",1,0
7125 DATA "WU WANG INNOCENCE (The Unexpected)",1,5
7126 DATA "TA CH'U POTENTIAL ENERGY (The Taming Power of the Great)",5,6
7127 DATA "I NOURISHING (The Corners of the Mouth (Providing Nourishment))",5,6
7128 DATA "TA KUO CRITICAL MASS (Preponderance of the Great)",2,4
7129 DATA "K'AN DANGER (The Abysmal (Water))",2,5
7130 DATA "LI SYNERGY (The Clinging, Fire)",2,5
7131 DATA "HSIEN ATTRACTION (Influence (Wooing))",4,5
7132 DATA "HENG CONTINUING (Enduring (Duration))",2,0
7133 DATA "TUN RETREAT",5,0
7134 DATA "TA CHUANG GREAT POWER (The Power of the Great)",4,0
7135 DATA "CHIN PROGRESS",5,0
7136 DATA "MING I CENSORSHIP (Darkening of the Light)",2,5
7137 DATA "CHIA JEN FAMILY (The Clan)",2,5
7138 DATA "K'UEI CONTRADICTION (Opposition)",2,5
7139 DATA "CHIEN OBSTACLES (Obstruction)",5,0
7140 DATA "HSIEH LIBERATION (Deliverance)",2,5
7141 DATA "SUN DECLINE (Decrease)",5,0
7142 DATA "I BENEFIT (Increase)",2,5
7143 DATA "KUAI RESOLUTION (Breakthrough (Resoluteness))",5,0
7144 DATA "KOU TEMPTATION (Coming to Meet)",2,5
7145 DATA "TS'UI ASSEMBLING (Gathering Together (Massing))",4,5
7146 DATA "SHENG ADVANCEMENT (Pushing Upward)",5,0
7147 DATA "K'UN ADVERSITY (Oppression (Exhaustion))",2,5
7148 DATA "CHING THE SOURCE (The Well)",5,0
7149 DATA "KO CHANGING (Revolution (Molting))",5,0
7150 DATA "TING COSMIC ORDER (The Cauldron)",5,6
7151 DATA "CHEN SHOCKING (The Arousing (Shock, Thunder))",1,0
7152 DATA "KEN MEDITATION (Keeping Still, Mountain)",6,0
7153 DATA "CHIEN DEVELOPING (Development (Gradual Progress))",2,5
7154 DATA "KUEI MEI SUBORDINATE (The Marrying Maiden)",5,0
7155 DATA "FENG ZENITH (Abundance (Fullness))",5,0
7156 DATA "LU TRAVELING (The Wanderer)",5,0
7157 DATA "SUN PENETRATING INFLUENCE (The Gentle (The Penetrating, Wind))",5,0
7158 DATA "TUI ENCOURAGING (The Joyous, Lake)",2,5
7159 DATA "HUAN REUNITING (Dispersion (Dissolution))",5,0
7160 DATA "CHIEH LIMITATIONS",5,0
7161 DATA "CHUNG FU INSIGHT (Inner Truth)",5,0
7162 DATA "HSIAO KUO CONSCIENTIOUS (Preponderance of the Small)",2,5
7163 DATA "CHI CHI AFTER THE END (After Completion)",2,0
7164 DATA "WEI CHI BEFORE THE END (Before Completion)",5,0
7199 REM MENU DATA & SCREEN PARAMETERS
7200 DATA "0) Black - White","1) Blue - Yellow","2) Red - Cyan","3) Magenta - Green","4) Green - Magenta","5) Cyan - Red","6) Yellow - Blue","7) White - Black"," ","8) Return To Main Menu"
7389 REM SCREEN PARAMETERS
7390 DATA "Bottom",10,"Second",9,"Third",8,"Fourth",7,"Fifth",6,"Top",5
7399 REM HEXAGRAM LOOKUP CHART
7400 DATA 1,34,5,26,11,9,14,43
7410 DATA 25,51,3,27,24,42,21,17
7420 DATA 6,40,29,4,7,59,64,47
7430 DATA 33,62,39,52,15,53,56,31
7440 DATA 12,16,8,23,2,20,35,45
7450 DATA 44,32,48,18,46,57,50,28
7460 DATA 13,55,63,22,36,37,30,49
7470 DATA 10,54,60,41,19,61,38,58
7479 REM TRIGRAM DATA ABOVE RAMTOP
7480 DATA 56422
7481 DATA 56520
7482 DATA 56625
7483 DATA 56750
7484 DATA 56873
7485 DATA 56992
7486 DATA 57109
7487 DATA 57232
7549 REM SCREEN PARAMETERS
7550 DATA 3,15,32,2,0,32,4,20,65,2,21,32,2,32,32,2,50,32,2,57,15,2,72,13
7560 DATA 8,15,32,7,0,32,9,20,65,7,21,32,7,32,32,7,50,15,7,57,15,7,72,13
7570 DATA 15,15,32,14,0,32,16,20,65,14,21,32,14,32,32,14,50,13,14,57,14,14,72,13
7580 DATA 20,15,32,19,0,32,21,20,65,19,21,32,19,32,32,19,50,15,19,57,15,19,72,13
7600 DATA "<<<<< COMPONENT TRIGRAMS >>>>>","<<<<< NUCLEAR TRIGRAMS >>>>>"
7605 DATA "---- IMAGE -------- DIRECTION - RELATION ------- BODY - TIME OF YEAR - TIME OF DAY --"
7610 DATA "NAME:",10,3,8,15,20
7620 DATA "QUALITIES:",4,9,16,21
7630 DATA "* OPTIONS * 1) COPY 2) MAIN MENU * CHOOSE *"
7640 DATA "* OPTIONS * 1) TRIGRAM ATTRIBUTES 2) COPY 3) MAIN MENU * CHOOSE *"
8999 LET strln=0: LET count=24: GO SUB 120: CLS : LET mode=0: GO SUB 110: ON ERR RESET : STOP
9991 PRINT AT 3,0;: LOAD ""CODE
9992 DATA 0,192,176,136,136,176,192,0,0,12,52,68,68,52,12,0,0,0,252,252,252,252,0,0: RESTORE 9992: FOR f=0 TO 23: READ a: POKE (USR "a"+f),a: NEXT f
9993 SOUND 7,56;8,16;9,16;10,16;12,75;13,0;0,251;1,0;2,139;3,0;4,167;5,0
9994 PRINT #1;AT 1,4;"Press SpaceBar For Menu"
9995 IF INKEY$="" THEN GO TO 9995
9997 CLEAR 56421: GO TO 10
9999 CLEAR : SAVE "D_C" LINE 9991: SAVE "DC&Timex85"CODE 56422,6758: BEEP .1,10: PRINT " Rewind Tape And Play To Verify": VERIFY "": VERIFY ""CODE : RUN