; Last modified Nov. 17, 2000 by AJT
;
; File Name - CHRISLET.ASM
; Modified  - November 17, 2000 by Adam Trionfo 
; 
; DESCRIPTION
;
;      I made no changes to the actual code structure at all.  I only
; changed what the message scrolls.  Instead of the classic seaman's tale,
; there is a personal letter to a distant friend of mine, Chris Federico.
; I can't believe just how long of a letter I can fit (187 lines x 16 bytes
; each plus another eight bytes is 2984 bytes!  Incredible!).
; 
; HELPFUL HINTS
;
;      When modifying the scroll message.  Type out exactly what you want
; the message to say using a word processor with macro ability, making
; sure the message fits under the 2984 character limit.  If your message is
; short, fill the rest with spaces.  After you have typed up what you want,
; create a macro that inserts seven spaces, inserts '.byte "', cursors over
; 16 characters, then presses enter.  Use the macro 177 times, and you are
; done!  Just copy and paste your message into the source now (deleting the 
; original message, you are done.  If you used quotes in your message,
; you will have to modify those lines (for an example, see the lines that
; had to be modified in this source listing).
; 
;
; BOB'S ORIGINAL COMMENTS:
;
; Original file -   ALBATROS.ASM
; Original Author - Don
;
; Disassembly of scrlbar2.bin
; Disassembled Fri Jul 02 15:32:40 1999
; Using DiStella v2.0
;
; Command Line: G:\DISTELLA\DISTELLA.EXE -pafs scrlbar2.bin
;

      processor 6502
VSYNC   =  $00
VBLANK  =  $01
WSYNC   =  $02
NUSIZ0  =  $04
NUSIZ1  =  $05
COLUP0  =  $06
COLUP1  =  $07
COLUBK  =  $09
CTRLPF  =  $0A
PF2     =  $0F
RESP0   =  $10
RESP1   =  $11
GRP0    =  $1B
GRP1    =  $1C
HMP0    =  $20
HMP1    =  $21
VDELP0  =  $25
VDEL01  =  $26
HMOVE   =  $2A
INTIM   =  $0284
TIM64T  =  $0296

       ORG $F000
LF000: .byte $06,$00,$00,$00,$00,$00,$00,$00,$03,$C0,$00,$C0,$C0,$C0,$C0,$C0
       .byte $04,$00,$00,$00,$00,$00,$A0,$A0,$06,$50,$50,$F8,$50,$F8,$50,$50
       .byte $08,$28,$FC,$2A,$7C,$A8,$7E,$28,$08,$84,$4A,$24,$10,$48,$A4,$42
       .byte $08,$62,$94,$88,$94,$60,$90,$60,$02,$00,$00,$00,$00,$00,$80,$80
       .byte $04,$20,$40,$80,$80,$80,$40,$20,$04,$40,$20,$10,$10,$10,$20,$40
       .byte $06,$00,$20,$A8,$70,$70,$A8,$20,$06,$00,$00,$20,$20,$F8,$20,$20
       .byte $03,$80,$40,$C0,$00,$00,$00,$00,$06,$00,$00,$00,$00,$F8,$00,$00
       .byte $03,$C0,$00,$00,$00,$00,$00,$00,$08,$80,$40,$20,$10,$08,$04,$02
       .byte $06,$70,$88,$C8,$A8,$98,$88,$70,$06,$F8,$20,$20,$20,$A0,$60,$20
       .byte $06,$F8,$80,$80,$40,$30,$08,$F0,$06,$E0,$10,$08,$08,$30,$08,$F0
       .byte $06,$08,$08,$08,$08,$F8,$88,$88,$06,$E0,$10,$08,$08,$F0,$80,$F8
       .byte $06,$60,$90,$88,$88,$F0,$40,$38,$06,$80,$80,$40,$20,$10,$08,$F8
       .byte $06,$70,$88,$88,$88,$70,$88,$70,$06,$E0,$10,$08,$08,$78,$88,$70
       .byte $03,$00,$00,$C0,$00,$00,$C0,$00,$03,$80,$40,$C0,$00,$00,$C0,$00
       .byte $05,$10,$20,$40,$80,$40,$20,$10,$06,$00,$00,$00,$F8,$00,$F8,$00
       .byte $05,$80,$40,$20,$10,$20,$40,$80,$06,$20,$00,$20,$20,$10,$88,$70
       .byte $08,$7C,$80,$9E,$AA,$9A,$82,$7C,$06,$88,$88,$88,$88,$F8,$88,$70
       .byte $06,$F0,$88,$88,$88,$F0,$88,$F0,$06,$70,$88,$80,$80,$80,$88,$70
       .byte $06,$E0,$90,$88,$88,$88,$90,$E0,$06,$F8,$80,$80,$80,$E0,$80,$F8
       .byte $06,$80,$80,$80,$80,$E0,$80,$F8,$06,$70,$88,$88,$88,$98,$80,$78
       .byte $06,$88,$88,$88,$88,$F8,$88,$88,$04,$E0,$40,$40,$40,$40,$40,$E0
       .byte $06,$70,$88,$08,$08,$08,$08,$08,$06,$88,$90,$A0,$C0,$A0,$90,$88
       .byte $06,$F8,$80,$80,$80,$80,$80,$80,$08,$82,$82,$92,$BA,$EE,$C6,$82
       .byte $07,$84,$8C,$9C,$B4,$E4,$C4,$84,$06,$70,$88,$88,$88,$88,$88,$70
       .byte $06,$80,$80,$80,$80,$F0,$88,$F0,$06,$68,$90,$A8,$88,$88,$88,$70
       .byte $06,$88,$88,$88,$88,$F0,$88,$F0,$06,$F0,$08,$08,$08,$70,$80,$78
       .byte $06,$20,$20,$20,$20,$20,$20,$F8,$06,$70,$88,$88,$88,$88,$88,$88
       .byte $06,$20,$20,$50,$50,$88,$88,$88,$08,$44,$EE,$BA,$92,$82,$82,$82
       .byte $06,$88,$88,$50,$20,$50,$88,$88,$06,$20,$20,$20,$20,$70,$88,$88
       .byte $06,$F8,$80,$40,$20,$10,$08,$F8,$04,$E0,$80,$80,$80,$80,$80,$E0
       .byte $08,$02,$04,$08,$10,$20,$40,$80,$04,$E0,$20,$20,$20,$20,$20,$E0
       .byte $06,$00,$00,$00,$00,$88,$50,$20,$06,$F8,$00,$00,$00,$00,$00,$00
       .byte $03,$00,$00,$00,$00,$40,$80,$80,$06,$78,$88,$88,$88,$78,$00,$00
       .byte $06,$F0,$88,$88,$88,$F0,$80,$80,$06,$78,$80,$80,$80,$78,$00,$00
       .byte $06,$78,$88,$88,$88,$78,$08,$08,$06,$78,$80,$F8,$88,$70,$00,$00
       .byte $06,$40,$40,$40,$40,$F0,$40,$38,$06,$F0,$08,$78,$88,$70,$00,$00
       .byte $06,$88,$88,$88,$88,$F0,$80,$80,$04,$E0,$40,$40,$40,$C0,$00,$40
       .byte $04,$C0,$20,$20,$20,$20,$00,$20,$06,$88,$90,$E0,$90,$88,$80,$80
       .byte $04,$E0,$40,$40,$40,$40,$40,$C0,$08,$92,$92,$92,$92,$FC,$00,$00
       .byte $06,$88,$88,$88,$88,$F0,$00,$00,$06,$70,$88,$88,$88,$70,$00,$00
       .byte $06,$80,$80,$F0,$88,$F0,$00,$00,$06,$08,$08,$78,$88,$78,$00,$00
       .byte $06,$80,$80,$80,$C8,$B0,$00,$00,$06,$F0,$08,$70,$80,$78,$00,$00
       .byte $06,$38,$40,$40,$40,$F8,$40,$40,$06,$78,$88,$88,$88,$88,$00,$00
       .byte $06,$20,$50,$50,$88,$88,$00,$00,$08,$44,$AA,$92,$82,$82,$00,$00
       .byte $06,$88,$50,$20,$50,$88,$00,$00,$06,$F0,$08,$78,$88,$88,$00,$00
       .byte $06,$F8,$40,$20,$10,$F8,$00,$00,$04,$20,$40,$40,$80,$40,$40,$20
       .byte $02,$80,$80,$80,$00,$80,$80,$80,$04,$80,$40,$40,$20,$40,$40,$80
       .byte $07,$00,$00,$00,$98,$64,$00,$00

START:
       SEI            ;2
       CLD            ;2
       LDX    #$00    ;2
       TXA            ;2
LF2FD: STA    VSYNC,X ;4
       DEX            ;2
       BNE    LF2FD   ;2
       DEX            ;2
       TXS            ;2
       STA    WSYNC   ;3
       JSR    LF40E   ;6
       INC    $AC     ;5
       LDA    #$E3    ;2
       STA    HMP0    ;3
       LDY    #$F1    ;2
       LDX    #$0C    ;2
       STA    RESP0   ;3
       STA    RESP1   ;3
       STA    NUSIZ0  ;3
       STA    NUSIZ1  ;3
       STA    VDELP0  ;3
       STA    VDEL01  ;3
       STY    CTRLPF  ;3
       STY    HMP1    ;3
       STX    COLUP0  ;3
       STX    COLUP1  ;3
       STA    WSYNC   ;3
       STA    HMOVE   ;3
       JSR    LF3F0   ;6
LF32E: LDX    #$02    ;2
       STA    WSYNC   ;3
       STX    VSYNC   ;3
       STA    WSYNC   ;3
       STA    WSYNC   ;3
       STA    WSYNC   ;3
       STA    VSYNC   ;3
       LDA    #$2C    ;2
       STA    TIM64T  ;4
       DEC    $B8     ;5
       LDX    #$06    ;2
LF345: ASL    $AD,X   ;6
       ROL    $A5,X   ;6
       ROL    $9E,X   ;6
       ROL    $97,X   ;6
       ROL    $90,X   ;6
       ROL    $89,X   ;6
       ROL    $82,X   ;6
       DEX            ;2
       BPL    LF345   ;2
       DEC    $AC     ;5
       BNE    LF37C   ;2
       LDY    #$07    ;2
LF35C: LDA    ($B6),Y ;5
       STA.wy $00AC,Y ;5
       DEY            ;2
       BPL    LF35C   ;2
       INC    $B4     ;5
       BNE    LF36A   ;2
       INC    $B5     ;5
LF36A: LDA    $B4     ;3
       CMP    #$BF    ;2
       BNE    LF379   ;2
       LDA    $B5     ;3
       CMP    #$FF    ;2
       BNE    LF379   ;2
       JSR    LF40E   ;6
LF379: JSR    LF3F0   ;6
LF37C: LDA    INTIM   ;4
       BNE    LF37C   ;2
       STA    WSYNC   ;3
       STA    VBLANK  ;3
       LDX    $B8     ;3
       LDY    #$5C    ;2
LF389: STA    WSYNC   ;3
       STX    COLUBK  ;3
       DEX            ;2
       DEY            ;2
       BNE    LF389   ;2
       STX    $B9     ;3
       LDA    #$FC    ;2
       STA    PF2     ;3
       LDA    #$06    ;2
       STA    $80     ;3
LF39B: LDX    $80     ;3
       LDA    $82,X   ;4
       STA    GRP0    ;3
       STA    WSYNC   ;3
       LDA    $89,X   ;4
       STA    GRP1    ;3
       LDA    $90,X   ;4
       STA    GRP0    ;3
       LDA    $97,X   ;4
       STA    $81     ;3
       LDA    $9E,X   ;4
       TAY            ;2
       LDA    $A5,X   ;4
       TAX            ;2
       LDA    $81     ;3
       INC    $BA     ;5
       STA    GRP1    ;3
       STY    GRP0    ;3
       STX    GRP1    ;3
       STX    GRP0    ;3
       DEC    $80     ;5
       BPL    LF39B   ;2
       LDA    #$00    ;2
       STA    GRP0    ;3
       STA    GRP1    ;3
       STA    GRP0    ;3
       STA    GRP1    ;3
       LDX    $B9     ;3
       LDY    #$5C    ;2
LF3D3: STA    WSYNC   ;3
       STA    PF2     ;3
       STX    COLUBK  ;3
       INX            ;2
       DEY            ;2
       BNE    LF3D3   ;2
       STY    COLUBK  ;3
       LDA    #$22    ;2
       STA    VBLANK  ;3
       STA    TIM64T  ;4
LF3E6: LDA    INTIM   ;4
       BNE    LF3E6   ;2
       STA    WSYNC   ;3
       JMP    LF32E   ;3
LF3F0: LDY    #$00    ;2
       STY    $B7     ;3
       LDA    ($B4),Y ;5
       SEC            ;2
       SBC    #$20    ;2
       STA    $B6     ;3
       ASL    $B6     ;5
       ROL    $B7     ;5
       ASL    $B6     ;5
       ROL    $B7     ;5
       ASL    $B6     ;5
       ROL    $B7     ;5
       LDA    $B7     ;3
       ORA    #$F0    ;2
       STA    $B7     ;3
       RTS            ;6

LF40E: LDA    #$17    ;2
       STA    $B4     ;3
       LDA    #$F4    ;2
       STA    $B5     ;3
       RTS            ;6

LF417: .byte "My dear friend C"
       .byte "hris Federico,  "
       .byte "Merry Christmas,"
       .byte " 2000!  You and "
       .byte "I have exchanged"
       .byte " letters over th"
       .byte "e years using IB"
       .byte "M, Amiga, Atari,"
       .byte " and C-64 comput"
       .byte "ers.  To that li"
       .byte "st add a most un"
       .byte "usual form of co"
       .byte "mmunication: an "
       .byte "Atari 2600 scrol"
       .byte "ling Marquee!  B"
       .byte "ased upon past C"
       .byte "hristmas gifts, "
       .byte "this letter/cart"
       .byte "ridge seems like"
       .byte " an appropriate "
       .byte "present. It sure"
       .byte "ly is not the be"
       .byte "st letter I have"
       .byte " ever written to"
       .byte " you, but I beli"
       .byte "eve that the imp"
       .byte "act of having it"
       .byte " delivered on a "
       .byte "4K VCS cartridge"
       .byte " will make it qu"
       .byte "ite memorable. W"
       .byte "hat does one say"
       .byte " in a letter tha"
       .byte "t has been burne"
       .byte "d on a ROM anywa"
       .byte "y? I have given "
       .byte "it much thought "
       .byte "and have decided"
       .byte " that this may w"
       .byte "ell be the perfe"
       .byte "ct way to expres"
       .byte "s to you the imp"
       .byte "ortance of our f"
       .byte "riendship.  A fe"
       .byte "w years ago our "
       .byte "friendship was r"
       .byte "ekindled because"
       .byte " of classic syst"
       .byte "ems. Ten years h"
       .byte "ad pasted, and w"
       .byte "e were talking a"
       .byte "gain. This would"
       .byte " not have occurr"
       .byte "ed if it had not"
       .byte " been for my job"
       .byte " at Goodwill, a "
       .byte "broken Commodore"
       .byte " 64 and a friend"
       .byte "ly newsletter ca"
       .byte "lled OC&GS. We s"
       .byte "oon began spendi"
       .byte "ng our Sundays t"
       .byte "ogether and disc"
       .byte "overed that we e"
       .byte "njoyed much of t"
       .byte "he same things. "
       .byte "I remember your "
       .byte "shock when you s"
       .byte "aw my collection"
       .byte " of hundreds of "
       .byte "VCS cartridges! "
       .byte "You sat yourself"
       .byte " down in front o"
       .byte "f my TV playing "
       .byte "game after game."
       .byte " On occasion you"
       .byte " would come up f"
       .byte "or air and ask, "
       .byte ' ,'",'Y,'o,'u,' ,'d,'o,'n,'','t,' ,'m,'i,'n,'d
       .byte ' ,'d,'o,' ,'y,'a,'?,'",' ,'Y,'o,'u,' ,'h,'a,'d
       .byte " no idea just ho"
       .byte "w glad I was to "
       .byte "be witness to so"
       .byte "meone enjoying A"
       .byte "tari as much as "
       .byte "me.  Confession:"
       .byte "until this very "
       .byte "moment I thought"
       .byte " that this piece"
       .byte " of self-indulge"
       .byte "nce might come a"
       .byte "cross as a bit l"
       .byte "oony, maybe even"
       .byte " a little dement"
       .byte "ed. Not many fol"
       .byte "ks would underst"
       .byte "and why anyone w"
       .byte "ould go through "
       .byte "the trouble of w"
       .byte "riting a letter "
       .byte "like this, while"
       .byte " fewer still wou"
       .byte "ld understand wh"
       .byte "en they received"
       .byte " it.  I think yo"
       .byte "u will get it.  "
       .byte "Atari might have"
       .byte " been the cement"
       .byte " that bonded our"
       .byte " early friendshi"
       .byte "p, but it obviou"
       .byte "sly grew from th"
       .byte "ere. Soon I disc"
       .byte "overed that this"
       .byte " waiter-guy was "
       .byte "really cool in o"
       .byte "ther ways too. H"
       .byte "e was a musician"
       .byte ", a writer, a pr"
       .byte "ogrammer. We don"
       .byte "'t see eye-to-ey"
       .byte "e on everything,"
       .byte " but it does not"
       .byte " matter, for our"
       .byte " differences ope"
       .byte "ned my world.  L"
       .byte "ook here at thre"
       .byte "e changes you ma"
       .byte "de. If it were n"
       .byte "ot for you: Fran"
       .byte "k Zappa would ju"
       .byte "st be some music"
       .byte "ian to me, OC&GS"
       .byte " would have been"
       .byte " just three issu"
       .byte "es, and I probab"
       .byte "ly would be divo"
       .byte "rced. You helped"
       .byte " keep me sane an"
       .byte "d happy.  Writin"
       .byte "g and editing to"
       .byte "gether (discussi"
       .byte "ng why Myst miss"
       .byte "ed), exchanging "
       .byte "music (Here is Z"
       .byte "appa; Here are T"
       .byte "he Swans), talki"
       .byte "ng over breakfas"
       .byte "t (Work sucks!),"
       .byte " sharing compute"
       .byte "r and game playi"
       .byte "ng expertise (ge"
       .byte "tting you set up"
       .byte " with an Amiga, "
       .byte "you showing me t"
       .byte "he secret messag"
       .byte "e in Adventure) "
       .byte "and just hanging"
       .byte " out has always "
       .byte "been fun. When y"
       .byte "ou moved away to"
       .byte " N.Y. I didn't r"
       .byte "ealize how much "
       .byte "I would miss you"
       .byte ".  Uh-oh. Before"
       .byte " this becomes a "
       .byte "tear-jerker let "
       .byte "me sum my though"
       .byte "ts up. It is my "
       .byte "hope that one da"
       .byte "y you and I will"
       .byte " live close enou"
       .byte "gh together so t"
       .byte "hat we can have "
       .byte "breakfast a coup"
       .byte "le times a week."
       .byte " Though I will s"
       .byte "ettle for seeing"
       .byte " you next year a"
       .byte "t the Classic Ga"
       .byte "ming Expo.  Your"
       .byte "friend, Adam Tri"
       .byte "onfo -I single h"
       .byte "andedly used bro"
       .byte "ken joysticks fo"
       .byte "r Archon, yet ST"
       .byte "ILL won |       " ; Line 187 - Don't write anything after the 
       .byte "                " ; Line 188 - eighth character in this line, or
       .byte "                " ; Line 189 - the following three lines (it
       .byte "                " ; Line 190 - won't show up).
       .byte $FF, $FF, $FF, $FF, $FF, $F8, $F2, $F8, $F2
