z80:Buffer Tables

From Learn @ Cemetech
Revision as of 07:53, 6 February 2016 by KermMartian (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to 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