.export print_a .export print_cr .export cls .export beep .export print_a_inverse .import timer_read .exportzp screen_current_row .exportzp screen_current_col screen_current_row=$d6 screen_current_col=$d3 ;use VIC 20 Kernel ROM function to print a character to the screen ;inputs: A contains petscii value of character to print ;outputs: none print_a = $ffd2 .bss beep_timer: .res 1 .code ;use VIC 20 Kernel ROM function to move to a new line ;inputs: none ;outputs: none print_cr: lda #13 jmp print_a ;use VIC 20 Kernel ROM function to clear the screen ;inputs: none ;outputs: none cls: lda #147 ; 'CLR/HOME' jmp print_a ;currently does nothing (should make a 'beep noise') ;inputs: none ;outputs: none beep: lda $900e ora #15 sta $900e ;set volume ;turn on osc. 3 lda #$FF sta $900c ; pause for qtr second jsr timer_read stx beep_timer inc beep_timer inc beep_timer : jsr timer_read cpx beep_timer bne :- ;turn off osc. 3 lda #$00 sta $900c rts ;print a single char in inverse text: print_a_inverse: pha lda #18 ;inverse mode on jsr print_a pla jsr print_a lda #146 ;inverse mode off jmp print_a ; The contents of this file are subject to the Mozilla Public License ; Version 1.1 (the "License"); you may not use this file except in ; compliance with the License. You may obtain a copy of the License at ; http://www.mozilla.org/MPL/ ; ; Software distributed under the License is distributed on an "AS IS" ; basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the ; License for the specific language governing rights and limitations ; under the License. ; ; The Original Code is ip65. ; ; The Initial Developer of the Original Code is Jonno Downes, ; jonno@jamtronix.com. ; Portions created by the Initial Developer are Copyright (C) 2009 ; Jonno Downes. All Rights Reserved. ; -- LICENSE END --