z80:Buffer Tables

From Learn @ Cemetech
Jump to: navigation, search

Here's a compiled table of "buffer equates" that allow you to save time when writing buffer code. Note that you don't need to use the whole buffer, and any key you want to "ignore", replace it with a .db 0. You can also replace any key code with another TI ASCII value to create an alternative table. For information on edit buffers, see this page. If you're looking for specific equivalents rather than all equivalents, see GetCSC Codes or GetKey Codes.

For GetKey

   ;character	;key hex	;keypress name
    .db 0		;00		none
    .db 0		;01		kRight
    .db 0		;02		kLeft
    .db 0		;03		kUp
    .db 0		;04		kDown
    .db 0		;05		kEnter
    .db 0		;06		kAlphaEnter
    .db 0		;07		kAlphaUp
    .db 0		;08		kAlphaDown
    .db 0		;09		kClear
    .db 0		;0A		none
    .db 0		;0B		kIns
    .db 0		;0C		kRecall
    .db 0		;0D		kLastEnt
    .db 0		;0E		kBOL
    .db 0		;0F		kEOL
    
    .db 0		;10		none
    .db 0		;11		none
    .db 0		;12		none
    .db 0		;13		none
    .db 0		;14		none
    .db 0		;15		none
    .db 0		;16		none
    .db 0		;17		none
    .db 0		;18		none
    .db 0		;19		none
    .db 0		;1A		none
    .db 0		;1B		none
    .db 0		;1C		none
    .db 0		;1D		none
    .db 0		;1E		none
    .db 0		;1F		none
    
    .db 0		;20		none
    .db 0		;21		none
    .db 0		;22		none
    .db 0		;23		none
    .db 0		;24		none
    .db 0		;25		none
    .db 0		;26		none
    .db 0		;27		none
    .db 0		;28		none
    .db 0		;29		none
    .db 0		;2A		none
    .db 0		;2B		none
    .db 0		;2C		none
    .db 0		;2D		none
    .db 0		;2E		kZoom
    .db 0		;2F		kDraw
   
    .db 0		;30		none
    .db 0		;31		kStat
    .db 0		;32		kMath
    .db 0		;33		kTest
    .db 0		;34		none
    .db 0		;35		kVars
    .db 0		;36		kMem
    .db 0		;37		kMatrix
    .db 0		;38		kDist
    .db 0		;39		kAngle
    .db 0		;3A		kList
    .db 0		;3B		kCalc
    .db 0		;3C		none
    .db 0		;3D		none
    .db 0		;3E		kCatalog
    .db 0		;3F		kOff
    
    .db 0		;40		kQuit
    .db 0		;41		kLinkIO
    .db 0		;42		none
    .db 0		;43		kStatEd
    .db 0		;44		kGraph
    .db 0		;45		kMode
    .db 0		;46		none
    .db 0		;47		none
    .db 0		;48		kWindow
    .db 0		;49		kYEqu
    .db 0		;4A		kTable
    .db 0		;4B		kTblSet
    .db 0		;4C		none
    .db 0		;4D		none
    .db 0		;4E		none
    .db 0		;4F		none
   
    .db 0		;50		none
    .db 0		;51		none
    .db 0		;52		none
    .db 0		;53		none
    .db 0		;54		none
    .db 0		;55		none
    .db 0		;56		none
    .db 0		;57		kFormat
    .db 0		;58		none
    .db 0		;59		none
    .db 0		;5A		kTrace
    .db 0		;5B		none
    .db 0		;5C		none
    .db 0		;5D		none
    .db 0		;5E		none
    .db 0		;5F		none
    
    .db 0		;60		none
    .db 0		;61		none
    .db 0		;62		none
    .db 0		;63		none
    .db 0		;64		none
    .db 0		;65		none
    .db 0		;66		none
    .db 0		;67		none
    .db 0		;68		none
    .db 0		;69		none
    .db 0		;6A		none
    .db 0		;6B		none
    .db 0		;6C		none
    .db 0		;6D		none
    .db 0		;6E		none
    .db 0		;6F		none
    
    .db 0		;70		none
    .db 0		;71		none
    .db 0		;72		none
    .db 0		;73		none
    .db 0		;74		none
    .db 0		;75		none
    .db 0		;76		none
    .db 0		;77		none
    .db 0		;78		none
    .db 0		;79		none
    .db 0		;7A		none
    .db 0		;7B		none
    .db 0		;7C		none
    .db 0		;7D		none
    .db 0		;7E		none
    .db 0		;7F		none
    
    .db '+'		;80		kAdd
    .db '-'		;81		kSub
    .db '*'		;82		kMul
    .db '/'		;83		kDiv
    .db 0		;84		none
    .db '('		;85		kLParen
    .db ')'		;86		kRParen
    .db '['		;87		kLBrack
    .db ']'		;88		kRBrack
    .db 0		;89		none
    .db $1C		;8A		kSto
    .db ','		;8B		kComma
    .db $1A		;8C		kChs
    .db '.'		;8D		kDecPnt
    .db '0'		;8E		k0
    .db '1'		;8F		k1
    
    .db '2'		;90		k2
    .db '3'		;91		k3
    .db '4'		;92		k4
    .db '5'		;93		k5
    .db '6'		;94		k6
    .db '7'		;95		k7
    .db '8'		;96		k8
    .db '9'		;97		k9
    .db $1B		;98		kEE
    .db ' '		;99		kSpace
    .db 'A'		;9A		kCapA
    .db 'B'		;9B		kCapB
    .db 'C'		;9C		kCapC
    .db 'D'		;9D		kCapD
    .db 'E'		;9E		kCapE
    .db 'F'		;9F		kCapF
    
    .db 'G'		;A0		kCapG
    .db 'H'		;A1		kCapH
    .db 'I'		;A2		kCapI
    .db 'J'		;A3		kCapJ
    .db 'K'		;A4		kCapK
    .db 'L'		;A5		kCapL
    .db 'M'		;A6		kCapM
    .db 'N'		;A7		kCapN
    .db 'O'		;A8		kCapO
    .db 'P'		;A9		kCapP
    .db 'Q'		;AA		kCapQ
    .db 'R'		;AB		kCapR
    .db 'S'		;AC		kCapS
    .db 'T'		;AD		kCapT
    .db 'U'		;AE		kCapU
    .db 'V'		;AF		kCapV
    
    .db 'W'		;B0		kCapW
    .db 'X'		;B1		kCapX
    .db 'Y'		;B2		kCapY
    .db 'Z'		;B3		kCapZ
    .db 'X'		;B4		kVarX
    .db $C4		;B5		kPi
    .db 0		;B6		none
    .db 0		;B7		kSin
    .db 0		;B8		kASin
    .db 0		;B9		kCos
    .db 0		;BA		kACos
    .db 0		;BB		kTan
    .db 0		;BC		kATan
    .db $12		;BD		kSquare
    .db $10		;BE		kSqrt
    .db 0		;BF		kLn
    	
    .db 0		;C0		kExp
    .db 0		;C1		kLog
    .db 0		;C2		kALog
    .db 0		;C3		none
    .db 0		;C4		none
    .db 0		;C5		kAns
    .db ':'		;C6		kColon
    .db 0		;C7		none
    .db 0		;C8		none
    .db 0		;C9		none
    .db '?'		;CA		kQuest
    .db '"'		;CB		kQuote
    .db $5B		;CC		kTheta
    .db 0		;CD		none
    .db 0		;CE		none
    .db 0		;CF		none
    
    .db 0		;D0		none
    .db 0		;D1		none
    .db 0		;D2		none
    .db 0		;D3		none
    .db 0		;D4		none
    .db 0		;D5		none
    .db 0		;D6		none
    .db 0		;D7		none
    .db 0		;D8		none
    .db 0		;D9		none
    .db 0		;DA		none
    .db 0		;DB		none
    .db 0		;DC		none
    .db 0		;DD		none
    .db 0		;DE		none
    .db 0		;DF		none
   
   ;================================
   ;	Standard
   ;================================
   ;Use this is you don't want lower case.
   ;If you do want lower case, then replace this with the lower case section
   
    .db 0		;E0		none
    .db 0		;E1		none
    .db 0		;E2		none
    .db 0		;E3		none
    .db 0		;E4		none
    .db 0		;E5		none
    .db 0		;E6		none
    .db 0		;E7		none
    .db 0		;E8		none
    .db 0		;E9		none
    .db 0		;EA		none
    .db 0		;EB		none
    .db '{'		;EC		kLBrace
    .db '}'		;ED		kRBrace
    .db $D7		;EE		kI
    .db $DB		;EF		kCONSTeA
   
    .db 0		;F0		none
    .db 0		;F1		none
    .db 0		;F2		none
    .db 0		;F3		kL1A
    .db 0		;F4		kL2A
    .db 0		;F5		kL3A
    .db 0		;F6		kL4A
    .db 0		;F7		kL5A
    .db 0		;F8		kL6A
    .db $02		;F9		kUnA
    .db $03		;FA		kVnA
    .db $04		;FB		kWnA
   
   ;=================================
   ;	Lower Case Option
   ;=================================
   ;Use this for lower case. Note that this will also prevent you from using some of the secondary keys
   ;
   
    .db 0		;E0		none
    .db 0		;E1		none
    .db 'a'		;E2		kLa
    .db 'b'		;E3		kLb
    .db 'c'		;E4		kLc
    .db 'd'		;E5		kLd
    .db 'e'		;E6		kLe
    .db 'f'		;E7		kLf
    .db 'g'		;E8		kLg
    .db 'h'		;E9		kLh
    .db 'i'		;EA		kLi
    .db 'j'		;EB		kLj
    .db 'k'		;EC		kLk
    .db 'l'		;ED		kLl
    .db 'm'		;EE		kLm
    .db 'n'		;EF		kLSmalln
   
    .db 'o'		;F0		kLo
    .db 'p'		;F1		kLp
    .db 'q'		;F2		kLq
    .db 'r'		;F3		kLSmallr
    .db 's'		;F4		kLs
    .db 't'		;F5		kLt
    .db 'u'		;F6		kLu
    .db 'v'		;F7		kLv
    .db 'w'		;F8		kLw
    .db 'x'		;F9		kLx
    .db 'y'		;FA		kLy
    .db 'z'		;FB		kLz

