Skip to content

Commit

Permalink
readme in English
Browse files Browse the repository at this point in the history
--HG--
rename : font.png => bmp2font/font.png
rename : fontv.bmp => bmp2font/fontv.bmp
rename : fontv.png => bmp2font/fontv.png
rename : front.png => photos/front.png
rename : readme => readme.md
  • Loading branch information
JaCzekanski committed Jan 27, 2014
1 parent 196bba8 commit e35137e
Show file tree
Hide file tree
Showing 12 changed files with 47 additions and 710 deletions.
497 changes: 0 additions & 497 deletions blocks - Copy.asm

This file was deleted.

188 changes: 0 additions & 188 deletions blocks_raw.asm

This file was deleted.

File renamed without changes
File renamed without changes.
File renamed without changes
Binary file removed front.xcf
Binary file not shown.
Binary file removed gpu.ckt
Binary file not shown.
Binary file added photos/board.JPG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
Binary file added photos/top.JPG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
25 changes: 0 additions & 25 deletions readme

This file was deleted.

47 changes: 47 additions & 0 deletions readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
## VGA Tetris - assembly, atmega8, software vga

![front](front.png)

Yeah, I know. Yet another tetris. But how mine clone is different?
- Architecture - it's not a PC, smartphone or cellphone, I've created my own platform based on 8bit microcontroller
- Code - I decided to write whole game in assembly


Specification
Processor: Atmega8 (8kB flash, 1kB SRAM)
Graphics: 104x120px, 16colors
Input: Gamepad from Pegasus (Polish Famicom clone) (8 buttons)
Audio: Mono, generated using PWM (unfortunately, not implemented, not enough time)



# Why?
Project was made for contest on Elektroda.pl (Retro game). Contest was a good motivation for learning AVR architecture from the low level (assembly).
Also I've learned how to generate VGA image in software and I have managed to carry my project from an idea in my mind to physical, working device.



# Result?
Finished and working "console" with clone of Tetris, second place in a contest, above 2000 lines of code in pure assembly, pride from finishing a project (from game project, schematics, PCB to working console).



# What is so hard?
The fact, that I don't have a library like SDL or Allegro, where I call function to display image on a monitor. I don't have any functions, operating system or even something like BIOS. Everything was implemented from scratch, including video generation line by line (the graphics card job) where I had to count instruction cycle based, in other case the video becomes desynchronized or was displayed wrong. Next I've implemented high level functions like displaying a tile and later - fonts and images.



Presentation (in Polish):

https://www.youtube.com/watch?v=FwZ4Or7Z6ZU

![schematics](schematics/schematics.png)
![top](photos/top.jpg)
![board](photos/board.jpg)

More info (in Polish): http://www.elektroda.pl/rtvforum/topic2177246.html

Linus "lft" Akesson has made a demo on this micro - VGA display, chiptune music, awesome effects, must see!
http://www.linusakesson.net/scene/craft/

Zobacz plik "vga_generacja" jeżeli interesuje cie temat generowania obrazu VGA.

0 comments on commit e35137e

Please sign in to comment.