home *** CD-ROM | disk | FTP | other *** search
- e
- _*********************************************************
- _* *
- _* module name : SCREEN.ASM *
- _* *
- _* Maintenance log *
- _* --------------- *
- _* *
- _* date time action *
- _* ---- ---- ------ *
- _* 18/04/89 17:50 initial coding *
- _* 14/05/89 22:00 fix scroll up bug *
- _* 15/05/89 13:00 added backspace routine *
- _*********************************************************
-
-
- _*********************************************************
- _* *
- _* routine : BSOUT - Display Character on 40 col *
- _* Screen *
- _* entry *
- _* ----- *
- _* A *
- _*.......................................................*
- _* used *
- _* ---- *
- _* *
- _*.......................................................*
- _* exit *
- _* ---- *
- _* *
- _* *
- _*********************************************************
-
- botline = 24
- rightend = 39
- linelen = rightend+1
-
- bsout equ *
- ▒ savey
- ░ savex
- æ #147 _ check for clear screen
- à clearscr
- æ #cr
- à creturn
- æ #del
- à backsp
- £ charscr _ convert to screen code
-
- noscroll equ *
- ú
- £ calcadd
- ƒ #0
- Ñ
- » [scradd],y
- ÿ cursorx
- ¥ cursorx
- æ #rightend+1 _ check for CR
- â exitscrn
- ÿ cursory _ place cursor on next line even off screen
- ¥ #0
- » cursorx
- ¥ cursory
- æ #botline+1 _ check for bottom right
- â exitscrn
-
- _
- _ at the bottom right of the screen, so scroll the screen
- _
-
- £ scrollup _ this moves cursor up
-
- exitscrn equ *
- ₧ savex
- ƒ savey
- ¬
-
- _
- _ Routine to clear the screen
- _
-
-
- clearscr equ *
- ƒ #0
- ▒ cursorx
- ▒ cursory
- ¥ #space
- scrloop1 equ *
- » screen,y
- » screen+$0100,y
- » screen+$0200,y
- » screen+$0300,y
- û
- ê scrloop1
- à exitscrn
-
- creturn equ *
- ¥ #0
- » cursorx
- ¥ cursory
- æ #botline
- â contcr
- £ scrollup
- contcr equ *
- ÿ cursory
- ¢ exitscrn
-
- _
- _ A delete Key has been pressed, so move the cursor back one
- _
-
- backsp equ *
- ö cursorx
- ¥ cursorx
- æ #$ff
- ê exitscrn
- ÿ cursorx
- ö cursory
- ¥ cursory
- æ #$ff
- ê exitscrn
- ÿ cursory
- ¢ exitscrn
- _
- _ Convert the character to the correct screen code.
- _
-
- charscr equ *
- æ #192
- â stage2
- æ #224
- â sub96
- ¼
- ½ #64
- ê stage2
- sub96 equ *
- ¼
- ½ #96
- stage2 equ *
- æ #64
- â exitconv
- æ #96
- â sub64
-
- _ >=96 <192
-
- æ #128
- â sub32
-
- _ >=128 <192
-
- æ #161
- â exitconv
-
- _ >=161 <192
-
- sub64 equ *
- ¼
- ½ #64
-
- exitconv equ *
- ¬
-
- sub32 equ *
- ¼
- ½ #32
- ¬
-
- _ Routine to scroll the screen up 1
-
- scrollup equ *
- ¥ #0
- » line
- ¥ #>screen
- » lineadd2
- ì
- Ç #linelen
- » lineadd1
- ¥ #<screen
- » lineadd2+1
- Ç #0
- » lineadd1+1
-
- sclloop2 equ *
- ƒ #rightend
- sclloop1 equ *
- ¥ [lineadd1],y
- » [lineadd2],y
- û
- ë sclloop1
- ¥ line
- æ #botline-1
- ä exitscrl
- ¥ lineadd1
- ì
- Ç #linelen
- » lineadd1
- â noinc1
- ÿ lineadd1+1
-
- noinc1 equ *
-
- ¥ lineadd2
- ì
- Ç #linelen
- » lineadd2
- â noinc2
- ÿ lineadd2+1
-
- noinc2 equ *
- ÿ line
- ¢ sclloop2
-
- exitscrl equ *
- ¥ #32
- ƒ #rightend
-
- exitloop equ *
- » [lineadd1],y
- û
- ë exitloop
- ö cursory
- ¬
-
- calcadd equ *
- ¥ #0
- » scradd+1
- ¥ cursory
- » scradd
- é scradd
- º scradd+1
- é scradd
- º scradd+1
- é scradd
- º scradd+1
-
- _ scradd * 8 so far
-
- ¥ scradd
- » add8
- ¥ scradd+1
- » add8+1
-
-
-
- é scradd
- º scradd+1
- é scradd
- º scradd+1
-
- _ scradd * 32 now
-
- ¥ scradd
- ì
- Ç add8
- » scradd
- ¥ scradd+1
- Ç add8+1
- » scradd+1
- ¥ scradd
- ì
- Ç cursorx
- » scradd
- â noinc
- ÿ scradd+1
-
- noinc equ *
- ¥ scradd
- ì
- Ç #>screen
- » scradd
- ¥ scradd+1
- Ç #<screen
- » scradd+1
- ¬
-
-
- IEND
-