For GetCSC

Using Standard Set

This is using the standard GetCSC set.

   ;character	;key hex	;keypress name
    .db 0		;00		none
    .db 0		;01		skDown
    .db 0		;02		skLeft
    .db 0		;03		skRight
    .db 0		;04		skUp
    .db 0		;05		none
    .db 0		;06		none
    .db 0		;07		none
    .db 0		;08		none
    .db 0		;09		skEnter
    .db '+'		;0A		skAdd
    .db '-'		;0B		skSub
    .db '*'		;0C		skMul
    .db '/'		;0D		skDiv
    .db '^'		;0E		skPower
    .db 0		;0F		skClear
    
    .db $1A		;10		skChs
    .db 0		;11		none
    .db '3'		;12		sk3
    .db '6'		;13		sk6
    .db '9'		;14		sk9
    .db ')'		;15		skRParen
    .db 0		;16		skTan
    .db 0		;17		skVars
    .db 0		;18		none
    .db '.'		;19		skDecPnt
    .db '2'		;1A		sk2
    .db '5'		;1B		sk5
    .db '8'		;1C		sk8
    .db '('		;1D		skLParen
    .db 0		;1E		skCos
    .db 0		;1F		skPrgm
    
    .db 0		;20		skStat
    .db '0'		;21		sk0
    .db '1'		;22		sk1
    .db '4'		;23		sk4
    .db '7'		;24		sk7
    .db ','		;25		skComma
    .db 0		;26		skSin
    .db 0		;27		skMatrix
    .db 0		;28		skGraphVar
    .db 0		;29		none
    .db $1C		;2A		skSto
    .db 0		;2B		skLn
    .db 0		;2C		skLog
    .db $12		;2D		skSquare
    .db $11		;2E		skRecip
    .db 0		;2F		skMath
    
    .db 0		;30		skAlpha
    .db 0		;31		skGraph
    .db 0		;32		skTrace
    .db 0		;33		skZoom
    .db 0		;34		skWindow
    .db 0		;35		skYEqu
    .db 0		;36		sk2nd
    .db 0		;37		skMode
    .db 0		;38		skDel

