home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64-128Toolkit / ACE-R11-SCR1.ARC / ACEVDC.S < prev    next >
Encoding:
Text File  |  2019-04-13  |  10.0 KB  |  669 lines

  1. ;┴├┼-128/64 KERNEL ╓─├ 80-COLUMN SCREEN DRIVER CODE
  2.  
  3. ;VDC MEMORY LAYOUT: $0000=CHAR,$1000=COLOR,$2000=CHARSET,$3000=ALTCHARSET
  4.  
  5. VDC├OLOR┴DDR = $1000
  6. VDC├HARSET┴DDR = $2000
  7. VDC╙ELECT = $D600
  8. VDC╙TATUS = $D600
  9. VDC─ATA = $D601
  10. VDC╥OW╔NC = 80
  11.  
  12. VDC╫IN╙CR╪   .BUF 1
  13. VDC╫IN╙CR┘   .BUF 1
  14. VDC╫IN╥OWS   .BUF 1
  15. VDC╫IN├OLS   .BUF 1
  16. VDC╫IN╙TART  .BUF 2
  17. VDC╫IN╙AVE╙Z .BUF 2
  18. VDC╙CR╥OWS   .BYTE 25
  19. VDC╙CR├OLS   .BYTE 80
  20. VDC╥EG╬UM    .BUF 1
  21.  
  22. VDC╔NIT = *
  23.    ;** CHARSET
  24.    JSR VDC╞ILL═ODE
  25.    JSR VDC╠OAD├HARSET
  26.    ;** INIT SCREEN COLORS
  27.    NOP
  28.    ;** MOVE ATTRIBUTES
  29.    LDA #<VDC├OLOR┴DDR
  30.    LDY #>VDC├OLOR┴DDR
  31.    LDX #$14
  32.    JSR VDC╫RITE16
  33.    ;** CURSOR HEIGHT
  34.    LDA #8
  35.    LDX #$0B
  36.    JSR VDC╫RITE
  37.    ;** WINDOW PARAMETERS
  38.    JSR VDC╫INMAX
  39.    RTS
  40.  
  41. VDC╙HUTDOWN = *
  42.    ;** RESTORE CHARSET
  43.    LDA #<$D000
  44.    LDY #>$D000
  45.    STA SYSWORK+0
  46.    STY SYSWORK+1
  47.    LDA #<$2000
  48.    LDY #>$2000
  49.    STA SYSWORK+2
  50.    STY SYSWORK+3
  51.    SEI
  52.    LDA #BK├HARSET
  53.    STA BK╙ELECT
  54.    LDX #8
  55.    LDY #0
  56. -  LDA (SYSWORK+0),Y
  57.    STA (SYSWORK+2),Y
  58.    INY
  59.    BNE -
  60.    INC SYSWORK+1
  61.    INC SYSWORK+3
  62.    DEX
  63.    BNE -
  64.    LDA #BK┴├┼
  65.    STA BK╙ELECT
  66.    CLI
  67.    JSR VDC╠OAD├HARSET
  68.    ;** RESTORE ATTRIBUTES
  69.    LDA #<$800
  70.    LDY #>$800
  71.    LDX #$14
  72.    JSR VDC╫RITE16
  73.    ;** RESTORE CURSOR HEIGHT
  74.    LDA #7
  75.    LDX #$0B
  76.    JSR VDC╫RITE
  77.    RTS
  78.  
  79. CHS╙OURCE = SYSWORK+0
  80. CHS├OUNT  = SYSWORK+2
  81.  
  82. VDC╠OAD├HARSET = *
  83.    LDA #<VDC├HARSET┴DDR
  84.    LDY #>VDC├HARSET┴DDR
  85.    JSR VDC┴DDR╫RITE16
  86.    LDA #<$2000
  87.    LDY #>$2000
  88.    STA CHS╙OURCE+0
  89.    STY CHS╙OURCE+1
  90.    LDX #0
  91.    STX CHS├OUNT
  92.  
  93.    CHAR╠OOP = *
  94.    LDA #$1F
  95.    STA VDC╥EG╬UM
  96.    STA VDC╙ELECT
  97.    LDY #0
  98. -  LDA (CHS╙OURCE),Y
  99. -  BIT VDC╙TATUS
  100.    BPL -
  101.    STA VDC─ATA
  102.    INY
  103.    CPY #8
  104.    BCC --
  105.    LDA #$00
  106.    JSR VDC╥AM╫RITE
  107.    LDX #$1E
  108.    LDA #7
  109.    JSR VDC╫RITE
  110.    CLC
  111.    LDA CHS╙OURCE+0
  112.    ADC #8
  113.    STA CHS╙OURCE+0
  114.    BCC +
  115.    INC CHS╙OURCE+1
  116. +  INC CHS├OUNT
  117.    BNE CHAR╠OOP
  118.    RTS
  119.  
  120. VDC╞ILL═ODE = *  ;( )
  121.    LDX #$18
  122.    JSR VDC╥EAD
  123.    AND #$7F
  124.    JSR VDC╫RITE
  125.    RTS
  126.  
  127. VDC├OPY═ODE = *  ;( )
  128.    LDX #$18
  129.    JSR VDC╥EAD
  130.    ORA #$80
  131.    JSR VDC╫RITE
  132.    RTS
  133.    
  134. VDC╥AM╫RITE = *  ;( .┴=VALUE )
  135.    LDX #$1F
  136.  
  137. VDC╫RITE = *  ;( .╪=REGISTER, .┴=VALUE )
  138.    STX VDC╥EG╬UM
  139.    STX VDC╙ELECT
  140. -  BIT VDC╙TATUS
  141.    BPL -
  142.    STA VDC─ATA
  143.    RTS
  144.  
  145. VDC┴DDR╫RITE16 = *  ;( .┴┘=VALUE )
  146.    LDX #$12
  147.  
  148. VDC╫RITE16 = *  ;( .╪=HI╥EGISTER, .┴┘=VALUE )
  149.    STX VDC╥EG╬UM
  150.    STX VDC╙ELECT
  151. -  BIT VDC╙TATUS
  152.    BPL -
  153.    STY VDC─ATA
  154.    INX
  155.    STX VDC╥EG╬UM
  156.    STX VDC╙ELECT
  157. -  BIT VDC╙TATUS
  158.    BPL -
  159.    STA VDC─ATA
  160.    RTS
  161.  
  162. VDC╥AM╥EAD = *  ;( ) : .┴=VALUE
  163.    LDX #$1F
  164.  
  165. VDC╥EAD = *  ;( .╪=REGISTER ) : .┴=VALUE
  166.    STX VDC╥EG╬UM
  167.    STX VDC╙ELECT
  168. -  BIT VDC╙TATUS
  169.    BPL -
  170.    LDA VDC─ATA
  171.    RTS
  172.  
  173. VDC╫INMAX = *
  174.    LDA #0
  175.    STA VDC╫IN╙CR╪
  176.    STA VDC╫IN╙CR┘
  177.    STA VDC╫IN╙TART+0
  178.    STA VDC╫IN╙TART+1
  179.    LDA VDC╙CR╥OWS
  180.    LDX VDC╙CR├OLS
  181.    STA VDC╫IN╥OWS
  182.    STX VDC╫IN├OLS
  183.    LDA #<2000+2000+16
  184.    LDY #>2000+2000+16
  185.    STA VDC╫IN╙AVE╙Z+0
  186.    STY VDC╫IN╙AVE╙Z+1
  187.    JSR CON╫IN├HANGE├ALLBACK
  188.    CLC
  189.    RTS
  190.  
  191. VDC├LS├OLOR .BUF 1
  192.  
  193. VDC╫INCLS = *
  194.    STX VDC╞ILL┬YTE
  195.    STY VDC├LS├OLOR
  196.    STA SYSWORK+2
  197.    BIT SYSWORK+2
  198.    BPL +
  199.    JSR VDC╫INCLS╙ETUP
  200.    JSR VDC╥OW╞ILL
  201. +  BIT SYSWORK+2
  202.    BVC +
  203.    JSR VDC╫INCLS╙ETUP
  204.    LDA VDC├LS├OLOR
  205.    STA VDC╞ILL┬YTE
  206.    JSR VDC┴DD├OLOR
  207.    JSR VDC╥OW╞ILL
  208. +  RTS
  209.  
  210. VDC╫INCLS╙ETUP = *
  211.    LDA VDC╫IN╙TART+0
  212.    LDY VDC╫IN╙TART+1
  213.    STA SYSWORK+0
  214.    STY SYSWORK+1
  215.    LDA VDC╫IN╥OWS
  216.    STA VDC╞ILL╥OWS
  217.    RTS
  218.  
  219. VDC┴DD├OLOR = *
  220.    CLC
  221.    LDA SYSWORK+1
  222.    ADC #>VDC├OLOR┴DDR
  223.    STA SYSWORK+1
  224.    RTS
  225.  
  226. VDC╞ILL┬YTE .BUF 1
  227. VDC╞ILL╥OWS .BUF 1
  228. VDC╞ILL├OLS .BUF 1
  229.  
  230. VDC╥OW╞ILL = * ;( (SW+0)=ADDR++, VDC╞ILL┬YTE, VDC╞ILL╥OWS-- )
  231.    LDA VDC╫IN├OLS
  232.    STA VDC╞ILL├OLS
  233.    LDA VDC╞ILL╥OWS
  234.    BNE +
  235.    RTS
  236. /  JSR VDC├OL╞ILL
  237.    CLC
  238.    LDA SYSWORK+0
  239.    ADC #VDC╥OW╔NC
  240.    STA SYSWORK+0
  241.    BCC +
  242.    INC SYSWORK+1
  243. +  DEC VDC╞ILL╥OWS
  244.    BNE -
  245.    RTS
  246.  
  247. VDC├OL╞ILL = * ;( (SW+0)=ADDR, VDC╞ILL┬YTE, VDC╞ILL├OLS )
  248.    LDA SYSWORK+0
  249.    LDY SYSWORK+1
  250.    JSR VDC┴DDR╫RITE16
  251. VDC├OL╞ILL╟OT┴DDR = *
  252.    LDA VDC╞ILL├OLS
  253.    BEQ +
  254.    LDA VDC╞ILL┬YTE
  255.    JSR VDC╥AM╫RITE
  256.    LDX VDC╞ILL├OLS
  257.    DEX
  258.    BEQ +
  259.    TXA
  260.    LDX #$1E
  261.    JSR VDC╫RITE
  262. +  RTS
  263.  
  264. VDC╫INSET╥OWS .BUF 1
  265. VDC╫INSET├OLS .BUF 1
  266.  
  267. VDC╫INSET = *  ;%%%
  268.    STA VDC╫INSET╥OWS
  269.    CMP #0
  270.    BEQ VDC╫INSET┼RR
  271.    STX VDC╫INSET├OLS
  272.    CPX #0
  273.    BEQ VDC╫INSET┼RR
  274.    CLC
  275.    ADC SYSWORK+0
  276.    CMP VDC╙CR╥OWS
  277.    BEQ +
  278.    BCC +
  279.  
  280.    VDC╫INSET┼RR = *
  281.    LDA #ACE┼RR╔NVALID╫INDOW╨ARMS
  282.    STA ERRNO
  283.    SEC
  284.    RTS
  285.  
  286. +  CLC
  287.    LDA VDC╫INSET├OLS
  288.    ADC SYSWORK+1
  289.    CMP VDC╙CR├OLS
  290.    BEQ +
  291.    BCS VDC╫INSET┼RR
  292. +  LDA SYSWORK+0
  293.    LDX SYSWORK+1
  294.    STA VDC╫IN╙CR╪
  295.    STX VDC╫IN╙CR┘
  296.    JSR VDC═ULT80
  297.    LDA SYSWORK+0
  298.    LDY SYSWORK+1
  299.    STA VDC╫IN╙TART+0
  300.    STY VDC╫IN╙TART+1
  301.    LDA VDC╫INSET╥OWS
  302.    LDX VDC╫INSET├OLS
  303.    STA VDC╫IN╥OWS
  304.    STX VDC╫IN├OLS
  305.    ;XX VDC╫IN╙AVE╙Z
  306.    JSR CON╫IN├HANGE├ALLBACK
  307.    LDA VDC╫IN╙CR╪
  308.    LDX VDC╫IN╙CR┘
  309.    STA SYSWORK+0
  310.    STX SYSWORK+1
  311.    CLC
  312.    RTS
  313.  
  314. VDC╫INSIZE = *
  315.    LDA VDC╫IN╙TART+0
  316.    LDY VDC╫IN╙TART+1
  317.    STA SYSWORK+2
  318.    STY SYSWORK+3
  319.    LDA #<VDC╥OW╔NC
  320.    LDY #>VDC╥OW╔NC
  321.    STA SYSWORK+4
  322.    STY SYSWORK+5
  323.    LDA VDC╫IN╙CR┘
  324.    LDX VDC╫IN╙CR╪
  325.    STA SYSWORK+0
  326.    STX SYSWORK+1
  327.    LDA VDC╫IN╥OWS
  328.    LDX VDC╫IN├OLS
  329.    CLC
  330.    RTS
  331.  
  332. VDC╨UT╫HICH .BUF 1
  333. VDC╨UT├OLOR .BUF 1
  334. VDC╨UT╠EN   .BUF 1
  335.  
  336. VDC╫INPUT = *
  337.    STA VDC╨UT╫HICH
  338.    STY VDC╞ILL┬YTE
  339.    STX VDC╨UT╠EN
  340.    BIT VDC╨UT╫HICH
  341.    BPL VDC╫INPUT├OLOR
  342.    LDA SYSWORK+0
  343.    LDY SYSWORK+1
  344.    JSR VDC┴DDR╫RITE16
  345.    LDY #0
  346.    CPY VDC╨UT╠EN
  347.    BEQ +
  348.    LDA #$1F
  349.    STA VDC╥EG╬UM
  350.    STA VDC╙ELECT
  351. -  LDA (SYSWORK+2),Y 
  352. -  BIT VDC╙TATUS
  353.    BPL -
  354.    STA VDC─ATA
  355.    INY
  356.    CPY VDC╨UT╠EN
  357.    BCC --
  358. +  SEC
  359.    LDA SYSWORK+5
  360.    SBC VDC╨UT╠EN
  361.    BEQ VDC╫INPUT├OLOR
  362.    TAY
  363.    LDA SYSWORK+4
  364.    JSR VDC╥AM╫RITE
  365.    DEY
  366.    BEQ VDC╫INPUT├OLOR
  367.    TYA
  368.    LDX #$1E
  369.    JSR VDC╫RITE
  370.  
  371.    VDC╫INPUT├OLOR = *
  372.    BIT VDC╨UT╫HICH
  373.    BVS +
  374.    RTS
  375. +  LDA SYSWORK+1
  376.    CLC
  377.    ADC #>VDC├OLOR┴DDR
  378.    TAY
  379.    LDA SYSWORK+0
  380.    JSR VDC┴DDR╫RITE16
  381.    LDA SYSWORK+5
  382.    STA VDC╞ILL├OLS
  383.    JSR VDC├OL╞ILL╟OT┴DDR
  384.    RTS
  385.  
  386. VDC╫INCOLOR = *
  387.    PHP
  388.    SEI
  389.    BIT VDC╙S┴CTIVE
  390.    BMI VDC╫INCOLOR╙S┴CTIVE
  391.    CMP #128
  392.    BCC +
  393.    TXA
  394.    LDX #$1A
  395.    JSR VDC╫RITE
  396. +  AND #64
  397.    BEQ +
  398.    TYA
  399.    NOP
  400. +  LDX #$1A
  401.    JSR VDC╥EAD
  402.    AND #$0F
  403.    TAX
  404.    TAY
  405.    PLP
  406.    RTS
  407.  
  408.    VDC╫INCOLOR╙S┴CTIVE = *
  409.    CMP #128
  410.    BCC +
  411.    STX VDC╙S├OLOR
  412. +  LDA VDC╙S├OLOR
  413.    AND #$0F
  414.    TAX
  415.    TAY
  416.    PLP
  417.    RTS
  418.  
  419. VDC╫INPOS = *
  420.    JSR VDC═ULT80
  421.    CLC
  422.    LDA SYSWORK+0
  423.    ADC VDC╫IN╙TART+0
  424.    STA SYSWORK+0
  425.    LDA SYSWORK+1
  426.    ADC VDC╫IN╙TART+1
  427.    STA SYSWORK+1
  428.    RTS
  429.  
  430. VDC═ULT80 = *  ;( .┴=ROW:0-50, .╪=COL ) : (SW+0)=ROW*80+COL, .╪:UNCH
  431.    STA SYSWORK+0
  432.    LDY #0
  433.    STY SYSWORK+1
  434.    ASL
  435.    ASL
  436.    ADC SYSWORK+0
  437.    ASL
  438.    ROL SYSWORK+1
  439.    ASL
  440.    ROL SYSWORK+1
  441.    ASL
  442.    ROL SYSWORK+1
  443.    ASL
  444.    ROL SYSWORK+1
  445.    STX SYSWORK+0
  446.    CLC
  447.    ADC SYSWORK+0
  448.    BCC +
  449.    INC SYSWORK+1
  450. +  STA SYSWORK+0
  451.    RTS
  452.  
  453. VDC├URSOR╙AVE  .BUF 1
  454. VDC├URSOR├OLOR .BUF 1
  455.  
  456. VDC╫INCURSOR = *
  457.    CMP #0
  458.    BEQ VDC├URSOR╧FF
  459.    STY VDC├URSOR├OLOR
  460.    LDA SYSWORK+0
  461.    LDY SYSWORK+1
  462.    LDX #$0E
  463.    JSR VDC╫RITE16
  464.    LDX #$0A
  465.    JSR VDC╥EAD
  466.    AND #$1F
  467.    ORA #$60
  468.    JSR VDC╫RITE
  469.    JSR VDC╙ET├OLOR┴DDR
  470.    JSR VDC╥AM╥EAD
  471.    STA VDC├URSOR╙AVE
  472.    JSR VDC╙ET├OLOR┴DDR
  473.    LDA VDC├URSOR╙AVE
  474.    AND #$F0
  475.    ORA VDC├URSOR├OLOR
  476.    JSR VDC╥AM╫RITE
  477.    RTS
  478.  
  479. VDC├URSOR╧FF = *
  480.    LDX #$0E
  481.    JSR VDC╫RITE16
  482.    LDX #$0A
  483.    JSR VDC╥EAD
  484.    AND #$1F
  485.    ORA #$20
  486.    JSR VDC╫RITE
  487.    JSR VDC╙ET├OLOR┴DDR
  488.    LDA VDC├URSOR╙AVE
  489.    JSR VDC╥AM╫RITE
  490.    RTS
  491.  
  492. VDC╙ET├OLOR┴DDR = *  ;( (SW+0)=ADDR )
  493.    CLC
  494.    LDA SYSWORK+1
  495.    ADC #>VDC├OLOR┴DDR
  496.    TAY
  497.    LDA SYSWORK+0
  498.    JMP VDC┴DDR╫RITE16
  499.  
  500. VDC╔RQ├URSOR = *
  501.    ;** DO NOTHING
  502.    RTS
  503.  
  504. VDC╙CROLL─EST   = SYSWORK+0
  505. VDC╙CROLL╙OURCE = SYSWORK+2
  506. VDC╙CROLL╥OWS   .BUF 1
  507. VDC╙CROLL┼XTRA  .BUF 1
  508.  
  509. VDC╫INSCROLL = *
  510.    STA SYSWORK+5
  511.    STY VDC├LS├OLOR
  512.    STX VDC╙CROLL┼XTRA
  513.    CPX #0
  514.    BNE +
  515. -  RTS
  516. +  LDA SYSWORK+5
  517.    AND #%1000
  518.    BEQ -
  519.    CPX VDC╫IN╥OWS
  520.    BCC +
  521.    LDX SYSWORK+4
  522.    LDA SYSWORK+5
  523.    LDY VDC├LS├OLOR
  524.    JSR VDC╫INCLS
  525.    RTS
  526. +  BIT SYSWORK+5
  527.    BPL +
  528.    JSR VDC╙CROLL╒P╙ETUP
  529.    JSR VDC╥OW╙CROLL╒P
  530.    LDA SYSWORK+4
  531.    JSR VDC─O╙CROLL┼XTRA
  532. +  BIT SYSWORK+5
  533.    BVC +
  534.    JSR VDC╙CROLL╒P╙ETUP
  535.    JSR VDC╙CROLL┴DD├OLOR
  536.    JSR VDC╥OW╙CROLL╒P
  537.    LDA VDC├LS├OLOR
  538.    JSR VDC─O╙CROLL┼XTRA
  539. +  RTS
  540.  
  541. VDC╙CROLL╒P╙ETUP = *
  542.    LDA VDC╙CROLL┼XTRA
  543.    LDX #0
  544.    JSR VDC╫INPOS
  545.    LDA SYSWORK+0
  546.    LDY SYSWORK+1
  547.    STA VDC╙CROLL╙OURCE+0
  548.    STY VDC╙CROLL╙OURCE+1
  549.    LDA VDC╫IN╙TART+0
  550.    LDY VDC╫IN╙TART+1
  551.    STA VDC╙CROLL─EST+0
  552.    STY VDC╙CROLL─EST+1
  553.    SEC
  554.    LDA VDC╫IN╥OWS
  555.    SBC VDC╙CROLL┼XTRA
  556.    STA VDC╙CROLL╥OWS
  557.    RTS
  558.  
  559. VDC╙CROLL┴DD├OLOR = *
  560.    CLC
  561.    LDA SYSWORK+1
  562.    ADC #>VDC├OLOR┴DDR
  563.    STA SYSWORK+1
  564.    LDA SYSWORK+3
  565.    ADC #>VDC├OLOR┴DDR
  566.    STA SYSWORK+3
  567.    RTS
  568.  
  569. VDC─O╙CROLL┼XTRA = *  ;( .┴=FILL┬YTE, (SW+0)=ADDR )
  570.    STA VDC╞ILL┬YTE
  571.    LDA VDC╙CROLL┼XTRA
  572.    STA VDC╞ILL╥OWS
  573.    LDA VDC╫IN├OLS
  574.    STA VDC╞ILL├OLS
  575.    JSR VDC╥OW╞ILL
  576.    RTS
  577.  
  578. VDC╥OW╙CROLL╒P = * ;( VDC╙CROLL╙OURCE++, VDC╙CROLL─EST++, VDC╙CROLL╥OWS-- )
  579.    LDA VDC╙CROLL╥OWS
  580.    BNE +
  581.    RTS
  582. +  JSR VDC├OPY═ODE
  583. -  JSR VDC├OL╙CROLL
  584.    CLC
  585.    LDA VDC╙CROLL╙OURCE+0
  586.    ADC #VDC╥OW╔NC
  587.    STA VDC╙CROLL╙OURCE+0
  588.    BCC +
  589.    INC VDC╙CROLL╙OURCE+1
  590. +  CLC
  591.    LDA VDC╙CROLL─EST+0
  592.    ADC #VDC╥OW╔NC
  593.    STA VDC╙CROLL─EST+0
  594.    BCC +
  595.    INC VDC╙CROLL─EST+1
  596. +  DEC VDC╙CROLL╥OWS
  597.    BNE -
  598.    JSR VDC╞ILL═ODE
  599.    RTS
  600.  
  601. VDC├OL╙CROLL = * ;( VDC╙CROLL╙OURCE, VDC╙CROLL─EST, VDC╫IN├OLS )
  602.    LDA VDC╙CROLL─EST+0
  603.    LDY VDC╙CROLL─EST+1
  604.    JSR VDC┴DDR╫RITE16
  605.    LDA VDC╙CROLL╙OURCE+0
  606.    LDY VDC╙CROLL╙OURCE+1
  607.    LDX #$20
  608.    JSR VDC╫RITE16
  609.    LDA VDC╫IN├OLS
  610.    LDX #$1E
  611.    JSR VDC╫RITE
  612.    RTS
  613.  
  614. ;*** INTERRUPT SCREEN-SAVER CODE: **POTENTIAL VDC-ACCESS CONFLICTS**
  615.  
  616. VDC╙S├OLOR  .BUF 1
  617. VDC╙S═ODE   .BUF 1
  618. VDC╙S┴CTIVE .BYTE $00
  619.  
  620. VDC╙CREEN╙AVE = *
  621. -  BIT VDC╙TATUS
  622.    BPL -
  623.    LDA VDC╥EG╬UM
  624.    PHA
  625.    LDX #$19
  626.    JSR VDC╥EAD
  627.    STA VDC╙S═ODE
  628.    LDX #$1A
  629.    JSR VDC╥EAD
  630.    STA VDC╙S├OLOR
  631.    LDA #$FF
  632.    STA VDC╙S┴CTIVE
  633.    LDX #$19
  634.    LDA VDC╙S═ODE
  635.    AND #%10111111
  636.    JSR VDC╫RITE
  637.    LDX #$1A
  638.    LDA #$00
  639.    JSR VDC╫RITE
  640.    PLA
  641.    STA VDC╥EG╬UM
  642.    STA VDC╙ELECT
  643. -  BIT VDC╙TATUS
  644.    BPL -
  645.    RTS
  646.  
  647. VDC╙CREEN╒NSAVE = *
  648. -  BIT VDC╙TATUS
  649.    BPL -
  650.    LDA VDC╥EG╬UM
  651.    PHA
  652.    LDX #$19
  653.    LDA VDC╙S═ODE
  654.    JSR VDC╫RITE
  655.    LDX #$1A
  656.    LDA VDC╙S├OLOR
  657.    JSR VDC╫RITE
  658.    LDA #$00
  659.    STA VDC╙S┴CTIVE
  660.    PLA
  661.    STA VDC╥EG╬UM
  662.    STA VDC╙ELECT
  663. -  BIT VDC╙TATUS
  664.    BPL -
  665.    RTS
  666.  
  667. ;THE END + BLANK LINE
  668.  
  669.