home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
- ╫╔╬─╧╫ ╫╧╬─┼╥
- ╞╧╥ ├-128, 80-├╧╠╒═╬ ╘┼╪╘ ╙├╥┼┼╬ ╫╔╘╚ ╥╟┬╔ ═╧╬╔╘╧╥
-
- ┼VEN THE MOST CAREFULLY WRITTEN PROGRAM CAN TAKE SEVERAL SECONDS
- TO CREATE AN ELABORATE TEXT SCREEN OR MENU. ╔F THE PROGRAM DEPENDS
- UPON SPEED TO PRODUCE A DESIRED IMPACT OR REDUCE WAITING TIME FOR THE
- USER, ╫INDOW ╫ONDER MAY BE HELPFUL.
- ╫INDOW ╫ONDER, A MACHINE LANGUAGE UTILITY WRITTEN FOR THE
- ├OMMODORE ├-128, ALLOWS THE CONTENTS OF THE ENTIRE 80-COLUMN TEXT
- SCREEN OR OF A SUB-WINDOW TO BE ALTERNATELY STORED INTO MEMORY AND THEN
- RESTORED TO THE SCREEN. ┬┴╙╔├ 7.0'S ╫╔╬─╧╫ COMMAND, HOWEVER USEFUL,
- LACKS THE PROVISION TO RESTORE THE SCREEN ONCE THE ╫╔╬─╧╫ IS REMOVED.
- ╫INDOW ╫ONDER ALLOWS THE EMULATION OF PULL-DOWN MENUS HERETOFORE FOUND
- ONLY IN THE MOST POWERFUL HOME COMPUTERS.
- ╘HE ├-128 EIGHTY-COLUMN SCREEN MEMORY IS A SEPARATE 16╦ OF ╥┴═
- CONTAINED IN THE 8563 CHIP. ╘HE SCREEN CAN BE ACCESSED ONLY THROUGH
- TWO REGISTERS SHARED BY THE 8563 CHIP AND THE ├-128 ╔/╧ MEMORY: THE
- ADDRESS REGISTER (54784) AND THE DATA REGISTER (54785) THROUGH WHICH
- ALL INFORMATION MUST SERIALLY PASS TO BE PRINTED TO THE SCREEN. ╙INCE
- THE 8563 CHIP IS SERVICED BY ITS OWN INTERRUPT CYCLE, TIMING IS
- ULTIMATELY IMPORTANT TO INSURE THAT THE DATA REGISTER CONTAINS VALID
- INFORMATION. ╔F THE TASK OF READING DATA FROM THE 8563 CHIP IS
- ATTEMPTED IN ┬┴╙╔├, THE RESULT IS PAINFULLY SLOW. ═ACHINE LANGUAGE,
- HOWEVER, PROVIDES A LIGHTNING FAST TRANSFER OF DATA.
-
- ─╧╫╬╠╧┴─╔╬╟ ╘╚┼ ╫╔╬─╧╫ ╫╧╬─┼╥ ╞╔╠┼╙
- ╘HE ╫INDOW ╫ONDER MACHINE LANGUAGE ROUTINE, CALLED ╫╔╬─╧╫.┬╔╬/BINARY
- IN THIS ─╠, SHOULD BE SAVED TO DISK AS "WINDOW.OBJ". ╧NCE WINDOW.OBJ
- IS LOADED INTO MEMORY AND INITIALIZED YOU MAY ┬╙┴╓┼ THE FILE ON AS MANY
- DISKS AS YOU LIKE BY ENTERING THE FOLLOWING STATEMENT FOLLOWED BY
- ╥┼╘╒╥╬: ┬╙┴╓┼"╫╔╬─╧╫.╧┬╩", ┬0, ╨8192 ╘╧ ╨8864.
- ┴N OPTIONAL DEMONSTRATION PROGRAM WRITTEN IN ┬┴╙╔├, "╫╔╬─┼═.┬╔╬/BINARY,
- SHOWS HOW ╫INDOW ╫ONDER IS EASILY USED IN ┬┴╙╔├ PROGRAMMING. ╘HE ASSEMBLER
- SOURCE CODE IS ALSO INCLUDED FOR YOUR INFORMATION. ╘HE SOURCE CODE IS A
- SEQUENTIAL FILE CALLED "╫╔╬╙╥├.╙┼╤", AND SHOULD BE READ OR PRINTED IN
- ALL CAPITAL LETTERS (PRINTER SECONDARY ADDRESS = 0).
-
- ╙╔═╨╠┼ ╙┘╬╘┴╪
- ╔T IS NOT NECESSARY THAT THE ╫INDOW ╫ONDER USER HAVE ANY
- ANY KNOWLEDGE OF ═╠ PROGRAMMING AS LONG AS A FEW SIMPLE RULES ARE
- OBSERVED. ╙INCE THE 80-COL. SCREEN CAN FILL MOST OF THE 8563 ╥┴═, IT
- WAS DIFFICULT TO FIND A SUITABLY LARGE UNUSED AREA IN BANK 0 OF ├-128
- MEMORY IN WHICH TO STORE SCREEN DATA. ╔ FINALLY DECIDED TO USE THE 8╦
- BLOCK OF ╥┴═ OCCUPIED BY THE ╓╔├ BITMAP BEGINNING AT LOCATION 8192. ═Y
- RATIONALE WAS THAT MOST PROGRAMS UTILIZING THE 80-COL. SCREEN HANDLE
- TEXT AND DON'T REQUIRE THE BITMAP. ╬ORMALLY ┬┴╙╔├ PROGRAM TEXT BEGINS
- AT 8192. ╫HEN THE BITMAP IS ALLOCATED BY USING THE COMMAND "╟╥┴╨╚╔├ 1"
- THE ┬┴╙╔├ PROGRAM IS MOVED TO ╥┴═ UNDERLYING ┬┴╙╔├ ╠╧ ╥╧═.
- ┴LTHOUGH THE ╫INDOW ╫ONDER ═╠ ROUTINE ALLOCATES AND CLEARS THE
- ╓╔├ BITMAP DURING INITIALIZATION, IT IS NECESSARY TO ISSUE THE ┬┴╙╔├
- COMMAND "╟╥┴╨╚╔├ 1,1:╟╥┴╨╚╔├ 0" (OR "╟╥┴╨╚╔├ 1,1:╟╥┴╨╚╔├ 5" IF YOU ARE
- ALREADY USING THE 80-COL.SCREEN) WHEN ┬╠╧┴─ING THE BINARY FILE FROM A
- ┬┴╙╔├ PROGRAM. ╔F THIS IS NOT DONE THE ═╠ CODE WILL BE LOADED RIGHT
- OVER THE ┬┴╙╔├ PROGRAM.
-
-
-
-
-
-
-
-
-
-
-
- ╫╔╬─╧╫ ╫╧╬─┼╥ PAGE 2
-
- ╫INDOW ╫ONDER IS INITIALIZED BY THE COMMAND ╙┘╙ 8192.
- ╔NITIALIZATION ALLOCATES AND CLEARS THE BITMAP, MOVES ┬┴╙╔├ PROGRAM
- TEXT, PRINTS A MESSAGE TO THE SCREEN, AND SETS THE ROUTINE TO "STORE"
- MODE. ╘HE COMMAND ╙┘╙ 8500 ALTERNATELY "STORES" AND THEN "RESTORES"
- THE 80-COL. SCREEN. ╫INDOW ╫ONDER HAS A "BACK DOOR" WHICH INITIALIZES
- THE ROUTINE WITHOUT PRINTING THE OPENING MESSAGE. ╘HEN IT RESETS TO
- THE STORE MODE, DUMPING ANY OLD SCREEN PREVIOUSLY STORED. ╔ CALL ╙┘╙
- 8463 THE "BACK DOOR" BECAUSE ORIGINALLY ╔ WASN'T GOING TO DOCUMENT
- IT. ╙EE THE FLOW CHART BELOW FOR A MORE GRAPHIC EXPLANATION.
-
- ╨╥╧╟╥┴══╔╬╟ ╨╥╧├┼─╒╥┼╙ ╞╠╧╫ ├╚┴╥╘
- ╒└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└╔ ╒└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└╔
- ▌ STARTING IN DIRECT MODE ▌ ▌ STARTING IN BASIC PRG. ▌
- ╩└└└└└└└└└└└└└└└2└└└└└└└└└└└└└└└╦ ╩└└└└└└└└└└└└└└└2└└└└└└└└└└└└└└└╦
- ▌ ▌
- ╒└└└└└└└└└└└└└└└1└└└└└└└└└└└└└└└╔ ╒└└└└└└└└└└└└└└└1└└└└└└└└└└└└└└└╔
- ▌ BLOAD 'WINDOW.OBJ', B0, P8192 ▌ ▌MOVE BASIC, CLR MAP:GRAPHIC 1,1▌
- ▌ INITIALIZE: SYS 8192 ▌ ╩└└└└└└└2└└└└└└└└└└└└└└└└2└└└└└└╦
- ╩└└└└└└└2└└└└└└└└└└└└└└└2└└└└└└└╦ ▌ ▌
- ▌ ▌ ╒└└└└└└└1└└└└└└╔ ╒└└└└└└└1└└└└└└╔
- ╒└└└└└└└1└└└└└└╔ ╒└└└└└└1└└└└└└└╔ ▌ 40 COL. SCRN.▌ ▌ 80 COL. SCRN.▌
- ▌ 40 COL. SCRN.▌ ▌ 80 COL. SCRN.▌ ▌ GRAPHIC 0 ▌ ▌ GRAPHIC 5 ▌
- ▌CHANGE TO RGBI▌ ╩└└└└└└2└└└└└└└╦ ╩└└└└└└└2└└└└└└╦ ╩└└└└└└└2└└└└└└╦
- ╩└└└└└└└2└└└└└└╦ ▌ ▌ ▌
- ▌ ▌ ╒└└└└└└└1└└└└└└└└└└└└└└└└1└└└└└└╔
- ╒└└└└└└└1└└└└└└└└└└└└└└└1└└└└└└└╔ ▌ BLOAD 'WINDOW.OBJ', B0, P8192 ▌
- ▌ DEVELOP OR LOAD BASIC PROGRAM ▌ ▌ INITIALIZE: SYS 8192 ▌
- ▌ RUN ▌ ╩└└└└└└└2└└└└└└└└└└└└└└└└2└└└└└└╦
- ╩└└└└└└└└└└└└└└└2└└└└└└└└└└└└└└└╦ ▌ ▌
- ▌ ╒└└└└└└└1└└└└└└╔ ╒└└└└└└└1└└└└└└╔
- ▌ ▌ 40 COL. SCRN.▌ ▌ 80 COL. SCRN.▌
- ▌ ▌CHANGE TO RGBI▌ ╩└└└└└└└2└└└└└└╦
- ▌ ╩└└└└└└└2└└└└└└╦ ▌
- ╒└└└└└└└└└└└└└└└1└└└└└└└└└└└└└└└└└└└└└└└└└1└└└└└└└└└└└└└└└└1└└└└└└╔
- ▌ TO STORE: SET WINDOW & SYS 8500 THEN CLEAR WINDOW & PRINT MENU ▌
- ▌ TO RESTORE: SYS8500 THEN CHANGE WINDOW BACK AGAIN _.
- ╩└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└2└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└╦^
- ▌ ^
- ╒└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└1└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└╔^
- ▌ IF NMI (RUN/STOP, RESTORE) OCCURS THEN USE RESET: SYS 8463 +=
- ╩└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└└╦
-
- ╔═╨╧╥╘┴╬╘ ╔╬╞╧╥═┴╘╔╧╬
- ╥EMEMBER THAT ╦ERNAL AND ┬┴╙╔├ ╥╧═, ╥┴═(0) AND ╔/╧ MEMORY MUST BE
- BROUGHT INTO CONTEXT (┬┴╬╦ 15) WHEN WINDOW.OBJ IS CALLED TO PREVENT
- THE OCCURRENCE OF A SYSTEM CRASH. ╔T IS IMPORTANT THAT THE ╫╔╬─╧╫ SIZE
- NOT BE CHANGED PRIOR TO RESTORING THE SCREEN. ┴LSO BE CERTAIN TO STORE
- A WINDOW BEFORE CLEARING IT OR YOU WILL SUBSEQUENTLY RESTORE A CLEARED
- WINDOW.
-
- ╫╔╬─╧╫ ╫╧╬─┼╥ ╘┼╙╘
- ┘OU MAY TEST ╫INDOW ╫ONDER IN THE DIRECT MODE BY ENTERING THE
- COMMAND ╙┘╙ 8500 TO STORE THE SCREEN, PRESS ╙╚╔╞╘ & ├╠╥/╚╧═┼ TO
- CLEAR THE SCREEN, AND ╙┘╙ 8500 AGAIN TO RESTORE THE SCREEN. ╘HE CURSOR
-
-
-
-
-
-
-
-
-
-
- ╫╔╬─╧╫ ╫╧╬─┼╥ PAGE 3
-
- RETURNS TO THE SCREEN AT THE SAME POSITION IT WAS WHEN THE ═╠ ROUTINE
- WAS CALLED. ╘HIS TEST SHOWS HOW WINDOW.OBJ MAY BE USED TO QUICKLY
- STORE AND SUBSEQUENTLY RESTORE A COMPLEX SCREEN WITHOUT USING THE
- ╫╔╬─╧╫ COMMAND.
-
- ╨╥┴├╘╔├┴╠ ─┼═╧╬╙╘╥┴╘╔╧╬
- ╫╔╬─┼═.┬╔╬/BINARY, IS A ┬┴╙╔├ PROGRAM THAT SIMULATES AN
- EIGHTY-COL. TERMINAL. ╘HIS PROGRAM USES PULL-DOWN MENUS WHICH MAY BE
- CALLED BY PRESSING ├╧╬╘╥╧╠ AND 1, 2 OR 3. ╨RESS "7" TO EXIT A MENU AND
- TO RETURN TO "TERMINAL" MODE. ╘HE DEMO IS NOT A FUNCTIONING TERMINAL
- BUT A PRACTICAL EXAMPLE OF HOW ╫INDOW ╫ONDER MAY BE USED IN YOUR OWN
- PROGRAMMING. ┬Y ╠╔╙╘ING THE PROGRAM TO THE SCREEN, THE LINES SHOWING
- SPECIFIC EXAMPLES WILL BE HIGHLIGHTED.
-
- ├╧╬╘╔╬╟┼╬├┘
- ┴LL ╫INDOW ╫ONDER FILES COPYRIGHT 1987 BY ╥ON ╠E═ON BUT ARE
- PLACED IN THE PUBLIC DOMAIN CONTINGENT THAT THEY BE CREATIVELY USED
- AND GENEROUSLY SHARED BUT NEVER FOR PROFIT!
-
- ╙╒══┴╥┘
- ┴╠╠╧├┴╘┼ & ├╠┼┴╥ ┬╔╘═┴╨: ╟╥┴╨╚╔├ 1,1
- ╙┼╠┼├╘ 80-├╧╠. ╙├╥┼┼╬: ╟╥┴╨╚╔├ 5
- ┬╠╧┴─"╫╔╬─╧╫.╧┬╩", ┬0, ╨8192
- ┬╙┴╓┼"╫╔╬─╧╫.╧┬╩", ┬0, ╨8192 ╘╧ ╨8864
- (─EFAULT DRIVE & DEVICE NUMBERS ARE USED)
- ╔╬╔╘╔┴╠╔┌┼: ╙┘╙ 8192
- ╥┼╙┼╘ (┬ACK ─OOR): ╙┘╙ 8463
- ╙╘╧╥┼ OR ╥┼╙╘╧╥┼: ╙┘╙ 8500
-
- ╥ON ╠E═ON
- 76556,2477
-
-
-
-
-
-
-
-
-