diff --git a/readme b/readme index 6b4b628..4f45ec9 100644 --- a/readme +++ b/readme @@ -1,25 +1,25 @@ -Tak, tak. Kolejny tetris. Ale czym wyróżnia się mój spośród innych? -- Architektura - to nie pc, smartfon czy komórka, moja własna platforma oparta o mikrokontroler 8bitowy. -- Kod - postanowiłem całą grę napisać w assemblerze +Tak, tak. Kolejny tetris. Ale czym wyróżnia siÄ™ mĂłj spoĹ›rĂłd innych? +- Architektura - to nie pc, smartfon czy komĂłrka, moja wĹ‚asna platforma oparta o mikrokontroler 8bitowy. +- Kod - postanowiĹ‚em caĹ‚Ä… grÄ™ napisać w assemblerze Specyfikacja Procesor: Atmega8 (8kB flash, 1kB SRAM) -Obraz: 104x120px, 16kolorów -Wejście: Pad od Pegasusa (8 przycisków) -Dźwięk: Mono, generowany przez PWM (niestety nie ma, brakło czasu) +Obraz: 104x120px, 16kolorĂłw +WejĹ›cie: Pad od Pegasusa (8 przyciskĂłw) +DĹşwiÄ™k: Mono, generowany przez PWM (niestety nie ma, brakĹ‚o czasu) Dlaczego? -Projekt wykonany na konkurs na serwisie Elektroda.pl. Konkurs był bardzo dobrą motywacją do nauki architektury AVR od najniższego poziomu (assembler). Dodatkowo nauczyłem się generować obraz VGA i poprowadziłem projekt od pomysłu do gotowego urządzenia. +Projekt wykonany na konkurs na serwisie Elektroda.pl. Konkurs byĹ‚ bardzo dobrÄ… motywacjÄ… do nauki architektury AVR od najniĹĽszego poziomu (assembler). Dodatkowo nauczyĹ‚em siÄ™ generować obraz VGA i poprowadziĹ‚em projekt od pomysĹ‚u do gotowego urzÄ…dzenia. Efekt? -Ukończona, działająca "konsola" wraz z klonem gry Tetris, 2gie miejsce w konkursie, ponad 2 tysiące linii kodu w czystym assemblerze, duma z ukończonego projektu (od projektu gry, schematu, PCB, kodu po działającą konsole). +UkoĹ„czona, dziaĹ‚ajÄ…ca "konsola" wraz z klonem gry Tetris, 2gie miejsce w konkursie, ponad 2 tysiÄ…ce linii kodu w czystym assemblerze, duma z ukoĹ„czonego projektu (od projektu gry, schematu, PCB, kodu po dziaĹ‚ajÄ…cÄ… konsole). -Co w tym takiego trudnego? Ano to, że nie mam biblioteki jak SDL czy Allegro, gdzie wywołuje funkcję do wyświetlenia obrazka na ekranie. Nie mam żadnych funkcji, nawet systemu operacyjnego czy nawet czegoś pokroju BIOSu. Wszystko musiałem zaimplementować samemu, włączając w to generację obrazu linia po linii ( czyli to, czym normalnie zajmuje się karta graficzna ), gdzie musiałem liczyć instrukcje co do cyklu, w innym przypadku obraz rozsynchronizowywał się lub wyświetlał błędnie, następnie funkcje wyższego poziomu jak wyświetlanie tilesa i później wyświetlanie fontów czy obrazków. +Co w tym takiego trudnego? Ano to, ĹĽe nie mam biblioteki jak SDL czy Allegro, gdzie wywoĹ‚uje funkcjÄ™ do wyĹ›wietlenia obrazka na ekranie. Nie mam ĹĽadnych funkcji, nawet systemu operacyjnego czy nawet czegoĹ› pokroju BIOSu. Wszystko musiaĹ‚em zaimplementować samemu, wĹ‚Ä…czajÄ…c w to generacjÄ™ obrazu linia po linii ( czyli to, czym normalnie zajmuje siÄ™ karta graficzna ), gdzie musiaĹ‚em liczyć instrukcje co do cyklu, w innym przypadku obraz rozsynchronizowywaĹ‚ siÄ™ lub wyĹ›wietlaĹ‚ bĹ‚Ä™dnie, nastÄ™pnie funkcje wyĹĽszego poziomu jak wyĹ›wietlanie tilesa i później wyĹ›wietlanie fontĂłw czy obrazkĂłw. Kod: http://dl.dropbox.com/u/1753596/VGA_Tetris_src.zip Schemat i PCB: http://dl.dropbox.com/u/1753596/VGA_Tetris_schemat.zip -Jeżeli kogoś interesuje reszta technikalii to zapraszam tutaj: http://www.elektroda.pl/rtvforum/topic2177246.html +JeĹĽeli kogoĹ› interesuje reszta technikalii to zapraszam tutaj: http://www.elektroda.pl/rtvforum/topic2177246.html -Tutaj projekt, w którym autor wyciągnął wszystko z tego 8bitowca. Pełen szacun. http://www.linusakesson.net/scene/craft/ \ No newline at end of file +Tutaj projekt, w ktĂłrym autor wyciÄ…gnÄ…Ĺ‚ wszystko z tego 8bitowca. PeĹ‚en szacun. http://www.linusakesson.net/scene/craft/ \ No newline at end of file diff --git a/schematics/VGA_Tetris.brd b/schematics/VGA_Tetris.brd new file mode 100644 index 0000000..453af09 Binary files /dev/null and b/schematics/VGA_Tetris.brd differ diff --git a/schematics/VGA_Tetris.mpd b/schematics/VGA_Tetris.mpd new file mode 100644 index 0000000..102eebe --- /dev/null +++ b/schematics/VGA_Tetris.mpd @@ -0,0 +1,25 @@ +//MPD-File +#ifndef(pack_C1) #declare global_pack_C1=yes; object {CAP_DIS_CERAMIC_25MM_44MM("",)translate<0,0,0> rotate<0,0.000000,0>rotate<0,-90.000000,0> rotate<0,0,0> translate<58.420000,0.000000,12.700000>}#end //ceramic disc capacitator C1 C025-024X044 +#ifndef(pack_C2) #declare global_pack_C2=yes; object {CAP_DIS_CERAMIC_25MM_44MM("",)translate<0,0,0> rotate<0,0.000000,0>rotate<0,-90.000000,0> rotate<0,0,0> translate<63.500000,0.000000,12.700000>}#end //ceramic disc capacitator C2 C025-024X044 +#ifndef(pack_C3) #declare global_pack_C3=yes; object {CAP_DIS_CERAMIC_25MM_44MM("",)translate<0,0,0> rotate<0,0.000000,0>rotate<0,0.000000,0> rotate<0,0,0> translate<22.860000,0.000000,38.100000>}#end //ceramic disc capacitator C3 C025-024X044 +#ifndef(pack_C4) #declare global_pack_C4=yes; object {CAP_DIS_CERAMIC_25MM_44MM("",)translate<0,0,0> rotate<0,0.000000,0>rotate<0,0.000000,0> rotate<0,0,0> translate<58.420000,0.000000,34.290000>}#end //ceramic disc capacitator C4 C025-024X044 +#ifndef(pack_C5) #declare global_pack_C5=yes; object {CAP_DIS_CERAMIC_25MM_44MM("",)translate<0,0,0> rotate<0,0.000000,0>rotate<0,-180.000000,0> rotate<0,0,0> translate<30.480000,0.000000,19.050000>}#end //ceramic disc capacitator C5 C025-024X044 +#ifndef(pack_C6) #declare global_pack_C6=yes; object {CAP_DIS_CERAMIC_25MM_44MM("",)translate<0,0,0> rotate<0,0.000000,0>rotate<0,-90.000000,0> rotate<0,0,0> translate<71.120000,0.000000,40.640000>}#end //ceramic disc capacitator C6 C025-024X044 +#ifndef(pack_D1) #declare global_pack_D1=yes; object {DIODE_DIS_DO35_102MM_H("1N4148DO35-10",)translate<0,0,0> rotate<0,0.000000,0>rotate<0,-270.000000,0> rotate<0,0,0> translate<33.020000,0.000000,39.370000>}#end //Diode DO35 10mm hor. D1 1N4148DO35-10 DO35-10 +#ifndef(pack_D2) #declare global_pack_D2=yes; object {DIODE_DIS_DO35_102MM_H("1N4148DO35-10",)translate<0,0,0> rotate<0,0.000000,0>rotate<0,-270.000000,0> rotate<0,0,0> translate<30.480000,0.000000,39.370000>}#end //Diode DO35 10mm hor. D2 1N4148DO35-10 DO35-10 +#ifndef(pack_D3) #declare global_pack_D3=yes; object {DIODE_DIS_DO35_102MM_H("1N4148DO35-10",)translate<0,0,0> rotate<0,0.000000,0>rotate<0,-270.000000,0> rotate<0,0,0> translate<27.940000,0.000000,39.370000>}#end //Diode DO35 10mm hor. D3 1N4148DO35-10 DO35-10 +#ifndef(pack_IC1) #declare global_pack_IC1=yes; object {IC_DIS_DIP28("MEGA8-P","ATMEL",)translate<0,0,0> rotate<0,0.000000,0>rotate<0,0.000000,0> rotate<0,0,0> translate<55.880000,0.000000,25.400000>translate<0,3.000000,0> }#end //DIP28 300mil IC1 MEGA8-P DIL28-3 +#ifndef(pack_IC1) object{SOCKET_DIP28()rotate<0,0.000000,0> rotate<0,0,0> translate<55.880000,0.000000,25.400000>}#end //IC-Sockel 28Pin IC1 MEGA8-P +#ifndef(pack_IC2) #declare global_pack_IC2=yes; object {TR_TO220_3_H("7805T",)translate<0,0,0> rotate<0,0.000000,0>rotate<0,-180.000000,0> rotate<0,0,0> translate<21.590000,0.000000,22.860000>}#end //TO220 horizontal straight leads IC2 7805T TO220H +#ifndef(pack_Q1) #declare global_pack_Q1=yes; object {SPC_XTAL_5MM("",3,)translate<0,0,0> rotate<0,0.000000,0>rotate<0,-180.000000,0> rotate<0,0,0> translate<60.960000,0.000000,17.780000>}#end //Quarz 4,9MM Q1 QS +#ifndef(pack_R1) #declare global_pack_R1=yes; object {RES_DIS_0207_10MM(texture{pigment{checker Black White}finish{phong 0.2 ambient (0.1 * global_ambient_mul)}},texture{pigment{checker Black White}finish{phong 0.2 ambient (0.1 * global_ambient_mul)}},texture{pigment{checker Black White}finish{phong 0.2 ambient (0.1 * global_ambient_mul)}},texture {T_Gold_5C finish{reflection 0.1}},)translate<0,0,0> rotate<0,0.000000,0>rotate<0,-180.000000,0> rotate<0,0,0> translate<48.260000,0.000000,17.780000>}#end //Discrete Resistor 0,3W 10MM Grid R1 0207/10 +#ifndef(pack_R2) #declare global_pack_R2=yes; object {RES_DIS_0207_10MM(texture{pigment{checker Black White}finish{phong 0.2 ambient (0.1 * global_ambient_mul)}},texture{pigment{checker Black White}finish{phong 0.2 ambient (0.1 * global_ambient_mul)}},texture{pigment{checker Black White}finish{phong 0.2 ambient (0.1 * global_ambient_mul)}},texture {T_Gold_5C finish{reflection 0.1}},)translate<0,0,0> rotate<0,0.000000,0>rotate<0,-90.000000,0> rotate<0,0,0> translate<52.070000,0.000000,36.830000>}#end //Discrete Resistor 0,3W 10MM Grid R2 0207/10 +#ifndef(pack_R3) #declare global_pack_R3=yes; object {RES_DIS_0207_10MM(texture{pigment{checker Black White}finish{phong 0.2 ambient (0.1 * global_ambient_mul)}},texture{pigment{checker Black White}finish{phong 0.2 ambient (0.1 * global_ambient_mul)}},texture{pigment{checker Black White}finish{phong 0.2 ambient (0.1 * global_ambient_mul)}},texture {T_Gold_5C finish{reflection 0.1}},)translate<0,0,0> rotate<0,0.000000,0>rotate<0,-90.000000,0> rotate<0,0,0> translate<49.530000,0.000000,36.830000>}#end //Discrete Resistor 0,3W 10MM Grid R3 0207/10 +#ifndef(pack_R4) #declare global_pack_R4=yes; object {RES_DIS_0207_10MM(texture{pigment{checker Black White}finish{phong 0.2 ambient (0.1 * global_ambient_mul)}},texture{pigment{checker Black White}finish{phong 0.2 ambient (0.1 * global_ambient_mul)}},texture{pigment{checker Black White}finish{phong 0.2 ambient (0.1 * global_ambient_mul)}},texture {T_Gold_5C finish{reflection 0.1}},)translate<0,0,0> rotate<0,0.000000,0>rotate<0,-90.000000,0> rotate<0,0,0> translate<46.990000,0.000000,36.830000>}#end //Discrete Resistor 0,3W 10MM Grid R4 0207/10 +#ifndef(pack_R5) #declare global_pack_R5=yes; object {RES_DIS_0207_10MM(texture{pigment{checker Black White}finish{phong 0.2 ambient (0.1 * global_ambient_mul)}},texture{pigment{checker Black White}finish{phong 0.2 ambient (0.1 * global_ambient_mul)}},texture{pigment{checker Black White}finish{phong 0.2 ambient (0.1 * global_ambient_mul)}},texture {T_Gold_5C finish{reflection 0.1}},)translate<0,0,0> rotate<0,0.000000,0>rotate<0,0.000000,0> rotate<0,0,0> translate<46.990000,0.000000,44.450000>}#end //Discrete Resistor 0,3W 10MM Grid R5 0207/10 +#ifndef(pack_R6) #declare global_pack_R6=yes; object {RES_DIS_0207_10MM(texture{pigment{checker Black White}finish{phong 0.2 ambient (0.1 * global_ambient_mul)}},texture{pigment{checker Black White}finish{phong 0.2 ambient (0.1 * global_ambient_mul)}},texture{pigment{checker Black White}finish{phong 0.2 ambient (0.1 * global_ambient_mul)}},texture {T_Gold_5C finish{reflection 0.1}},)translate<0,0,0> rotate<0,0.000000,0>rotate<0,0.000000,0> rotate<0,0,0> translate<44.450000,0.000000,46.990000>}#end //Discrete Resistor 0,3W 10MM Grid R6 0207/10 +#ifndef(pack_R7) #declare global_pack_R7=yes; object {RES_DIS_0207_10MM(texture{pigment{checker Black White}finish{phong 0.2 ambient (0.1 * global_ambient_mul)}},texture{pigment{checker Black White}finish{phong 0.2 ambient (0.1 * global_ambient_mul)}},texture{pigment{checker Black White}finish{phong 0.2 ambient (0.1 * global_ambient_mul)}},texture {T_Gold_5C finish{reflection 0.1}},)translate<0,0,0> rotate<0,0.000000,0>rotate<0,0.000000,0> rotate<0,0,0> translate<41.910000,0.000000,49.530000>}#end //Discrete Resistor 0,3W 10MM Grid R7 0207/10 +#ifndef(pack_R8) #declare global_pack_R8=yes; object {RES_DIS_0207_10MM(texture{pigment{checker Black White}finish{phong 0.2 ambient (0.1 * global_ambient_mul)}},texture{pigment{checker Black White}finish{phong 0.2 ambient (0.1 * global_ambient_mul)}},texture{pigment{checker Black White}finish{phong 0.2 ambient (0.1 * global_ambient_mul)}},texture {T_Gold_5C finish{reflection 0.1}},)translate<0,0,0> rotate<0,0.000000,0>rotate<0,-270.000000,0> rotate<0,0,0> translate<63.500000,0.000000,44.450000>}#end //Discrete Resistor 0,3W 10MM Grid R8 0207/10 +#ifndef(pack_R9) #declare global_pack_R9=yes; object {RES_DIS_0207_10MM(texture{pigment{checker Black White}finish{phong 0.2 ambient (0.1 * global_ambient_mul)}},texture{pigment{checker Black White}finish{phong 0.2 ambient (0.1 * global_ambient_mul)}},texture{pigment{checker Black White}finish{phong 0.2 ambient (0.1 * global_ambient_mul)}},texture {T_Gold_5C finish{reflection 0.1}},)translate<0,0,0> rotate<0,0.000000,0>rotate<0,-90.000000,0> rotate<0,0,0> translate<59.690000,0.000000,44.450000>}#end //Discrete Resistor 0,3W 10MM Grid R9 0207/10 +#ifndef(pack_R10) #declare global_pack_R10=yes; object {RES_DIS_0207_10MM(texture{pigment{checker Black White}finish{phong 0.2 ambient (0.1 * global_ambient_mul)}},texture{pigment{checker Black White}finish{phong 0.2 ambient (0.1 * global_ambient_mul)}},texture{pigment{checker Black White}finish{phong 0.2 ambient (0.1 * global_ambient_mul)}},texture {T_Gold_5C finish{reflection 0.1}},)translate<0,0,0> rotate<0,0.000000,0>rotate<0,-270.000000,0> rotate<0,0,0> translate<67.310000,0.000000,38.100000>}#end //Discrete Resistor 0,3W 10MM Grid R10 0207/10 +#ifndef(pack_SV1) #declare global_pack_SV1=yes; object {CON_BL_1X5()translate<0,0,0> rotate<0,0.000000,0>rotate<0,-180.000000,0> rotate<0,0,0> translate<49.530000,0.000000,13.970000>}#end //Female Header 5Pin 1Row (con-lsta.lib) SV1 FE05-1 diff --git a/schematics/VGA_Tetris.pdf b/schematics/VGA_Tetris.pdf new file mode 100644 index 0000000..cceeef9 Binary files /dev/null and b/schematics/VGA_Tetris.pdf differ diff --git a/schematics/VGA_Tetris.sch b/schematics/VGA_Tetris.sch new file mode 100644 index 0000000..ee32497 Binary files /dev/null and b/schematics/VGA_Tetris.sch differ diff --git a/schematics/board.png b/schematics/board.png new file mode 100644 index 0000000..b29f085 Binary files /dev/null and b/schematics/board.png differ diff --git a/schematics/eagle.epf b/schematics/eagle.epf new file mode 100644 index 0000000..e324597 --- /dev/null +++ b/schematics/eagle.epf @@ -0,0 +1,385 @@ +[Eagle] +Version="05 11 00" +Platform="Windows" +Serial="62191E841E-LSR-WLM-1EL" +Globals="Globals" +Desktop="Desktop" + +[Globals] +AutoSaveProject=1 +UsedLibrary="D:/App/EAGLE/lbr/19inch.lbr" +UsedLibrary="D:/App/EAGLE/lbr/40xx.lbr" +UsedLibrary="D:/App/EAGLE/lbr/41xx.lbr" +UsedLibrary="D:/App/EAGLE/lbr/45xx.lbr" +UsedLibrary="D:/App/EAGLE/lbr/74ac-logic.lbr" +UsedLibrary="D:/App/EAGLE/lbr/74ttl-din.lbr" +UsedLibrary="D:/App/EAGLE/lbr/74xx-eu.lbr" +UsedLibrary="D:/App/EAGLE/lbr/74xx-little-de.lbr" +UsedLibrary="D:/App/EAGLE/lbr/74xx-little-us.lbr" +UsedLibrary="D:/App/EAGLE/lbr/74xx-us.lbr" +UsedLibrary="D:/App/EAGLE/lbr/751xx.lbr" +UsedLibrary="D:/App/EAGLE/lbr/SparkFun.lbr" +UsedLibrary="D:/App/EAGLE/lbr/advanced-test-technologies.lbr" +UsedLibrary="D:/App/EAGLE/lbr/agilent-technologies.lbr" +UsedLibrary="D:/App/EAGLE/lbr/allegro.lbr" +UsedLibrary="D:/App/EAGLE/lbr/altera-cyclone-II.lbr" +UsedLibrary="D:/App/EAGLE/lbr/altera-cyclone-III.lbr" +UsedLibrary="D:/App/EAGLE/lbr/altera-stratix-iv.lbr" +UsedLibrary="D:/App/EAGLE/lbr/altera.lbr" +UsedLibrary="D:/App/EAGLE/lbr/am29-memory.lbr" +UsedLibrary="D:/App/EAGLE/lbr/amd-mach.lbr" +UsedLibrary="D:/App/EAGLE/lbr/amd.lbr" +UsedLibrary="D:/App/EAGLE/lbr/amis.lbr" +UsedLibrary="D:/App/EAGLE/lbr/analog-devices.lbr" +UsedLibrary="D:/App/EAGLE/lbr/ase.lbr" +UsedLibrary="D:/App/EAGLE/lbr/atmel.lbr" +UsedLibrary="D:/App/EAGLE/lbr/austriamicrosystems.lbr" +UsedLibrary="D:/App/EAGLE/lbr/avago.lbr" +UsedLibrary="D:/App/EAGLE/lbr/axis.lbr" +UsedLibrary="D:/App/EAGLE/lbr/battery.lbr" +UsedLibrary="D:/App/EAGLE/lbr/burr-brown.lbr" +UsedLibrary="D:/App/EAGLE/lbr/busbar.lbr" +UsedLibrary="D:/App/EAGLE/lbr/buzzer.lbr" +UsedLibrary="D:/App/EAGLE/lbr/c-trimm.lbr" +UsedLibrary="D:/App/EAGLE/lbr/california-micro-devices.lbr" +UsedLibrary="D:/App/EAGLE/lbr/capacitor-wima.lbr" +UsedLibrary="D:/App/EAGLE/lbr/chipcard-siemens.lbr" +UsedLibrary="D:/App/EAGLE/lbr/cirrus-logic.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-3m.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-4ucon.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-amp-champ.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-amp-micromatch.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-amp-mt.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-amp-mt6.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-amp-quick.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-amp.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-amphenol.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-avx.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-berg.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-bosch.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-chipcard-iso7816.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-coax.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-commcon.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-conrad.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-cpci.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-cui.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-cypressindustries.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-deutsch.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-dil.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-ebyelectro.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-elco.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-erni.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-faston.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-fci.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-friwo.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-harting-h.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-harting-ml.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-harting-v.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-harting.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-hirose.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-hirschmann.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-jack.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-jae.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-jst.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-kycon.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-kyocera-elco.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-lemo.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-leotronics.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-lsta.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-lstb.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-lumberg.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-ml.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-molex.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-neutrik_ag.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-omron.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-panasonic.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-panduit.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-pc.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-pc104.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-phoenix-254.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-phoenix-3.81.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-phoenix-350.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-phoenix-500.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-phoenix-508.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-phoenix-762.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-phoenix-me_max.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-phoenix-mkds_5.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-phoenix-smkdsp.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-ptr500.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-pulse.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-rib.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-samtec.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-shiua-chyuan.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-stewart.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-stocko.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-subd.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-sullinselectronics.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-thomas-betts.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-tyco.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-tycoelectronics.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-vg.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-wago-500.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-wago-508.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-wago.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-wago255.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-weidmueller-sl35.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-wenzhou-yihua.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-xmultiple.lbr" +UsedLibrary="D:/App/EAGLE/lbr/con-yamaichi.lbr" +UsedLibrary="D:/App/EAGLE/lbr/crystal.lbr" +UsedLibrary="D:/App/EAGLE/lbr/csr.lbr" +UsedLibrary="D:/App/EAGLE/lbr/cypress.lbr" +UsedLibrary="D:/App/EAGLE/lbr/davicom.lbr" +UsedLibrary="D:/App/EAGLE/lbr/dc-dc-converter.lbr" +UsedLibrary="D:/App/EAGLE/lbr/dimensions.lbr" +UsedLibrary="D:/App/EAGLE/lbr/diode.lbr" +UsedLibrary="D:/App/EAGLE/lbr/discrete.lbr" +UsedLibrary="D:/App/EAGLE/lbr/display-hp.lbr" +UsedLibrary="D:/App/EAGLE/lbr/display-kingbright.lbr" +UsedLibrary="D:/App/EAGLE/lbr/display-lcd.lbr" +UsedLibrary="D:/App/EAGLE/lbr/docu-dummy.lbr" +UsedLibrary="D:/App/EAGLE/lbr/ecl.lbr" +UsedLibrary="D:/App/EAGLE/lbr/em-microelectronic.lbr" +UsedLibrary="D:/App/EAGLE/lbr/etx-board.lbr" +UsedLibrary="D:/App/EAGLE/lbr/exar.lbr" +UsedLibrary="D:/App/EAGLE/lbr/fairchild-semic.lbr" +UsedLibrary="D:/App/EAGLE/lbr/farnell.lbr" +UsedLibrary="D:/App/EAGLE/lbr/fiber-optic-hp.lbr" +UsedLibrary="D:/App/EAGLE/lbr/fiber-optic-siemens.lbr" +UsedLibrary="D:/App/EAGLE/lbr/fifo.lbr" +UsedLibrary="D:/App/EAGLE/lbr/flexipanel.lbr" +UsedLibrary="D:/App/EAGLE/lbr/fox-electronics.lbr" +UsedLibrary="D:/App/EAGLE/lbr/frames.lbr" +UsedLibrary="D:/App/EAGLE/lbr/freescale.lbr" +UsedLibrary="D:/App/EAGLE/lbr/ftdichip.lbr" +UsedLibrary="D:/App/EAGLE/lbr/fujitsu.lbr" +UsedLibrary="D:/App/EAGLE/lbr/fuse.lbr" +UsedLibrary="D:/App/EAGLE/lbr/gennum.lbr" +UsedLibrary="D:/App/EAGLE/lbr/halo-electronics.lbr" +UsedLibrary="D:/App/EAGLE/lbr/heatsink.lbr" +UsedLibrary="D:/App/EAGLE/lbr/holes.lbr" +UsedLibrary="D:/App/EAGLE/lbr/holtek.lbr" +UsedLibrary="D:/App/EAGLE/lbr/ic-package.lbr" +UsedLibrary="D:/App/EAGLE/lbr/inductor-coilcraft.lbr" +UsedLibrary="D:/App/EAGLE/lbr/inductor-neosid.lbr" +UsedLibrary="D:/App/EAGLE/lbr/inductor-nkl.lbr" +UsedLibrary="D:/App/EAGLE/lbr/inductors.lbr" +UsedLibrary="D:/App/EAGLE/lbr/infineon-tricore.lbr" +UsedLibrary="D:/App/EAGLE/lbr/infineon.lbr" +UsedLibrary="D:/App/EAGLE/lbr/intersil.lbr" +UsedLibrary="D:/App/EAGLE/lbr/ir.lbr" +UsedLibrary="D:/App/EAGLE/lbr/isd.lbr" +UsedLibrary="D:/App/EAGLE/lbr/jump-0r-smd.lbr" +UsedLibrary="D:/App/EAGLE/lbr/jumper.lbr" +UsedLibrary="D:/App/EAGLE/lbr/lantronix.lbr" +UsedLibrary="D:/App/EAGLE/lbr/lattice.lbr" +UsedLibrary="D:/App/EAGLE/lbr/lc-filter.lbr" +UsedLibrary="D:/App/EAGLE/lbr/led-7-segment.lbr" +UsedLibrary="D:/App/EAGLE/lbr/led-citizen-electronics.lbr" +UsedLibrary="D:/App/EAGLE/lbr/led-lumiled.lbr" +UsedLibrary="D:/App/EAGLE/lbr/led.lbr" +UsedLibrary="D:/App/EAGLE/lbr/lem.lbr" +UsedLibrary="D:/App/EAGLE/lbr/linear-technology.lbr" +UsedLibrary="D:/App/EAGLE/lbr/linear.lbr" +UsedLibrary="D:/App/EAGLE/lbr/linx.lbr" +UsedLibrary="D:/App/EAGLE/lbr/logo.lbr" +UsedLibrary="D:/App/EAGLE/lbr/lprs.lbr" +UsedLibrary="D:/App/EAGLE/lbr/lsi-computer-systems.lbr" +UsedLibrary="D:/App/EAGLE/lbr/lumiled.lbr" +UsedLibrary="D:/App/EAGLE/lbr/marks.lbr" +UsedLibrary="D:/App/EAGLE/lbr/maxim-11.lbr" +UsedLibrary="D:/App/EAGLE/lbr/maxim.lbr" +UsedLibrary="D:/App/EAGLE/lbr/maxstream.lbr" +UsedLibrary="D:/App/EAGLE/lbr/mcp2200.lbr" +UsedLibrary="D:/App/EAGLE/lbr/melexis.lbr" +UsedLibrary="D:/App/EAGLE/lbr/memory-hitachi.lbr" +UsedLibrary="D:/App/EAGLE/lbr/memory-idt.lbr" +UsedLibrary="D:/App/EAGLE/lbr/memory-micron.lbr" +UsedLibrary="D:/App/EAGLE/lbr/memory-motorola-dram.lbr" +UsedLibrary="D:/App/EAGLE/lbr/memory-nec.lbr" +UsedLibrary="D:/App/EAGLE/lbr/memory-samsung.lbr" +UsedLibrary="D:/App/EAGLE/lbr/memory-sram.lbr" +UsedLibrary="D:/App/EAGLE/lbr/memory.lbr" +UsedLibrary="D:/App/EAGLE/lbr/mems.lbr" +UsedLibrary="D:/App/EAGLE/lbr/micrel.lbr" +UsedLibrary="D:/App/EAGLE/lbr/micro-cyrod.lbr" +UsedLibrary="D:/App/EAGLE/lbr/micro-fujitsu.lbr" +UsedLibrary="D:/App/EAGLE/lbr/micro-harris.lbr" +UsedLibrary="D:/App/EAGLE/lbr/micro-hitachi.lbr" +UsedLibrary="D:/App/EAGLE/lbr/micro-infineon.lbr" +UsedLibrary="D:/App/EAGLE/lbr/micro-intel.lbr" +UsedLibrary="D:/App/EAGLE/lbr/micro-mc68000.lbr" +UsedLibrary="D:/App/EAGLE/lbr/micro-motorola.lbr" +UsedLibrary="D:/App/EAGLE/lbr/micro-philips.lbr" +UsedLibrary="D:/App/EAGLE/lbr/micro-renesas.lbr" +UsedLibrary="D:/App/EAGLE/lbr/micro-samsung.lbr" +UsedLibrary="D:/App/EAGLE/lbr/micro-siemens.lbr" +UsedLibrary="D:/App/EAGLE/lbr/microchip-update-2.lbr" +UsedLibrary="D:/App/EAGLE/lbr/microchip.lbr" +UsedLibrary="D:/App/EAGLE/lbr/micron.lbr" +UsedLibrary="D:/App/EAGLE/lbr/micronas.lbr" +UsedLibrary="D:/App/EAGLE/lbr/microphon.lbr" +UsedLibrary="D:/App/EAGLE/lbr/microwave.lbr" +UsedLibrary="D:/App/EAGLE/lbr/midori-sensor.lbr" +UsedLibrary="D:/App/EAGLE/lbr/minicircuits.lbr" +UsedLibrary="D:/App/EAGLE/lbr/mitsubishi-semiconductor.lbr" +UsedLibrary="D:/App/EAGLE/lbr/motorola-sensor-driver.lbr" +UsedLibrary="D:/App/EAGLE/lbr/murata-filter.lbr" +UsedLibrary="D:/App/EAGLE/lbr/murata-sensor.lbr" +UsedLibrary="D:/App/EAGLE/lbr/nanotec.lbr" +UsedLibrary="D:/App/EAGLE/lbr/national-instruments.lbr" +UsedLibrary="D:/App/EAGLE/lbr/national-semiconductor.lbr" +UsedLibrary="D:/App/EAGLE/lbr/nec-lqfp100-pack.lbr" +UsedLibrary="D:/App/EAGLE/lbr/nec.lbr" +UsedLibrary="D:/App/EAGLE/lbr/nrj-semiconductor.lbr" +UsedLibrary="D:/App/EAGLE/lbr/omnivision.lbr" +UsedLibrary="D:/App/EAGLE/lbr/on-semiconductor.lbr" +UsedLibrary="D:/App/EAGLE/lbr/opto-honeywell-3000.lbr" +UsedLibrary="D:/App/EAGLE/lbr/opto-honeywell-4000.lbr" +UsedLibrary="D:/App/EAGLE/lbr/opto-honeywell.lbr" +UsedLibrary="D:/App/EAGLE/lbr/opto-micro-linear.lbr" +UsedLibrary="D:/App/EAGLE/lbr/opto-trans-siemens.lbr" +UsedLibrary="D:/App/EAGLE/lbr/opto-transmittter-hp.lbr" +UsedLibrary="D:/App/EAGLE/lbr/opto-vishay.lbr" +UsedLibrary="D:/App/EAGLE/lbr/optocoupler.lbr" +UsedLibrary="D:/App/EAGLE/lbr/pal.lbr" +UsedLibrary="D:/App/EAGLE/lbr/philips-semiconductors.lbr" +UsedLibrary="D:/App/EAGLE/lbr/photo-elements.lbr" +UsedLibrary="D:/App/EAGLE/lbr/piher.lbr" +UsedLibrary="D:/App/EAGLE/lbr/pinhead.lbr" +UsedLibrary="D:/App/EAGLE/lbr/plcc-socket.lbr" +UsedLibrary="D:/App/EAGLE/lbr/pld-intel.lbr" +UsedLibrary="D:/App/EAGLE/lbr/plxtech.lbr" +UsedLibrary="D:/App/EAGLE/lbr/pot-vitrohm.lbr" +UsedLibrary="D:/App/EAGLE/lbr/pot-xicor.lbr" +UsedLibrary="D:/App/EAGLE/lbr/pot.lbr" +UsedLibrary="D:/App/EAGLE/lbr/ptc-ntc.lbr" +UsedLibrary="D:/App/EAGLE/lbr/quantum-research-group.lbr" +UsedLibrary="D:/App/EAGLE/lbr/rcl.lbr" +UsedLibrary="D:/App/EAGLE/lbr/recom-international.lbr" +UsedLibrary="D:/App/EAGLE/lbr/rectifier.lbr" +UsedLibrary="D:/App/EAGLE/lbr/ref-packages-longpad.lbr" +UsedLibrary="D:/App/EAGLE/lbr/ref-packages.lbr" +UsedLibrary="D:/App/EAGLE/lbr/relay.lbr" +UsedLibrary="D:/App/EAGLE/lbr/renesas.lbr" +UsedLibrary="D:/App/EAGLE/lbr/resistor-bourns.lbr" +UsedLibrary="D:/App/EAGLE/lbr/resistor-dil.lbr" +UsedLibrary="D:/App/EAGLE/lbr/resistor-net.lbr" +UsedLibrary="D:/App/EAGLE/lbr/resistor-power.lbr" +UsedLibrary="D:/App/EAGLE/lbr/resistor-ruf.lbr" +UsedLibrary="D:/App/EAGLE/lbr/resistor-shunt.lbr" +UsedLibrary="D:/App/EAGLE/lbr/resistor-sil.lbr" +UsedLibrary="D:/App/EAGLE/lbr/resistor.lbr" +UsedLibrary="D:/App/EAGLE/lbr/rf-micro-devices.lbr" +UsedLibrary="D:/App/EAGLE/lbr/rf-solutions.lbr" +UsedLibrary="D:/App/EAGLE/lbr/rohm.lbr" +UsedLibrary="D:/App/EAGLE/lbr/semicon-smd-ipc.lbr" +UsedLibrary="D:/App/EAGLE/lbr/sensor-comus-group.lbr" +UsedLibrary="D:/App/EAGLE/lbr/sensor-heraeus.lbr" +UsedLibrary="D:/App/EAGLE/lbr/sensor-infratec.lbr" +UsedLibrary="D:/App/EAGLE/lbr/sharp.lbr" +UsedLibrary="D:/App/EAGLE/lbr/silabs.lbr" +UsedLibrary="D:/App/EAGLE/lbr/sim-technology.lbr" +UsedLibrary="D:/App/EAGLE/lbr/sipex.lbr" +UsedLibrary="D:/App/EAGLE/lbr/smd-ipc.lbr" +UsedLibrary="D:/App/EAGLE/lbr/smd-special.lbr" +UsedLibrary="D:/App/EAGLE/lbr/solomon-systech.lbr" +UsedLibrary="D:/App/EAGLE/lbr/solpad.lbr" +UsedLibrary="D:/App/EAGLE/lbr/special-drill.lbr" +UsedLibrary="D:/App/EAGLE/lbr/special.lbr" +UsedLibrary="D:/App/EAGLE/lbr/st-microelectronics.lbr" +UsedLibrary="D:/App/EAGLE/lbr/supertex.lbr" +UsedLibrary="D:/App/EAGLE/lbr/supply1.lbr" +UsedLibrary="D:/App/EAGLE/lbr/supply2.lbr" +UsedLibrary="D:/App/EAGLE/lbr/switch-alps.lbr" +UsedLibrary="D:/App/EAGLE/lbr/switch-coto.lbr" +UsedLibrary="D:/App/EAGLE/lbr/switch-dil.lbr" +UsedLibrary="D:/App/EAGLE/lbr/switch-misc.lbr" +UsedLibrary="D:/App/EAGLE/lbr/switch-omron.lbr" +UsedLibrary="D:/App/EAGLE/lbr/switch-raychem.lbr" +UsedLibrary="D:/App/EAGLE/lbr/switch.lbr" +UsedLibrary="D:/App/EAGLE/lbr/telcom.lbr" +UsedLibrary="D:/App/EAGLE/lbr/telecontrolli.lbr" +UsedLibrary="D:/App/EAGLE/lbr/telefunken.lbr" +UsedLibrary="D:/App/EAGLE/lbr/testpad.lbr" +UsedLibrary="D:/App/EAGLE/lbr/texas.lbr" +UsedLibrary="D:/App/EAGLE/lbr/toshiba.lbr" +UsedLibrary="D:/App/EAGLE/lbr/traco-electronic.lbr" +UsedLibrary="D:/App/EAGLE/lbr/trafo-bei.lbr" +UsedLibrary="D:/App/EAGLE/lbr/trafo-siemens.lbr" +UsedLibrary="D:/App/EAGLE/lbr/trafo-xicon.lbr" +UsedLibrary="D:/App/EAGLE/lbr/trafo.lbr" +UsedLibrary="D:/App/EAGLE/lbr/transistor-fet.lbr" +UsedLibrary="D:/App/EAGLE/lbr/transistor-neu-to92.lbr" +UsedLibrary="D:/App/EAGLE/lbr/transistor-npn.lbr" +UsedLibrary="D:/App/EAGLE/lbr/transistor-pnp.lbr" +UsedLibrary="D:/App/EAGLE/lbr/transistor-power.lbr" +UsedLibrary="D:/App/EAGLE/lbr/transistor-small-signal.lbr" +UsedLibrary="D:/App/EAGLE/lbr/transistor.lbr" +UsedLibrary="D:/App/EAGLE/lbr/triac.lbr" +UsedLibrary="D:/App/EAGLE/lbr/tripas.lbr" +UsedLibrary="D:/App/EAGLE/lbr/u-blox.lbr" +UsedLibrary="D:/App/EAGLE/lbr/uln-udn.lbr" +UsedLibrary="D:/App/EAGLE/lbr/v-reg-micrel.lbr" +UsedLibrary="D:/App/EAGLE/lbr/v-reg.lbr" +UsedLibrary="D:/App/EAGLE/lbr/varistor.lbr" +UsedLibrary="D:/App/EAGLE/lbr/wafer-scale-psd.lbr" +UsedLibrary="D:/App/EAGLE/lbr/wirepad.lbr" +UsedLibrary="D:/App/EAGLE/lbr/wuerth-elektronik.lbr" +UsedLibrary="D:/App/EAGLE/lbr/xicor.lbr" +UsedLibrary="D:/App/EAGLE/lbr/xilinx-virtex-v5.lbr" +UsedLibrary="D:/App/EAGLE/lbr/xilinx-xc18v.lbr" +UsedLibrary="D:/App/EAGLE/lbr/xilinx-xc9.lbr" +UsedLibrary="D:/App/EAGLE/lbr/xilinx-xcv.lbr" +UsedLibrary="D:/App/EAGLE/lbr/zetex.lbr" +UsedLibrary="D:/App/EAGLE/lbr/zilog.lbr" + +[Win_1] +Type="Board Editor" +Loc="210 210 809 609" +State=0 +Number=2 +File="VGA_Tetris.brd" +View="-103664 -50616 1080304 717752" +WireWidths=" 0 2540 3048 6096 8128 10160 12700 14224 16764 17780 19304 21844 25400 38100 64516 4064" +PadDiameters=" 2540 3048 4064 6096 8128 10160 12700 14224 16764 17780 19304 21844 25400 38100 64516 0" +PadDrills=" 5000 6000 7000 9000 10000 11000 12000 13000 14000 15000 16000 20000 22000 28000 32000 8000" +ViaDiameters=" 2540 3048 4064 6096 8128 10160 12700 14224 16764 17780 19304 21844 25400 38100 64516 0" +ViaDrills=" 5000 7000 8000 9000 10000 11000 12000 13000 14000 15000 16000 20000 22000 28000 32000 6000" +HoleDrills=" 5000 7000 8000 9000 10000 11000 12000 13000 14000 15000 16000 20000 22000 28000 32000 6000" +TextSizes=" 2540 3048 4064 6096 8128 10160 12700 14224 16764 19304 21844 25400 38100 50800 64516 17780" +PolygonSpacings=" 2540 3048 4064 6096 8128 10160 14224 16764 17780 19304 21844 25400 38100 50800 64516 12700" +PolygonIsolates=" 2540 3048 4064 6096 8128 10160 12700 14224 16764 17780 19304 21844 25400 38100 64516 0" +MiterRadiuss=" 2540 3175 6350 12700 25400 10000 20000 25000 50000 75000 100000 0" +SmdSizes=" 3048 1524 4064 2032 6096 3048 8128 4064 10160 5080 12700 6604 14224 7112 16764 8128 17780 9144 19304 9652 21844 10668 25400 12700 38100 19304 50800 25400 64516 32512 12700 6350" +WireBend=0 +WireBendSet=0 +WireCap=1 +MiterStyle=0 +PadShape=0 +ViaShape=0 +PolygonPour=0 +PolygonRank=1 +PolygonThermals=1 +PolygonOrphans=0 +TextRatio=8 +PinDirection=3 +PinFunction=0 +PinLength=2 +PinVisible=3 +SwapLevel=0 +ArcDirection=0 +AddLevel=2 +PadsSameType=0 +Layer=16 + +[Win_2] +Type="Control Panel" +Loc="0 49 1273 768" +State=1 +Number=0 + +[Desktop] +Screen="1680 1050" +Window="Win_1" +Window="Win_2" diff --git a/schematics/schematics.png b/schematics/schematics.png new file mode 100644 index 0000000..b9306e6 Binary files /dev/null and b/schematics/schematics.png differ