home *** CD-ROM | disk | FTP | other *** search
- ; vdump.asm
- ;==========================
- ; Command: vdump filename
- ;==========================
- ; Dump BASIC variables to a text file
-
- star = $0b00
- .wor star
- * = star
-
- jmp vdump
- dw Date
-
- index1 = $0024
- index2 = $0026
- vartab = $002f
- arytab = $0031
- varnam = $0047
- int0e = $170e
- givayf = $af03
- finptr = $7c57
- movfm = $8bd4
- zdce3 = $8e3c
- zca22 = $55e8
- chrout = $ffd2
- stop = $ffe1
-
- vdx jmp int0e
-
- vdump lda vartab
- sta pt+1
- lda vartab+1
- sta pt+2
- vd0 lda pt+1
- cmp arytab
- lda pt+2
- sbc arytab+1
- bcs vdx ;done...no more variables
- ldy #$00
- sty index2
- iny
- vd1 jsr peek1
- asl a
- ror index2
- lsr a
- sta varnam,y
- dey
- bpl vd1
- bit index2
- beq vd2
- bpl vd3
- bvc vd4
- jsr vd5
- ldx #"%" ;integer variable
- lda #"="
- jsr prtxa
- ldy #$02
- jsr peek1
- pha
- iny
- jsr peek1
- tay
- pla
- jsr givayf
- jmp vd6
-
-
- vd2 jsr vd5 ;floating point variable
- lda #"="
- jsr chrout
- ldy #50
- vd11 lda movfm,y
- sta eof,y
- dey
- bpl vd11
- lda pt+1
- ldy pt+2
- clc
- adc #2
- bcc vd66
- iny
- vd66 ldx $ff00
- stx $ff02
- jsr eof
- stx $ff00
- vd6 jsr zdce3
- jmp vd7
-
- vd3 jsr vd5
- ldx #"$"
- lda #"="
- jsr prtxa
- lda #34
- jsr chrout
- ldy #$04
- jsr peek1
- sta index1+1
- dey
- jsr peek1
- sta index1
- dey
- jsr peek1
- jsr zca22
- lda #34
- jsr chrout
- vd7 lda #13
- jsr chrout
- vd4 jsr stop ;abort if stop key
- bne vd9 ;not down. continue
- jmp int0e ;its down. abort
- vd9 clc ;else bump to next variable and go on
- lda pt+1
- adc #7
- sta pt+1
- bcc vd8
- inc pt+2
- vd8 jmp vd0
-
- vd5 lda varnam
- jsr chrout
- lda varnam+1
- beq vd5x
- jsr chrout
- vd5x rts
-
- peek1 stx pk+1
- ldx $ff00
- stx $ff02
- pt lda $ff00,y
- stx $ff00
- pk ldx #0
- pha
- pla
- rts
-
- prtxa pha
- txa
- jsr chrout
- pla
- jmp chrout
-
- eof .byt 0
-
- .end
-