.export print_a .export print_cr .export cls .export beep .export print_a_inverse .exportzp screen_current_row .exportzp screen_current_col screen_current_row = $d6 screen_current_col = $d3 ; use C64 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 C64 Kernel ROM function to move to a new line ; inputs: none ; outputs: none print_cr: lda #13 jmp print_a ; use C64 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 #15 sta $d418 ; set volume lda #0 sta $d405 lda #240 sta $d406 lda #8 sta $d403 ; tone values for voice 1 lda #48 sta $d400 lda #28 sta $d401 ; enable tone register lda #65 sta $d404 ; pause for qtr second lda $dd06 sta beep_timer inc beep_timer ; time counts backwards : lda $dd06 cmp beep_timer bne :- ; disable tone register lda #65 sta $d404 lda #0 sta $d418 ; set volume 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 ; -- LICENSE FOR c64print.s -- ; 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 --