Mercurial > public > hwos_code
diff src/strings.inc @ 604:ca4556fb60b9
bump to 2.99beta, work on 3.00 stable
author | heinrichsweikamp |
---|---|
date | Thu, 22 Nov 2018 19:47:26 +0100 |
parents | e79bc535ef9e |
children | c40025d8e750 |
line wrap: on
line diff
--- a/src/strings.inc Thu Oct 11 21:06:29 2018 +0200 +++ b/src/strings.inc Thu Nov 22 19:47:26 2018 +0100 @@ -2,184 +2,192 @@ ; ; File strings.asm ; -; Implementation code various string functions. +; Implementation code various string functions ; ; Copyright (c) 2011, JD Gascuel, HeinrichsWeikamp, all right reserved. ;============================================================================= ; HISTORY -; 2010-12-02 : [jDG] Creation... +; 2010-12-02 : [jDG] Creation ; ;============================================================================= -; Copy a short embebed string at start of the string buffer (letter) -; Input: (nothing) -; Output: chars are copied into letter, starting at the beginning. -; FSR2 point to the first unused char (the NULL termination). -; -; Trashed: WREG, TBLPTR, TABLAT, PRODL -; Note: This are all bank-safe call. +; Copy a short embedded string to the start of the string buffer +; Input : string after macro name +; Output : chars are copied to the start of the string buffer +; FSR2 points to the first unused char containing the NULL termination +; Trashed: WREG, TBLPTR, TABLAT, PRODL +; Note : uses bank-safe calls only ; - extern strcpy_block -STRCPY macro string - call strcpy_block - DB string, 0 - endm + extern strcpy_block +STRCPY macro string + call strcpy_block + DB string, 0 + endm ;============================================================================= -; A variant of STRCPY that appends chars to the current FSR2 pointer. -; Input/Output/Trashed : see STRCPY. - extern strcat_block -STRCAT macro string - call strcat_block - DB string, 0 - endm +; A variant of STRCPY that appends chars in the string buffer at the current +; FSR2 pointer position +; Input/Output/Trashed: see STRCPY +; + extern strcat_block +STRCAT macro string + call strcat_block + DB string, 0 + endm ;============================================================================= ; A variant of STRCAT when there is just on char to output -; Input/Output/Trashed : none. -PUTC macro char - movlw char - movwf POSTINC2 - endm +; Input/Output/Trashed: see STRCPY +; +PUTC macro char + movlw char + movwf POSTINC2 + endm ;============================================================================= -; A variant of STRCPY that send the string to the word processor afterwards. -; Input/Output: see STRCPY. -; Trashed: See STRCPY + word_processor. In particular, switch RAM to Bank1 +; A variant of STRCPY that sends the string to the word processor afterwards +; Input/Output: see STRCPY +; Trashed : see STRCPY + word_processor. In particular, switches RAM to Bank1 ; - extern strcpy_block_print -STRCPY_PRINT macro string - call strcpy_block_print - DB string, 0 - endm + extern strcpy_block_print +STRCPY_PRINT macro string + call strcpy_block_print + DB string, 0 + endm -; Trashed: See STRCPY + word_processor. In particular, switch RAM to Bank1 - extern strcat_block_print -STRCAT_PRINT macro string - call strcat_block_print - DB string, 0 - endm +;============================================================================= +; A variant of STRCAT that sends the string to the word processor afterwards +; Input/Output: see STRCAT +; Trashed : see STRCPY + word_processor. In particular, switches RAM to Bank1 +; + extern strcat_block_print +STRCAT_PRINT macro string + call strcat_block_print + DB string, 0 + endm ;============================================================================= ; Subroutines to operate on strings from PROM code ; -; Input: TBLPTR : string pointer into PROM. -; Output: string in buffer, FSR2 pointer on the closing null byte. +; Input : TBLPTR : string pointer into PROM +; Trashed: FSR1 +; Output : string in buffer, FSR2 pointer on the closing null byte - extern strcpy_prom, strcat_prom - extern strcpy_prom_print, strcat_prom_print + extern strcpy_prom, strcat_prom + extern strcpy_prom_print, strcat_prom_print ;============================================================================= ; Subroutines and macros to operate on multilingual text ; - extern strcpy_text -STRCPY_TEXT macro txt - extern txt - lfsr FSR1, txt - call strcpy_text - endm + extern strcpy_text +STRCPY_TEXT macro txt + extern txt + lfsr FSR1, txt + call strcpy_text + endm - extern strcpy_text_print -STRCPY_TEXT_PRINT macro txt - extern txt - lfsr FSR1, txt - call strcpy_text_print - endm + extern strcpy_text_print +STRCPY_TEXT_PRINT macro txt + extern txt + lfsr FSR1, txt + call strcpy_text_print + endm - extern strcat_text -STRCAT_TEXT macro txt - extern txt - lfsr FSR1, txt - call strcat_text - endm + extern strcat_text +STRCAT_TEXT macro txt + extern txt + lfsr FSR1, txt + call strcat_text + endm - extern strcat_text_print -STRCAT_TEXT_PRINT macro txt - extern txt - lfsr FSR1, txt - call strcat_text_print - endm + extern strcat_text_print +STRCAT_TEXT_PRINT macro txt + extern txt + lfsr FSR1, txt + call strcat_text_print + endm ;============================================================================= -; A shortcut for the macros WIN_TOP + WIN_LEFT + WIN_FONT. -; The idea is to replace a 4x6=24 bytes sequence by a more compact 6bytes one. +; A shortcut for the macros WIN_TOP + WIN_LEFT + WIN_FONT +; The idea is to replace a 4x6=24 bytes sequence by a more compact 6 bytes one. ; ; Trashed: TBLPTR, TABLAT, WREG. -; Note: This are all bank-safe call. - extern start_tiny_block +; Note : uses bank-safe calls only +; + extern start_tiny_block WIN_TINY macro x, y - call start_tiny_block - DB x, y - endm + call start_tiny_block + DB x, y + endm - extern start_small_block + extern start_small_block WIN_SMALL macro x, y - call start_small_block - DB x, y - endm + call start_small_block + DB x, y + endm - extern start_std_block + extern start_std_block WIN_STD macro x, y - call start_std_block - DB x, y - endm + call start_std_block + DB x, y + endm - extern start_medium_block -WIN_MEDIUM macro x, y - call start_medium_block - DB x, y - endm + extern start_medium_block +WIN_MEDIUM macro x, y + call start_medium_block + DB x, y + endm - extern start_large_block -WIN_LARGE macro x, y - call start_large_block - DB x, y - endm + extern start_large_block +WIN_LARGE macro x, y + call start_large_block + DB x, y + endm ;============================================================================= -; Shortcuts for compact display programmings. -TEXT_TINY macro x, y, txt - WIN_TINY x,y - STRCPY_TEXT_PRINT txt - endm +; Shortcuts for compact display programmings +; +TEXT_TINY macro x, y, txt + WIN_TINY x,y + STRCPY_TEXT_PRINT txt + endm -TEXT_SMALL macro x, y, txt - WIN_SMALL x,y - STRCPY_TEXT_PRINT txt - endm +TEXT_SMALL macro x, y, txt + WIN_SMALL x,y + STRCPY_TEXT_PRINT txt + endm -TEXT_SMALL_INVERT macro x, y, txt - WIN_SMALL_INVERT x,y - STRCPY_TEXT_PRINT txt - endm +TEXT_SMALL_INVERT macro x, y, txt + WIN_SMALL_INVERT x,y + STRCPY_TEXT_PRINT txt + endm -TEXT_MEDIUM macro x, y, txt - WIN_MEDIUM x,y - STRCPY_TEXT_PRINT txt - endm +TEXT_MEDIUM macro x, y, txt + WIN_MEDIUM x,y + STRCPY_TEXT_PRINT txt + endm -TEXT_LARGE macro x, y, txt - WIN_LARGE x,y - STRCPY_TEXT_PRINT txt - endm +TEXT_LARGE macro x, y, txt + WIN_LARGE x,y + STRCPY_TEXT_PRINT txt + endm -STRING_TINY macro x, y, string - WIN_SMALL x,y - STRCPY_PRINT string - endm +STRING_TINY macro x, y, string + WIN_SMALL x,y + STRCPY_PRINT string + endm -STRING_SMALL macro x, y, string - WIN_SMALL x,y - STRCPY_PRINT string - endm +STRING_SMALL macro x, y, string + WIN_SMALL x,y + STRCPY_PRINT string + endm -STRING_MEDIUM macro x, y, string - WIN_MEDIUM x,y - STRCPY_PRINT string - endm +STRING_MEDIUM macro x, y, string + WIN_MEDIUM x,y + STRCPY_PRINT string + endm -STRING_LARGE macro x, y, string - WIN_LARGE x,y - STRCPY_PRINT string - endm - +STRING_LARGE macro x, y, string + WIN_LARGE x,y + STRCPY_PRINT string + endm