.export print_a .export print_a_inverse .export print_cr .export cls .export beep .exportzp screen_current_row .exportzp screen_current_col screen_current_col = $24 ; CH - Horizontal cursor-position (0-39) screen_current_row = $25 ; CV - Vertical cursor-position (0-23) .code ; use Apple 2 monitor ROM function to display 1 char ; inputs: A should be set to ASCII char to display ; outputs: none print_a: ora #$80 ; turn ASCII into Apple 2 screen codes cmp #$e0 ; is it lower case? bcc @check_line_feed ldx $fbb3 ; check machine version cpx #$06 ; is it at least an //e? beq @check_line_feed and #$df ; convert to upper case @check_line_feed: cmp #$8a ; is it a line feed? bne @not_line_feed lda #$8d ; replace with a carriage return @not_line_feed: jmp $fded ; use Apple 2 monitor ROM function to move to new line ; inputs: none ; outputs: none print_cr: jmp $fd8e ; use Apple 2 monitor ROM function to clear the screen ; inputs: none ; outputs: none cls: jmp $fc58 ; use Apple 2 monitor ROM function to make a 'beep' noise ; inputs: none ; outputs: none beep: jmp $fbdd print_a_inverse: and #$7F ; turn off top bits jsr $fded ; -- LICENSE FOR a2print.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 --