; Author: Pawel Jablonski ; E-mail: pj@xirx.net ; WWW: xirx.net ; GIT: git.xirx.net ; ; License: You can use this code however you like ; but leave information about the original author. ; Code is free for non-commercial and commercial use. include io.asm ; Arguments: ; A - foreground color (4 bit) ; No return external .xLcdSetForeground: push A ; Set lcd color register mov 4, A call .xIOSetRegister pop A ; Write foreground color call .xIOWriteLowHalf ret ; Arguments: ; A - background color (4 bit) ; No return external .xLcdSetBackground: push A push A ; Set lcd color register mov 4, A call .xIOSetRegister pop A ; Swap to get value in high half swap A ; Write background color call .xIOWriteHighHalf pop A ret ; Arguments: ; A - char to display ; No return external .xLcdSetChar: push A ; Set lcd char register mov 5, A call .xIOSetRegister pop A ; Write char call .xIOWrite ret ; No arguments ; No return external .xLcdClear: push A ; Set lcd command register mov 6, A call .xIOSetRegister ; Write clear command mov 0, A call .xIOWriteLowHalf pop A ret ; No arguments ; No return external .xLcdRefresh: push A ; Set lcd command register mov 6, A call .xIOSetRegister ; Write refresh command mov 1, A call .xIOWriteLowHalf pop A ret ; No arguments ; No return external .xLcdScroll: push A ; Set lcd command register mov 6, A call .xIOSetRegister ; Write scroll command mov 2, A call .xIOWriteLowHalf pop A ret