home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Transactor
/
Transactor_07_1985_Transactor_Publishing.d64
/
scrolls
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2023-02-26
|
5KB
|
299 lines
0 rem scrolls (mar 30/85) :
1 :
2 rem 4 statements, 0 functions
3 :
4 rem keyword characters: 24
5 :
6 rem keyword routine line ser #
7 rem s/uscrol uscro 5260 067
8 rem s/dscrol dscro 5264 068
9 rem s/lscrol lscro 5268 069
10 rem s/rscrol rscro 5272 070
11 :
12 rem u/by40 (5646/071)
13 rem u/defwdw (5668/072)
14 :
15 rem ================================
16 :
118 .asc "uscro[204]dscro[204]"
119 .asc "lscro[204]rscro[204]"
1118 .word uscro-1,dscro-1
1119 .word lscro-1,rscro-1
5260 uscro ldx #$40
5262 .byte $2c
5264 dscro ldx #$c0
5266 .byte $2c
5268 lscro ldx #$00
5270 .byte $2c
5272 rscro ldx #$80
5274 ;
5276 stx scrdir
5278 ldx #0
5280 cmp #$ad
5282 bne scro1
5284 jsr $73
5286 ldx #$80
5288 scro1 txa
5290 pha
5292 jsr defwdw
5294 pla
5296 sta t2
5298 lda corner
5300 ldx corner+1
5302 ldy colcor+1
5304 sta t3
5306 sta t5
5308 stx t4
5310 sty t6
5312 bit scrdir
5314 bvc scro2
5316 jmp scro14
5318 scro2 ldx #0
5320 ldy scrdir
5322 beq scro3
5324 ldy width
5326 scro3 lda (t3),y
5328 sta buffer,x
5330 lda (t5),y
5332 sta colbuf,x
5334 inx
5336 lda t3
5338 clc
5340 adc #$28
5342 sta t3
5344 sta t5
5346 bcc scro4
5348 inc t4
5350 inc t6
5352 scro4 dec depth
5354 bpl scro3
5356 scro5 sec
5358 lda t3
5360 sbc #$28
5362 sta t3
5364 sta t5
5366 bcs scro6
5368 dec t4
5370 dec t6
5372 scro6 dex
5374 bmi scro13
5376 ldy scrdir
5378 bne scro8
5380 scro7 cpy width
5382 beq scro10
5384 iny
5386 lda (t3),y
5388 pha
5390 lda (t5),y
5392 dey
5394 sta (t5),y
5396 pla
5398 sta (t3),y
5400 iny
5402 bne scro7
5404 scro8 ldy width
5406 beq scro10
5408 scro9 dey
5410 lda (t3),y
5412 pha
5414 lda (t5),y
5416 iny
5418 sta (t5),y
5420 pla
5422 sta (t3),y
5424 dey
5426 bne scro9
5428 scro10 lda buffer,x
5430 pha
5432 lda colbuf,x
5434 bit t2
5436 bmi scro11
5438 pla
5440 lda #$20
5442 bne scro12
5444 scro11 sta (t5),y
5446 pla
5448 scro12 sta (t3),y
5450 clc
5452 bcc scro5
5454 scro13 rts
5456 scro14 lda scrdir
5458 and #$80
5460 tay
5462 beq scro15
5464 ldy depth
5466 scro15 jsr by40
5468 clc
5470 adc corner
5472 sta t3
5474 sta t5
5476 php
5478 txa
5480 adc corner+1
5482 sta t4
5484 plp
5486 txa
5488 adc colcor+1
5490 sta t6
5492 ldy width
5494 scro16 lda (t3),y
5496 sta buffer,y
5498 lda (t5),y
5500 sta colbuf,y
5502 dey
5504 bpl scro16
5506 ldx depth
5508 scro17 dex
5510 bmi scro21
5512 lda t3
5514 bit scrdir
5516 bpl scro18
5518 sec
5520 sbc #$28
5522 sta $22
5524 sta $24
5526 lda t4
5528 sta $23
5530 lda t6
5532 sta $25
5534 bcs scro19
5536 dec $23
5538 dec $25
5540 bne scro19
5542 scro18 clc
5544 adc #$28
5546 sta $22
5548 sta $24
5550 lda t4
5552 sta $23
5554 lda t6
5556 sta $25
5558 bcc scro19
5560 inc $23
5562 inc $25
5564 scro19 ldy width
5566 beq scro22
5568 scro20 lda ($22),y
5570 sta (t3),y
5572 lda ($24),y
5574 sta (t5),y
5576 dey
5578 bpl scro20
5580 lda $22
5582 sta t3
5584 sta t5
5586 lda $23
5588 sta t4
5590 lda $25
5592 sta t6
5594 bne scro17
5596 scro21 ldy width
5598 scro22 lda buffer,y
5600 pha
5602 lda colbuf,y
5604 bit t2
5606 bmi scro23
5608 pla
5610 lda #$20
5612 sta (t3),y
5614 bne scro24
5616 scro23 sta (t5),y
5618 pla
5620 sta (t3),y
5622 scro24 dey
5624 bpl scro22
5626 rts
5628 ;
5630 buffer =*
5632 *= *+$28
5634 ;
5636 colbuf =*
5638 *= *+$28
5640 ;
5642 scrdir .byte 0
5644 ;
5646 by40 lda #0
5648 tax
5650 byf1 cpy #0
5652 beq byf2
5654 dey
5656 adc #$27
5658 bcc byf1
5660 inx
5662 bne byf1
5664 byf2 rts
5666 ;
5668 defwdw jsr $b79e
5670 stx corner
5672 jsr $79
5674 cmp #";"
5676 bne dfw2
5678 jsr $b79b
5680 dex
5682 bmi dfw3
5684 dfw1 stx depth
5686 lda corner
5688 clc
5690 adc depth
5692 bcs dfw3
5694 cmp #$19
5696 bcs dfw3
5698 bcc dfw4
5700 dfw2 jsr $aefd
5702 jsr $b79e
5704 txa
5706 sec
5708 sbc corner
5710 tax
5712 bcs dfw1
5714 dfw3 jsr $b248
5716 dfw4 jsr $aefd
5718 jsr $b79e
5720 stx corner+1
5722 jsr $79
5724 cmp #";"
5726 bne dfw6
5728 jsr $b79b
5730 dex
5732 bmi dfw3
5734 dfw5 stx width
5736 lda corner+1
5738 clc
5740 adc width
5742 bcs dfw3
5744 cmp #$28
5746 bcs dfw3
5748 bcc dfw7
5750 dfw6 jsr $aefd
5752 jsr $b79e
5754 txa
5756 sec
5758 sbc corner+1
5760 tax
5762 bcs dfw5
5764 bcc dfw3
5766 dfw7 ldy corner
5768 jsr by40
5770 clc
5772 adc corner+1
5774 bcc dfw8
5776 inx
5778 dfw8 sta corner
5780 sta colcor
5782 txa
5784 pha
5786 clc
5788 adc #$d8
5790 sta colcor+1
5792 pla
5794 clc
5796 adc 648
5798 sta corner+1
5800 rts
5802 ;
5804 depth .byte 0
5806 width .byte 0
5808 corner .word 0
5810 colcor .word 0
5812 ;