Firmware para 16F877A com bancos nomeados por letras (de A a r):
:10000000712883178001840AFF3E031D02286C2893
:10001000031783168C010C1483120C0803178D0A26
:100020006C28030103178C0083168C010C155530C6
:100030008D00AA308D008C148C181C280C11831292
:100040008D0A6C28A301A200FF30A207031CA3079E
:10005000031C6C280330A100DF3030202428A101CC
:10006000E83EA000A109FC30031C3928A0070318B2
:100070003628A0076400A10F362820183F28A01CAE
:100080004328000043280800A2000530A8002308E8
:100090002102031D4D2822082002043003180130DC
:1000A000031902302805031DFF306C281030A8000A
:1000B000A101A001A70CA60C031C64282208A0071C
:1000C00023080318230FA107A10CA00CA50CA40C56
:1000D000A80B5A2824086C28831303138312640086
:1000E00008008316FF3085008601C0308700880134
:1000F0000330890006309F00203084006030831276
:100100008A010220A030840050308A010220103081
:10011000840060308A0101209030840060308A01C0
:1001200001208801C030870086010911BC01031736
:10013000FF308D0003138A010820B8000317FE303A
:100140008D0003138A010820B90064000508003CF3
:100150008A110A12031DAE28B801B901E830A000C7
:100160000330A1003908A30038088A0144208A110D
:100170000A12031DBD288A01A528B80A0319B90A65
:100180000317FF308D00031338088A01122003176C
:10019000FE308D00031339088A01122064008A1191
:1001A0000A128918DB280130A3002C308A01232091
:1001B0008A110A1208223C080F3C8A110A12031CF9
:1001C000FF288A110A12E82086008A110A12FF28E5
:1001D00000308A003C08EF3E03188A0A8200773418
:1001E0007C3439345E34793471346F347434063489
:1001F0001E34383454345C347334673450346400FF
:100200008A110A120918132964008A110A1209199D
:100210000D2909158A110A120E2909110130A300AE
:100220005E308A01232064008A110A12851A272968
:10023000FA308A012220BC0364003C08FF3C8A118A
:100240000A12031D2429BC018A110A12E521640047
:100250008A110A12071B3C29FA308A012220BC0AA3
:1002600064003C08103C8A110A12031D39290F3022
:10027000BC008A110A12E52164008A110A12051ACB
:100280004829FA308A012220BE018A110A12E5218A
:1002900064008A110A1285195529FA308A01222030
:1002A0000130BE008A110A12E52164008A110A1287
:1002B00005196229FA308A0122200230BE008A1113
:1002C0000A12E52164008A110A1285186F29FA3092
:1002D0008A0122200330BE008A110A12E52164003F
:1002E0008A110A1205187C29FA308A01222004306A
:1002F000BE008A110A12E52164008A110A12871BC6
:100300008929FA308A0122200530BE008A110A129A
:10031000E52164003E08003C8A110A12031D92295F
:100320000130870064003E08013C8A110A12031D57
:100330009B290230870064003E08023C8A110A12A1
:10034000031DA4290430870064003E08033C8A1181
:100350000A12031DAD290830870064003E08043CE2
:100360008A110A12031DB6291030870064003E0866
:10037000053C8A110A12031DBF29203087003C0862
:100380000F3C8A110A12031CE3298A110A12CC219C
:1003900086008A110A12E32901308A003C08D33E04
:1003A00003188A0A820077347C3439345E34793415
:1003B00071346F34743406341E34383454345C343D
:1003C0007334673450348A01CE283C08A600A70154
:1003D0001030A200A3018A015620BA002508BB00F4
:1003E0003A083E07BD003D0803178D0003138A013C
:1003F0000820BF0064003C08003C8A110A12031D5B
:10040000022ABF013F08880032308A0122200800FA
:1004100086173C080F3C8A110A12031C2D2A8A11E8
:100420000A12162286008A110A122D2A02308A0028
:100430003C081D3E03188A0A8200F734FC34B934A4
:10044000DE34F934F134EF34F43486349E34B83485
:10045000D434DC34F334E734D03464008A110A1223
:10046000051A432AFA308A01222064008A110A12EE
:100470003F1C3E2A3F108A110A123F2A3F143F18A0
:1004800008143F1C081064008A110A128519592AA1
:10049000FA308A01222064008A110A12BF1C542AF1
:1004A000BF108A110A12552ABF14BF188814BF1C26
:1004B000881064008A110A1205196F2AFA308A011D
:1004C000222064008A110A123F1D6A2A3F118A11F4
:1004D0000A126B2A3F153F1908153F1D08116400C9
:1004E0008A110A128518852AFA308A0122206400AE
:1004F0008A110A12BF1D802ABF118A110A12812A8D
:10050000BF15BF198815BF1D881164008A110A1212
:1005100005189B2AFA308A01222064008A110A12E7
:100520003F1E962A3F128A110A12972A3F163F1A37
:1005300008163F1E081264008A110A12871BB12A8E
:10054000FA308A01222064008A110A12BF1EAC2AE6
:10055000BF128A110A12AD2ABF16BF1A8816BF1E13
:10056000881264008A110A12851AC72AFA308A0191
:10057000222064008A110A123F1FC22A3F138A11E7
:100580000A12C32A3F173F1B08173F1F08136400B6
:100590008A110A12071BDD2AFA308A012220640020
:1005A0008A110A12BF1FD82ABF138A110A12D92A28
:1005B000BF17BF1B8817BF1F88133F088800640040
:1005C0008A110A128918162B0130A3005E308A01A5
:1005D00023203D0803178D0003133F088A011220D2
:1005E00086133C080F3C8A110A12031C152B8A1132
:1005F0000A12FE2286008A110A12152B03308A0085
:100600003C08053E03188A0A820077347C3439346A
:100610005E34793471346F34743406341E343834B3
:1006200054345C3473346734503408008A012D2A02
:0606300063008A01182B93
:02400E00313F40
:00000001FF
-----
Entre "pontos" e "não pontos" imagino que a multiplexação de dois displays seria mais prático apesar de elevar o preço do equipamento e necessitar de alterações na programação. Seria 100 bancos somente com representação numérica!! (depende da capacidade da EEPROM do PIC)
Além disso me parece que o modo de 8 presets por banco e 16 bancos dá o total de 128 presets. Imagino que seja difícil alguém que use efetivamente esses 128 presets.
Não existem portas disponíveis para fazer dois displays multiplexados.
Esse projeto tem 6 presets por banco, logo seriam 6 x 15 = 90 presets (são 16 bancos, mas o banco A é de bypass e não programável) que poderiam ser armazenados.
Com 8 loops, seriam 256 combinações diferentes possíveis de presets. Mas concordo que dificilmente mais de 128 poderiam ser usados, ou até 90.
Fazer 100 bancos seria inútil, pois se são apenas 256 combinações possíveis, ter 100 bancos com 6 presets daria 600 e é mais do que preciso.