Forum comments in chronological order

Disclaimer: I am not responsible for what people (other than myself) write in the forums. Please report any abuse, such as insults, slander, spam and illegal material, and I will take appropriate actions. Don't feed the trolls.

Jag tar inget ansvar för det som skrivs i forumet, förutom mina egna inlägg. Vänligen rapportera alla inlägg som bryter mot reglerna, så ska jag se vad jag kan göra. Som regelbrott räknas till exempel förolämpningar, förtal, spam och olagligt material. Mata inte trålarna.

May 2009

Craft

Anonymous
Mon 4-May-2009 02:31
Hi

I have some questions. This is really one of the most amazing things i have seen, and since you have uploaded the source and schematics i wanted to build my own copy of your demo board to see if it actually works. (I REALLY want to see it with my own eyes and show it to my friends)

So,
I have an atmega168 lying around, which almost is identical to atmega88, but with more flash. My board is ready and built according to your ASCII description, but I can't make it work for some reason. Im quite new to microcontrollers and im not familiar enough with assembler to understand most of your code (I have tried for hours, really). Linux is my main OS and i have avr-gcc, avrdude, the build-essential metapackage and so on installed, so compiling your sources went without problems. The hex-file is uploaded and the fuses are set as you described. But as mentioned, it does not work.. there is no signal on any pin.

I think this is because the source is unchanged, and written for atmega88, so there are most likely some things that need to be changed in order to run it on atmega168, but i dont even know where to start. Usually i use eclipse with the avr plugin, so i dont really know how most things actually work. Here is a comparision between atmega48, 88 and 168: http://www.atmel.com/dyn/resources/prod_documents/doc2554.pdf

Would you pleeease help me getting started, i really want to make this work. I will upload my eagle schematics and board layout once im sure it works, together with the atmega168 hex file in case someone is interested.

My guess is the registries for the timer interrupts are different on the 88 then the 168.
You should see some signals on the pins tough.
Read the atmeag168 manual and the atmega88 manual
Look at the registries on the chips
Compare them, to what he is setting in code, make changes...
here is my email: (godberg[at]gmail{Dot}com)
I am also the one who posted the eagle schematic...
I'll help you out.

Thanks for the reply!

I tried compiling it for the atmega 168 and it did not work. The problem seems to be related to many relative branch instructions. They did not work with 16 kb memory in some places for some reason. I tried simply replacing them with jmp instructions, but that seems to consume too many clock cycles, so the timing was way off after that. The registers used by this project however seemed to be the same on both mcus.

Well, i have replaced the atmega168 with an atmega88, and now it works perfectly!


Another thing i was thinking about is the way the sound is generated. As one 8-bit timer is free it should be possible to generate sound by running the timer in fast pwm with no prescale and simply adjusting the duty cycle by writing to OCRXX for the timer. Then the output from the OCXX pin for the timer could be used to simulate the analog sound value with a 78 kHz frequency with variable duty cycle. Doing this would be easier in software and much easier in hardware as one of the DA-converters is not needed any more, and i think it would give almost the same sound.

(foto)

lft
Linus Åkesson
Mon 4-May-2009 20:07
Haha! Skickligt monterat! Var hittar man den?

Kapp-Ahl i Lund, har jag för mig.

Autosokoban

lft
Linus Åkesson
Mon 4-May-2009 20:10
hey!

very nice job! i love this game. levels are getting more and more tricky, but you never know if the next one is easy or not. :) is there any way to install the programm on a cell phone? how complex is the algorithm to generate the levels?

Thanks! The algorithm needs a lot of RAM, so it's probably not feasible for a midlet. Some day, when I get the time, I'll publish the source code and a description of the algorithm.

Turbulence

Anonymous
Mon 4-May-2009 21:57
Hi