GetCSC-Alpha Version

The more common use is to have alpha on so you can easily type while still using GetCSC.


   ;character	;key hex	;keypress name
    .db 0		;00		none
    .db 0		;01		skDown
    .db 0		;02		skLeft
    .db 0		;03		skRight
    .db 0		;04		skUp
    .db 0		;05		none
    .db 0		;06		none
    .db 0		;07		none
    .db 0		;08		none
    .db 0		;09		skEnter
    .db '"'		;0A		skAdd
    .db 'W'		;0B		skSub
    .db 'R'		;0C		skMul
    .db 'M'		;0D		skDiv
    .db 'H'		;0E		skPower
    .db 0		;0F		skClear
    
    .db '?'		;10		skChs
    .db 0		;11		none
    .db $5B		;12		sk3
    .db 'V'		;13		sk6
    .db 'Q'		;14		sk9
    .db 'L'		;15		skRParen
    .db 'G'		;16		skTan
    .db 0		;17		skVars
    .db 0		;18		none
    .db ':'		;19		skDecPnt
    .db 'Z'		;1A		sk2
    .db 'U'		;1B		sk5
    .db 'P'		;1C		sk8
    .db 'K'		;1D		skLParen
    .db 'F'		;1E		skCos
    .db 'C'		;1F		skPrgm
    
    .db 0		;20		skStat
    .db ' '		;21		sk0
    .db 'Y'		;22		sk1
    .db 'T'		;23		sk4
    .db 'O'		;24		sk7
    .db ','		;25		skComma
    .db 'E'		;26		skSin
    .db 'B'		;27		skMatrix
    .db 'X'		;28		skGraphVar
    .db 0		;29		none
    .db 'X'		;2A		skSto
    .db 'S'		;2B		skLn
    .db 'N'		;2C		skLog
    .db 'I'		;2D		skSquare
    .db 'D'		;2E		skRecip
    .db 'A'		;2F		skMath
    
    .db 0		;30		skAlpha
    .db 0		;31		skGraph
    .db 0		;32		skTrace
    .db 0		;33		skZoom
    .db 0		;34		skWindow
    .db 0		;35		skYEqu
    .db 0		;36		sk2nd
    .db 0		;37		skMode
    .db 0		;38		skDel