# HG changeset patch # User JeanDo # Date 1292081023 -3600 # Node ID d79bf9df55d7cac30e7d3b10d4c8dd8ba58da0a3 # Parent ce3283064cdeac6d1ac2d5aa8eea373fabaf223e aa_wordprocessor too fast ? diff -r ce3283064cde -r d79bf9df55d7 code_part1/OSTC_code_asm_part1/aa_fonts.asm --- a/code_part1/OSTC_code_asm_part1/aa_fonts.asm Sat Dec 11 13:54:37 2010 +0100 +++ b/code_part1/OSTC_code_asm_part1/aa_fonts.asm Sat Dec 11 16:23:43 2010 +0100 @@ -1,17 +1,28 @@ ;============================================================================= ; -; file aa_fonts.asm -; brief Font-data for the (futurly anti-aliased) word processor -; author JD Gascuel. +; File aa_fonts.asm +; +; Font-data for the anti-aliased word processor +; +; This program is free software: you can redistribute it and/or modify +; it under the terms of the GNU General Public License as published by +; the Free Software Foundation, either version 3 of the License, or +; (at your option) any later version. ; -; copyright (c) 2010, JD Gascuel. All rights reserved. -; $Id$ +; This program is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +; GNU General Public License for more details. +; +; You should have received a copy of the GNU General Public License +; along with this program. If not, see . +; +; Copyright (c) 2010, JD Gascuel. ;============================================================================= ; HISTORY ; 2010-11-23 : [jDG] Creation with the original 1.72 fonts repacked. -; -; BUGS: -; +; 2010-12-01 : [jDG] Adding 3bits antialiased fonts. +;============================================================================= ; Original fonts where byte swapped in PROM memory, but the repacked don't... ; AA_BYTE_SWAP EQU 1 @@ -23,16 +34,17 @@ DB '²', 0x81 DB '°', 0x82 DB '¤', 0x83 - DB 0xB7,0x7F ; Cursor... - DB 0xB8,0x84 ; Cursor... + DB 0xB7,0x7F ; Cursor + DB 0xB8,0x84 ; Dimmed cursor. DB 0 ; End of translation table DB aa_font28_firstChar ; To be substracted DB aa_font28_chars ; Max value - DB 0x83-aa_font28_firstChar ; replace by ? when out. + DB 0x83-aa_font28_firstChar; replace by ¤ when unknown. DB aa_font28_height + 0x80 ; #include "aa_font28_idx.inc" ; SHOULD FOLLOW ! #include "aa_font28.inc" +aa_font28_end: ; Make sure this is coherent... if aa_font28_nbbits != 3 error SMALL fount should be encoded with anti-aliasing... @@ -53,6 +65,7 @@ ; #include "aa_font48_idx.inc" #include "aa_font48.inc" +aa_font48_end: ; Make sure this is coherent... if aa_font48_nbbits != 3 error MEDIUM fount should be encoded with 3bits anti-aliasing... @@ -70,9 +83,10 @@ ; #include "aa_font90_idx.inc" #include "aa_font90.inc" - -;============================================================================= +aa_font90_end: ; Make sure this is coherent... if aa_font90_nbbits != 3 error SMALL fount should be encoded with 3bits anti-aliasing... endif + +;============================================================================= diff -r ce3283064cde -r d79bf9df55d7 code_part1/OSTC_code_asm_part1/aa_wordprocessor.asm --- a/code_part1/OSTC_code_asm_part1/aa_wordprocessor.asm Sat Dec 11 13:54:37 2010 +0100 +++ b/code_part1/OSTC_code_asm_part1/aa_wordprocessor.asm Sat Dec 11 16:23:43 2010 +0100 @@ -1,16 +1,31 @@ ;============================================================================= ; -; file aa_wordprocessor.asm -; brief Anti-aliased word processor -; author JD Gascuel. +; File aa_wordprocessor.asm +; +; Anti-aliased word processor +; +; This program is free software: you can redistribute it and/or modify +; it under the terms of the GNU General Public License as published by +; the Free Software Foundation, either version 3 of the License, or +; (at your option) any later version. ; -; copyright (c) 2010, JD Gascuel. All rights reserved. -; $Id: aa_wordprocessor.asm 72 2010-11-29 22:45:12Z gascuel $ +; This program is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +; GNU General Public License for more details. +; +; You should have received a copy of the GNU General Public License +; along with this program. If not, see . +; +; Copyright (c) 2010, JD Gascuel. ;============================================================================= ; HISTORY ; 2010-11-22 : [jDG] Creation. +; 2010-12-01 : [jDG] Adding 3bits antialiased fonts. ; -; BUGS : None known yet... +; BUGS : +; * If the three fonts are not in the same half of the PROM memory, TBLPTRU +; will be badly set, and font48 or font90 will display giberish... ;============================================================================= ; ; MEMORY FOOTPRINT: @@ -266,21 +281,20 @@ ; Trashed: PROD ; aa_box_cmd: + AA_CMD_WRITE 0x35 ; this is the left border movf win_leftx2,W,BANKED ; Compute left = 2*leftx2 mullw 2 - AA_CMD_WRITE 0x35 ; this is the left border AA_DATA_WRITE_PROD movf aa_width,W,BANKED ; right = left + width - 1 addwf PRODL,F,A movf aa_width+1,W,BANKED addwfc PRODH,F,A + AA_CMD_WRITE 0x36 ; Write and the right border decf PRODL,F,A ; decrement result bc aa_box_cmd_1 ; No borrow (/Carry) ? skip propagating. decf PRODH,F,A aa_box_cmd_1: - - AA_CMD_WRITE 0x36 ; Write and the right border AA_DATA_WRITE_PROD movf win_top,W,BANKED ; Write top / bottom window @@ -289,16 +303,18 @@ decf WREG,A movwf PRODL,A ; And PRODL is later... AA_CMD_WRITE 0x37 + nop + nop AA_DATA_WRITE_PROD + AA_CMD_WRITE 0x20 movf win_leftx2,W,BANKED ; Start ptr left mullw 2 - AA_CMD_WRITE 0x20 AA_DATA_WRITE_PROD + AA_CMD_WRITE 0x21 movf win_top,W,BANKED ; Start ptr top mullw 1 ; Load into PRODH:L - AA_CMD_WRITE 0x21 AA_DATA_WRITE_PROD return