This is a very nice piece of hardware! Respect!
I also built a graphic card together with a colleague, but we have full 1024x768 resolution at 60Hz and 65.536 colours. At this resolution calculating big animated objects is a lot more difficult though, and we only use a PIC 33F with 40MIPS for the calculation.
If anyone is interessted you can contact me on ICQ: 64691047

Ciao
Anonymous
Tue 5-May-2009 07:32
Why do the eeprom starts like that and not as a standard image ?

FWIW, it *is* a standard image. The long at address 0 is the operating frequency only by convention. It has no effect on the hardware. The most important byte is at offset 4 which indicates XTAL1+PLL16X which is perfectly OK for the demo board.

As for checksum, it's correct. You wouldn't be able to flash an image with a wrong checksum anyway. If your disassembler can't cope get a new one.
Anonymous
Tue 5-May-2009 11:11
yep :) I wrote mine !
PASMDisassembler on the forums... ;-)

One man and his piano

Anonymous
Wed 6-May-2009 22:41
Did you perform this in one piece, or did you use overdubs for the different voices (of the original SID)?
lft
Linus Åkesson
Wed 6-May-2009 22:52
Did you perform this in one piece, or did you use overdubs for the different voices (of the original SID)?

This is one recording. No edits or overdubs.

Autosokoban

Anonymous
Thu 7-May-2009 19:43

lft wrote:

hey!

very nice job! i love this game. levels are getting more and more tricky, but you never know if the next one is easy or not. :) is there any way to install the programm on a cell phone? how complex is the algorithm to generate the levels?

Thanks! The algorithm needs a lot of RAM, so it's probably not feasible for a midlet. Some day, when I get the time, I'll publish the source code and a description of the algorithm.

Oh, super! I am very much interested in the source code. To avoid the RAM-problem, one could split the programm into a "level-creator", that calculates for example level 1 to 100 of a seed und saves it in a small file, which could be read by the second program running on the cell-phone.

Greetings, the anonymous writer =)

Turbulence

Anonymous
Thu 7-May-2009 20:07
You should offer a kit. I'm looking at building a "Ybox2", or a "Make Controller 2.0" Interface Board Kit. The Make Controller seems much more useful though. Neither are designed with VGA output on board though which I'd like to have, or some way of driving old scrap laptop panels. If I could write a driver to drive some cheap USB webcam on the Make Controller through its USB port, and have soem kind of video out and voice synthesizer chip attached, you could darn near well do anything with it. A microcontroller that could control a pile of devices/appliances via relays, display fees/info from a webserver on the web, be controlled by the web using its tiny internal webserver, and output speach alerts or information (new email! from: blank, etc). CHOPPERGIRL http://choppergirl.air-war.org

The hardware chiptune project

Anonymous
Fri 8-May-2009 16:03
At last it worked ! (mysterious failure worked around).
(project adapted on ATMega8, with a PWM with low-pass filter based "DAC").

Thierry C.

Turbulence

3420-gogz
Gerardo G-Trejo
Tue 19-May-2009 14:50
Hi! I believe that you have done an incredible work with the Parallax Propeller!! It´s the best thing I have seen done with this chip. A shame that the propeller has only 32KB of HUB RAM... Have You evaluated the possibility of adding an external memory (like FRAM -SPI BUS- or similar SRAM) to your " demo board"?

http://www.ramtron.com/products/nonvolatile-memory/serial.aspx

Cheers!

A case against syntax highlighting

GingerBread
Fri 29-May-2009 09:47
Computer languages are not about computers, but about humans thinking about programming them.
So, if you argue that colors make you lazy. Why not get rid of the language as well?

I never really used assembler, until I found the AVR. And, yes, I learned so much about The King doing that.

Let no light distract us from our path towards that elevated brightness. Thanks for sharing your 'Craft',
it enlightens my way.
Anonymous
Sat 30-May-2009 03:19
It's easy to sometimes forget a closing delimiter on a comment, leading to a bug hunt and wasting your time. This is one utilitarian reason for using syntax highlighting.