/**
* ANELEX PRINTER Interface Microcontroller
* Test strings
*
* These are 64KByte of text strings, stored in
* program memory.
*
* This file is part of the Bull Anelex Project
* Copyright (C) 2010, 2011 Sven Köppel, technikum29.de
*
* This program is free software; you can redistribute
* it and/or modify it under the terms of the GNU General
* Public License as published by the Free Software
* Foundation; either version 3 of the License, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will
* be useful, but WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General
* Public License along with this program; if not, see
* .
*
**/
#include "data.h"
//#include
#include "data.h"
char string_helloworld[] PROGMEM = "HELLO WORLD";
char string_simple[] PROGMEM =
"ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ\n"
"BCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZA\n"
"0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n"
"1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890\n";
char string_charset[] PROGMEM =
"ABCDEFGHIJKLMNOPQRSTUVWXYZ\n"
"abcdefghijklmnopqrstuvwxyz\n"
"ZYXWVUTSRQPONMLKJIHGFEDCBA\n"
"zxywvutsrqponmlkjihgfedcba\n"
"0123456789\n"
"9876543210\n"
"+-.,()/=?";
char string_pangrams[] PROGMEM =
"The quick brown fox jumps over the lazy dog.\n"
"Vogel Quax zwickt Johnys Pferd Bim.\n"
"Sylvia wagt quick den Jux bei Pforzheim.\n"
"Prall vom Whisky flog Quax den Jet zu Bruch.\n"
"Franz jagt im komplett verwahrlosten Taxi quer durch Bayern.\n"
"Stanleys Expeditionszug quer durch Afrika wird von jedermann bewundert.\n"
"Jackdaws love my big Sphinx of Quartz.\n";
char string_numbers[] PROGMEM = "\
1234567890123456789012345678901234567890123456789012345678901234567890\n\
123456789012345678901234567890123456789012345678901234567890\n\
12345678901234567890123456789012345678901234567890\n\
1234567890123456789012345678901234567890\n\
123456789012345678901234567890\n\
12345678901234567890\n\
1234567890\n\
123\n";
// yes, this IS the help message which is printed via RS232 on "?help" command.
char string_help_message[] PROGMEM =
"HELP\n"
"====\n"
"\n"
" This is the ANELEX printer interface microcontroller. Any text which is\n"
" recieved via RS232 will be directly printed out. There is some verbose output\n"
" (which you can ignore), especially for every bad character (which is not in\n"
" the charset of the printer).\n"
"\n"
" Alternatively, you can push the button on the microcontroller board, which will\n"
" print some built in tests. Magic Lines starting with an quotation mark (?) are\n"
" interpreted as commands. These commands are available:\n"
"\n"
" help Prints out this help message\n"
" ping Just prints something back\n"
" print N Starts the test procedure number N, while N is a number\n"
" list List all available tests\n"
" list N Just output the test string number N on the RS232 terminal\n"
"\n";
// yes, this is the list of strings message
char string_list_of_strings[] PROGMEM =
"ID NAME CONTENT\n"
"== ============== =======================================================\n"
" 1 helloworld A simple HELLO WORLD oneliner\n"
" 2 simple A-Z, 0-9 tests, 4 lines\n"
" 3 charset The full character set from the ANELEX printer, 7 lines\n"
" 4 pangrams Pangrams (sentences with each letter), 7 lines\n"
" 5 numbers 8 lines of numbers\n"
" 6 shortandlong very short and long lines of numbers\n"
" 7 bullhomepagetext An text excerpt from technikum29.de, 19 lines\n"
" 8 werther Die Leiden des jungen Werther, excerpt, 26 lines\n"
" 9 pi 120x100 columns, first digits of pi = 2.31...\n"
"\n";
char string_bullhomepagetext[] PROGMEM =
"1963 brachte BULL (General Electric) den GAMMA 10 (G10) auf den Markt, der insbesondere für kommerzielle\n"
"Anwendungen im Lochkartenverfahren gedacht war. Dies war der unmittelbare Nachfolger der Tabelliermaschine\n"
"(mit oder ohne Gamma 3). Im Gegensatz zu den Großanlagen benötigte der G10 nur einen ca. 20m² großen Raum, \n"
"der nicht klimatisiert werden musste. Die Leistungsaufnahme beträgt maximal 2,5 kW.\n"
"Die Grundausrüstung besteht aus der Zentraleinheit mit Steuerpult, der Lochkartenlese-/Stanzeinheit und\n"
"dem separaten Trommeldrucker. Der Arbeitsspeicher ist ein Kernspeicher der wahlweise 1kB bis maximal\n"
"4 kB Kapazität hatte. Für die Programmierung stehen 59 unterschiedliche Grundoperationen zur Verfügung.\n"
"Die Zykluszeit des Kernspeichers beträgt 7 Mikrosekunden. Der Rechner kann gleichzeitig 300 Karten pro\n"
"Minute lesen und stanzen. Entsprechend gigantisch ist das Stanzwerk. 5 komplette Lochkarten pro Sekunde\n"
"zu stanzen ist eine beachtliche Leistung. Der Drucker schafft immerhin 300 Zeilen pro Minute (Zum\n"
"Vergleich: Der Drucker unserer UNIVAC 9400 Anlage ist mehr als dreimal so schnell).\n"
"Dieser Rechner zeichnet sich durch einen sehr ästhetischen, hervorragenden Aufbau aus. Nackt, d.h.\n"
"ohne Verkleidung wirkt er noch schöner als in der ersten Abbildung. Das gesamte Chassis ist in\n"
"silbermetallic Hochglanzfarbe ausgeführt. Die Anordnungen der einzelnen Elemente sind klar,\n"
"servicefreundlich und übersichtlich.\n"
"Mittlerweile funktioniert bereits die gesamte und sehr komplexe Mechanik, die ein wesentlicher Teil \n"
"dieses Rechners ist. Nachdem wir den beheizten Kernspeicher auf die richtige Temperatur eingeregelt \n"
"und ein paar defekte Transistoren gewechselt haben, laufen bereits ein Programm zum Doppeln von \n"
"Lochkarten, sowie die ersten Mathematikprogramme. Das ist für einen so alten Computer wahrlich \n"
"sensationell.\n";
char string_werther[] PROGMEM = // 120 zeilen ausnutzung, Goethes Werther
"Eine wunderbare Heiterkeit hat meine ganze Seele eingenommen, gleich den süßen Frühlingsmorgen, die ich mit ganzem\n\
Herzen genieße. Ich bin allein und freue mich meines Lebens in dieser Gegend, die für solche Seelen geschaffen ist wie\n\
die meine. Ich bin so glücklich, mein Bester, so ganz in dem Gefühle von ruhigem Dasein versunken, daß meine Kunst\n\
darunter leidet. Ich könnte jetzt nicht zeichnen, nicht einen Strich, und bin nie ein größerer Maler gewesen als in\n\
diesen Augenblicken. Wenn das liebe Tal um mich dampft, und die hohe Sonne an der Oberfläche der undurchdringlichen\n\
Finsternis meines Waldes ruht, und nur einzelne Strahlen sich in das innere Heiligtum stehlen, ich dann im hohen Grase\n\
am fallenden Bache liege, und näher an der Erde tausend mannigfaltige Gräschen mir merkwürdig werden; wenn ich das\n\
Wimmeln der kleinen Welt zwischen Halmen, die unzähligen, unergründlichen Gestalten der Würmchen, der Mückchen näher an\n\
meinem Herzen fühle, und fühle die Gegenwart des Allmächtigen, der uns nach seinem Bilde schuf, das Wehen des\n\
Alliebenden, der uns in ewiger Wonne schwebend trägt und erhält; mein Freund! Wenn's dann um meine Augen dämmert, und\n\
die Welt um mich her und der Himmel ganz in meiner Seele ruhn wie die Gestalt einer Geliebten - dann sehne ich mich oft\n\
und denke : ach könntest du das wieder ausdrücken, könntest du dem Papiere das einhauchen, was so voll, so warm in dir\n\
lebt, daß es würde der Spiegel deiner Seele, wie deine Seele ist der Spiegel des unendlichen Gottes! - mein Freund -\n\
aber ich gehe darüber zugrunde, ich erliege unter der Gewalt der Herrlichkeit dieser Erscheinungen. Eine wunderbare\n\
Heiterkeit hat meine ganze Seele eingenommen, gleich den süßen Frühlingsmorgen, die ich mit ganzem Herzen genieße. Ich\n\
bin allein und freue mich meines Lebens in dieser Gegend, die für solche Seelen geschaffen ist wie die meine. Ich bin so\n\
glücklich, mein Bester, so ganz in dem Gefühle von ruhigem Dasein versunken, daß meine Kunst darunter leidet. Ich könnte\n\
jetzt nicht zeichnen, nicht einen Strich, und bin nie ein größerer Maler gewesen als in diesen Augenblicken. Wenn das\n\
liebe Tal um mich dampft, und die hohe Sonne an der Oberfläche der undurchdringlichen Finsternis meines Waldes ruht, und\n\
nur einzelne Strahlen sich in das innere Heiligtum stehlen, ich dann im hohen Grase am fallenden Bache liege, und näher\n\
an der Erde tausend mannigfaltige Gräschen mir merkwürdig werden; wenn ich das Wimmeln der kleinen Welt zwischen Halmen,\n\
die unzähligen, unergründlichen Gestalten der Würmchen, der Mückchen näher an meinem Herzen fühle, und fühle die\n\
Gegenwart des Allmächtigen, der uns nach seinem Bilde schuf, das Wehen des Alliebenden, der uns in ewiger Wonne\n\
schwebend trägt und erhält; mein Freund! Wenn's dann um meine Augen dämmert, und die Welt um mich her und der Himmel\n\
ganz in meiner Seele ruhn wie die Gestalt einer Geliebten - dann sehne ich mich oft und denke : ach könntest du das\n\
wieder ausdrücken, könntest du dem Papiere das einhauchen, was so voll, so warm in dir lebt, daß es würde der Spiegel\n\
deiner...\n";
char string_shortandlong[] PROGMEM =
"short and long lines test. Do we have same speeds?\n\
0123456789012345678901234567890123456789012345678901234567890123456789\n\
a\n\
01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n\
a\nb\nc\n\nd\ne\nf\ng\nh\ni\nj\nl\nm\nn\no\np\n\etc\n\
01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n\
01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n\
01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n\
01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n\
01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n\
b\nc\n\
01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n\
01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n\
01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n\
end of short and long lines test\n";
// 100 lines of 120 columns pi digits
char string_pi_120x100[] PROGMEM = "\
PI =\n\
3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306\n\
64709384460955058223172535940812848111745028410270193852110555964462294895493038196442881097566593344612847564823378678\n\
31652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925\n\
90360011330530548820466521384146951941511609433057270365759591953092186117381932611793105118548074462379962749567351885\n\
75272489122793818301194912983367336244065664308602139494639522473719070217986094370277053921717629317675238467481846766\n\
94051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121\n\
29021960864034418159813629774771309960518707211349999998372978049951059731732816096318595024459455346908302642522308253\n\
34468503526193118817101000313783875288658753320838142061717766914730359825349042875546873115956286388235378759375195778\n\
18577805321712268066130019278766111959092164201989380952572010654858632788659361533818279682303019520353018529689957736\n\
22599413891249721775283479131515574857242454150695950829533116861727855889075098381754637464939319255060400927701671139\n\
00984882401285836160356370766010471018194295559619894676783744944825537977472684710404753464620804668425906949129331367\n\
70289891521047521620569660240580381501935112533824300355876402474964732639141992726042699227967823547816360093417216412\n\
19924586315030286182974555706749838505494588586926995690927210797509302955321165344987202755960236480665499119881834797\n\
75356636980742654252786255181841757467289097777279380008164706001614524919217321721477235014144197356854816136115735255\n\
21334757418494684385233239073941433345477624168625189835694855620992192221842725502542568876717904946016534668049886272\n\
32791786085784383827967976681454100953883786360950680064225125205117392984896084128488626945604241965285022210661186306\n\
74427862203919494504712371378696095636437191728746776465757396241389086583264599581339047802759009946576407895126946839\n\
83525957098258226205224894077267194782684826014769909026401363944374553050682034962524517493996514314298091906592509372\n\
21696461515709858387410597885959772975498930161753928468138268683868942774155991855925245953959431049972524680845987273\n\
64469584865383673622262609912460805124388439045124413654976278079771569143599770012961608944169486855584840635342207222\n\
58284886481584560285060168427394522674676788952521385225499546667278239864565961163548862305774564980355936345681743241\n\
12515076069479451096596094025228879710893145669136867228748940560101503308617928680920874760917824938589009714909675985\n\
26136554978189312978482168299894872265880485756401427047755513237964145152374623436454285844479526586782105114135473573\n\
95231134271661021359695362314429524849371871101457654035902799344037420073105785390621983874478084784896833214457138687\n\
51943506430218453191048481005370614680674919278191197939952061419663428754440643745123718192179998391015919561814675142\n\
69123974894090718649423196156794520809514655022523160388193014209376213785595663893778708303906979207734672218256259966\n\
15014215030680384477345492026054146659252014974428507325186660021324340881907104863317346496514539057962685610055081066\n\
58796998163574736384052571459102897064140110971206280439039759515677157700420337869936007230558763176359421873125147120\n\
53292819182618612586732157919841484882916447060957527069572209175671167229109816909152801735067127485832228718352093539\n\
65725121083579151369882091444210067510334671103141267111369908658516398315019701651511685171437657618351556508849099898\n\
59982387345528331635507647918535893226185489632132933089857064204675259070915481416549859461637180270981994309924488957\n\
57128289059232332609729971208443357326548938239119325974636673058360414281388303203824903758985243744170291327656180937\n\
73444030707469211201913020330380197621101100449293215160842444859637669838952286847831235526582131449576857262433441893\n\
03968642624341077322697802807318915441101044682325271620105265227211166039666557309254711055785376346682065310989652691\n\
86205647693125705863566201855810072936065987648611791045334885034611365768675324944166803962657978771855608455296541266\n\
54085306143444318586769751456614068007002378776591344017127494704205622305389945613140711270004078547332699390814546646\n\
45880797270826683063432858785698305235808933065757406795457163775254202114955761581400250126228594130216471550979259230\n\
99079654737612551765675135751782966645477917450112996148903046399471329621073404375189573596145890193897131117904297828\n\
56475032031986915140287080859904801094121472213179476477726224142548545403321571853061422881375850430633217518297986622\n\
37172159160771669254748738986654949450114654062843366393790039769265672146385306736096571209180763832716641627488880078\n\
69256029022847210403172118608204190004229661711963779213375751149595015660496318629472654736425230817703675159067350235\n\
07283540567040386743513622224771589150495309844489333096340878076932599397805419341447377441842631298608099888687413260\n\
47215695162396586457302163159819319516735381297416772947867242292465436680098067692823828068996400482435403701416314965\n\
89794092432378969070697794223625082216889573837986230015937764716512289357860158816175578297352334460428151262720373431\n\
46531977774160319906655418763979293344195215413418994854447345673831624993419131814809277771038638773431772075456545322\n\
07770921201905166096280490926360197598828161332316663652861932668633606273567630354477628035045077723554710585954870279\n\
08143562401451718062464362679456127531813407833033625423278394497538243720583531147711992606381334677687969597030983391\n\
30771098704085913374641442822772634659470474587847787201927715280731767907707157213444730605700733492436931138350493163\n\
12840425121925651798069411352801314701304781643788518529092854520116583934196562134914341595625865865570552690496520985\n\
80338507224264829397285847831630577775606888764462482468579260395352773480304802900587607582510474709164396136267604492\n\
56274204208320856611906254543372131535958450687724602901618766795240616342522577195429162991930645537799140373404328752\n\
62888963995879475729174642635745525407909145135711136941091193932519107602082520261879853188770584297259167781314969900\n\
90192116971737278476847268608490033770242429165130050051683233643503895170298939223345172201381280696501178440874519601\n\
21228599371623130171144484640903890644954440061986907548516026327505298349187407866808818338510228334508504860825039302\n\
13321971551843063545500766828294930413776552793975175461395398468339363830474611996653858153842056853386218672523340283\n\
08711232827892125077126294632295639898989358211674562701021835646220134967151881909730381198004973407239610368540664319\n\
39509790190699639552453005450580685501956730229219139339185680344903982059551002263535361920419947455385938102343955449\n\
59778377902374216172711172364343543947822181852862408514006660443325888569867054315470696574745855033232334210730154594\n\
05165537906866273337995851156257843229882737231989875714159578111963583300594087306812160287649628674460477464915995054\n\
97374256269010490377819868359381465741268049256487985561453723478673303904688383436346553794986419270563872931748723320\n\
83760112302991136793862708943879936201629515413371424892830722012690147546684765357616477379467520049075715552781965362\n\
13239264061601363581559074220202031872776052772190055614842555187925303435139844253223415762336106425063904975008656271\n\
09535919465897514131034822769306247435363256916078154781811528436679570611086153315044521274739245449454236828860613408\n\
41486377670096120715124914043027253860764823634143346235189757664521641376796903149501910857598442391986291642193994907\n\
23623464684411739403265918404437805133389452574239950829659122850855582157250310712570126683024029295252201187267675622\n\
04154205161841634847565169998116141010029960783869092916030288400269104140792886215078424516709087000699282120660418371\n\
80653556725253256753286129104248776182582976515795984703562226293486003415872298053498965022629174878820273420922224533\n\
98562647669149055628425039127577102840279980663658254889264880254566101729670266407655904290994568150652653053718294127\n\
03369313785178609040708667114965583434347693385781711386455873678123014587687126603489139095620099393610310291616152881\n\
38437909904231747336394804575931493140529763475748119356709110137751721008031559024853090669203767192203322909433467685\n\
14221447737939375170344366199104033751117354719185504644902636551281622882446257591633303910722538374218214088350865739\n\
17715096828874782656995995744906617583441375223970968340800535598491754173818839994469748676265516582765848358845314277\n\
56879002909517028352971634456212964043523117600665101241200659755851276178583829204197484423608007193045761893234922927\n\
96501987518721272675079812554709589045563579212210333466974992356302549478024901141952123828153091140790738602515227429\n\
95818072471625916685451333123948049470791191532673430282441860414263639548000448002670496248201792896476697583183271314\n\
25170296923488962766844032326092752496035799646925650493681836090032380929345958897069536534940603402166544375589004563\n\
28822505452556405644824651518754711962184439658253375438856909411303150952617937800297412076651479394259029896959469955\n\
65761218656196733786236256125216320862869222103274889218654364802296780705765615144632046927906821207388377814233562823\n\
60896320806822246801224826117718589638140918390367367222088832151375560037279839400415297002878307667094447456013455641\n\
72543709069793961225714298946715435784687886144458123145935719849225284716050492212424701412147805734551050080190869960\n\
33027634787081081754501193071412233908663938339529425786905076431006383519834389341596131854347546495569781038293097164\n\
65143840700707360411237359984345225161050702705623526601276484830840761183013052793205427462865403603674532865105706587\n\
48822569815793678976697422057505968344086973502014102067235850200724522563265134105592401902742162484391403599895353945\n\
90944070469120914093870012645600162374288021092764579310657922955249887275846101264836999892256959688159205600101655256\n\
37567856672279661988578279484885583439751874454551296563443480396642055798293680435220277098429423253302257634180703947\n\
69941597915945300697521482933665556615678736400536665641654732170439035213295435291694145990416087532018683793702348886\n\
89479151071637852902345292440773659495630510074210871426134974595615138498713757047101787957310422969066670214498637464\n\
59528082436944578977233004876476524133907592043401963403911473202338071509522201068256342747164602433544005152126693249\n\
34196739770415956837535551667302739007497297363549645332888698440611964961627734495182736955882207573551766515898551909\n\
86665393549481068873206859907540792342402300925900701731960362254756478940647548346647760411463233905651343306844953979\n\
07090302346046147096169688688501408347040546074295869913829668246818571031887906528703665083243197440477185567893482308\n\
94310682870272280973624809399627060747264553992539944280811373694338872940630792615959954626246297070625948455690347119\n\
72996409089418059534393251236235508134949004364278527138315912568989295196427287573946914272534366941532361004537304881\n\
98551706594121735246258954873016760029886592578662856124966552353382942878542534048308330701653722856355915253478445981\n\
83134112900199920598135220511733658564078264849427644113763938669248031183644536985891754426473998822846218449008777697\n\
76312795722672655562596282542765318300134070922334365779160128093179401718598599933849235495640057099558561134980252499\n\
06698423301735035804408116855265311709957089942732870925848789443646005041089226691783525870785951298344172953519537885\n\
53457374260859029081765155780390594640873506123226112009373108048548526357228257682034160504846627750450031262008007998\n\
04925485346941469775164932709504934639382432227188515974054702148289711177792376122578873477188196825462981268685817050\n";
// this is an array in normal RAM filled with pointers to program space:
PGM_P builtin_strings[] = {
// 10 ordinary test strings
string_helloworld,
string_simple,
string_charset,
string_pangrams,
string_numbers,
string_shortandlong,
string_bullhomepagetext,
string_werther,
string_pi_120x100,
// 2 meta like strings (which are not listed in the list of strings)
string_help_message,
string_list_of_strings,
};