Quark-85 Demo Kube - 184 x 240 VGA with 8 Colors and Sound on an Tiny85!!

Go To Last Post
438 posts / 0 new

Pages

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hiya!

 

It seems my 6x10 font needs still some fixing, but at least it's drawn correctly....

 

:)

 

https://drive.google.com/file/d/...

 

Cheers,

//Jartza
Jari Tulilahti

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

This is what I used in Quarl-85 to keep memory use as low as possible.

I think I like that name better.  Is the 'L' for 'Lucas'?  ;-)

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"Wisdom is always wont to arrive late, and to be a little approximate on first possession."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

For the UART buffer, perhaps you have space in some registers, remember that they are memory mapped on a tiny 85.

 

Perhaps you can same some RAM bu only her 128 chars. (but perhaps it will be to slow)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Impressive. Jari, like Brad, must be faking it

The largest known prime number: 282589933-1

It's easy to stop breaking the 10th commandment! Break the 8th instead. 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

I have some free time tonight, so I am cleaning up some of the code, and optimizing the Joystick Routine.

The FreeRunning ADC is noisy as hell, but I finally found a way to make it smooth.

 

What I do is add the 8 bit ADC value to an 8 bit register pair on horizontal lines 0-255.

On line 256 (0), I then toss the LO value and store the HI value to the JOYVAL register.

This essentially, creates an average of 256 samples and divides without any cycle count!

By using the HLINE value as the pointer, it is basically free!

 

Now the joystick value is ROCK SOLID!

 

I am going to get the Atari style Joystick connected, and do a little Game Demo.

Will post a new video soon.

 

Of course, I will have to create it on my PC, and then pretend it is coming out of the ATTiny.

As we all know, the math proves that this is all impossible, and I have nothing better to do than fake it!

 

Ok... last poke at ole' Hackaday Jack, I promise!

 

Cheers,

Brad

 

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

AtomicZombie wrote:

I have some free time tonight, so I am cleaning up some of the code, and optimizing the Joystick Routine.

The FreeRunning ADC is noisy as hell, but I finally found a way to make it smooth.

 

What I do is add the 8 bit ADC value to an 8 bit register pair on horizontal lines 0-255.

On line 256 (0), I then toss the LO value and store the HI value to the JOYVAL register.

This essentially, creates an average of 256 samples and divides without any cycle count!

By using the HLINE value as the pointer, it is basically free!

 

Now the joystick value is ROCK SOLID!

 

I am going to get the Atari style Joystick connected, and do a little Game Demo.

Will post a new video soon.

 

Very clever! Can't wait to see the first game running on your cool platform.

 

 

 

AtomicZombie wrote:

Of course, I will have to create it on my PC, and then pretend it is coming out of the ATTiny.

As we all know, the math proves that this is all impossible, and I have nothing better to do than fake it!

 

Ok... last poke at ole' Hackaday Jack, I promise!

 

Cheers,

Brad

 

 

Meanwhile, I did some faking of my own too!

 

OctaPentaVeega doing 32x16 characters while listening to UART @9600bps and parsing ANSI-escapes :)

 

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

 

And horizontal scrolling... https://www.youtube.com/watch?v=...

 

Oh, and font is now 6x10 pixels.

 

https://drive.google.com/file/d/...

 

Few times I had some hard faking because Attiny only runs at 20Mhz, no overfaking... clocking done. And no math!

 

Cheers,

//Jartza
Jari Tulilahti

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Looking Good!

 

Here is my latest revision in video as well, showing the new ADC Averager and VCS/C64 compatible Joystick at work...

 

 

https://youtu.be/NzHm0gfZa1I

 

I couldn't help myself with the poke at the Hackaday dude... too funny!

 

Now I am going to spend time and make some real sprites for a game.

A cross between Omega Race and Asteroids kind of thing.

Lots of action, and multiple Sprites, Sound Effects, and Game Music!

 

Cheers!

Brad

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

AtomicZombie wrote:

 

https://youtu.be/NzHm0gfZa1I

 

I couldn't help myself with the poke at the Hackaday dude... too funny!

 

Now I am going to spend time and make some real sprites for a game.

A cross between Omega Race and Asteroids kind of thing.

Lots of action, and multiple Sprites, Sound Effects, and Game Music!

 

Cheers!

Brad

 

Hi,

 

Can't wait. Video looks absolutely cool and Omega Race was one of my favorite games of all times :)

 

I especially loved the part where you faked the removal of that one wire, the timings in that fake were nice and glitch-free! :D

 

Cheers,

//Jartza
Jari Tulilahti

Last Edited: Sun. Dec 20, 2015 - 11:30 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Jartza wrote:

 

Hi,

 

Can't wait. Video looks absolutely cool and Omega Race was one of my favorite games of all times :)

 

I especially loved the part where you faked the removal of that one wire, the timings in that fake were nice and glitch-free! :D

 

Cheers,

 

Thanks!

I hope to get time soon - a fresh new Game Engine just waiting for code!

 

Yeah, I hired the same crew that faked the moon landing to make my video.

I think one of the shadows was off though, and Jack will no doubt prove it with math!

 

Your system has matured well too. The color lines really show the resolution.

Do you have a load of free time left over in the VBlanking?

 

Brad

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

Haven't had much time to work on the new game lately, but I did get the realistic rocket physics working.

It took more than I thought to get the ship sprite to rotate in 32 positions, then simulate direction (thrusters).

Next will be the enemy control, which will be patterns of "waves", making turns and rotations.

This game is more like a combination of Omega Race and Galaga now.

 

It's still cool to see it all happen on an ATTiny!

 

Brad

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Will try to get some time in over the holidays!

 

On a funny note, check out this guy claiming that everything I have ever done is fake...

 

http://hackaday.com/2015/12/17/attiny-does-170x240-vga-with-8-colors/#comment-2849272

 

The Frenchman is relentless! Even my Vulcan-74 Logic Based VGA system is fake!

 

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

 

Imagine putting in all those wires just to fake it??? 'Sup with this dude?

I am so looking forward to getting this one done and posted so I can call him out!

 

...un paon faisant la roue!

 

Brad

I Like to Build Stuff : http://www.AtomicZombie.com

Last Edited: Tue. Dec 22, 2015 - 05:13 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Galaga

Last game I truly enjoyed!

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"Wisdom is always wont to arrive late, and to be a little approximate on first possession."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Brad,

of coarse it is fake.

You are using special trained electrons that he cannot get his hands on and that do not speak french, that is annoying to him.

 

as witht he vulcan, that is also fake. You just took a FPGA programmed it took it apart and put all the logic in fake housings just to make it look like a discrete solution, but in reality you have only cut up a FPGA.

 

but we all love it ;)

 

have fun in building, and even more fun when you have finished and it all works as you want.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Oh, Jacques, Jacques, Jacques...

 

Don't get sucked into his vortex of denial ;-)

 

On a slightly more serious note, I'd like to raise my hand and say that I'm smelling a teensy bit of French-bashing in the collective (no finger pointing!) reaction to this buffoon.  Almost certainly unintentional, I'm sure.  But it seems the sort of thing one might want to steer clear of.  His incredulity and somewhat insulting demeanour is not appropriately attributed to his country of origin, ethnicity, or mother tongue.

 

But he is a buffoun ;-)
 

I'm just looking forward to the finished product.  I won't (will anyone?) remember the naysayers then.

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"Wisdom is always wont to arrive late, and to be a little approximate on first possession."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Joey,

 

if the project is finished and works as Brad described then I think the naysayer (no s in this one) will have a hard time ever again posting something negative I guess.

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

joeymorin wrote:

Oh, Jacques, Jacques, Jacques...

 

Don't get sucked into his vortex of denial ;-)

 

On a slightly more serious note, I'd like to raise my hand and say that I'm smelling a teensy bit of French-bashing in the collective (no finger pointing!) reaction to this buffoon.  Almost certainly unintentional, I'm sure.  But it seems the sort of thing one might want to steer clear of.  His incredulity and somewhat insulting demeanour is not appropriately attributed to his country of origin, ethnicity, or mother tongue.

 

But he is a buffoun ;-)
 

I'm just looking forward to the finished product.  I won't (will anyone?) remember the naysayers then.

 

Yeah, my bad! I am done visiting the Hackaday link - it feels too much like Youtube lately!

All the "experts" come out, and before long there is a 20 page discussion on why a 91 degree bend is better than a 90 degree bend when inserting a resistor, or why there is no point to making something when you can purchase one for less. I think Hackaday would be much more enjoyable if commenting was removed.

 

And you are correct in calling me on the tone of my responses to Jack.... my bad!

I was picturing him as this guy from the Matrix...

 

http://matrix.wikia.com/wiki/The_Merovingian

 

I could just hear his voice... "zees is all fake! I know everything, and eet cannot be real"!

 

Ok, I promise to not visit the Hackaday link anymore and get back to the real World.

I was caught in the Matrix.... thanks for pointing this out!

 

Cheers!

Brad

 

 

 

 

 

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

We're not prejudice. We'll mock a buffoon whoever he is!

The largest known prime number: 282589933-1

It's easy to stop breaking the 10th commandment! Break the 8th instead. 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Just smile and ignore :)

 

We have this saying

against fools even gods fights in vain.

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

sparrow2 wrote:

Just smile and ignore :)

 

We have this saying

against fools even gods fights in vain.

 

 

Yeah.... I was a sucker!

It just seemed so far fetched that after seeing all that I posted on various projects, the dude would actually believe that in the end, I would just fake it by filming some retro screen saver!

At first, I just thought... "typical troll", but then I realized he was actually for real. This is when I could not help myself. It still baffles my mind!

I even emailed Hackaday and offered to ship them the unit for an independent judging, as long as they posted my challenge publicly.

The deal was... if it doesn't work exactly as stated, they destroy it, and post my defeat. If it does work, Jack pays shipping back to me!

 

But my time is better spent at the workbench.

You are correct... once published, there will either be silence, or something along the lines of... "oh, well you didn't say you did it THAT way, so you still cheat and lie, bla bla, le bla"

 

On a positive note, I have the movement physics working on my game.

Funny how games change as they come along though.

The movement is so much fun the way it's working now, that I might change the concept.

 

I have the "Player" accelerating in a ramp, depending on the position of the joystick, so it seems to have momentum.

The ramp decays when the joystick is idle, so if you get moving too quickly, you hit a wall before turning or trying to stop.

Kind of like driving a bus!

 

I might add several trailing sprites and make a snake like player that has to navigate around obstacles and enemies.

Kind of like the classic snake game, but with fluid and free movement in any direction.

Instead of the tail growing, I will add enemy AI, and the ability to shoot at obstacles.

 

Will just keep coding and see where it takes me.

 

Does anyone out there have a free 36MHz oscillator and an ATTiny-85 hanging around?

It would be fun to have a beta tester to give feedback.

One thing I want to know is how similar the ADC on the ATTiny will be from one to the other.

I figured the values for my joystick based on the resistors used, with a 25% margin of error.

Would be cool to see if this will work. If not, I also have a calibration routine.

 

Cheers,

Brad

 

I Like to Build Stuff : http://www.AtomicZombie.com

Last Edited: Wed. Dec 23, 2015 - 05:34 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Does anyone out there have a free 36MHz oscillator and an ATTiny-85 hanging around?

I can get a 32 MHz oscillator in short order at the local shop, but not a 36 MHz.  For that I'd have to place an order elsewhere.

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"Wisdom is always wont to arrive late, and to be a little approximate on first possession."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

joeymorin wrote:

Does anyone out there have a free 36MHz oscillator and an ATTiny-85 hanging around?

I can get a 32 MHz oscillator in short order at the local shop, but not a 36 MHz.  For that I'd have to place an order elsewhere.

 

I chose 36MHz, as this seemed "safe".

When I say safe, I mean, all the Tinys I tested run over 40Mhz, most stopping before 45Mhz, so 36MHz seemed a good choice!

 

At 32Mhz, I would have to drop a few pixels and perhaps the 256 step ADC Joystick averaging routine that hides in the HSync time.

Here is my timing and IO Map...

 

// [36 MHZ HORIZONTAL CLOCK TIMING FOR VGA @ 640 X 480]
// HSP : 135 FROM 0000 TO 0134
// HBP : 067 FROM 0135 TO 0201
// HPX : 920 FROM 0202 TO 1121
// HFP : 022 FROM 1122 TO 1143
// TOT : 1144

// [STANDARD VERTICAL LINE TIMING FOR VGA @ 640 X 480]
// VLN : 480 FROM 000 TO 479
// VFP : 011 FROM 480 TO 490
// VSP : 002 FROM 491 TO 492
// VBP : 032 FROM 493 TO 524
// TOT : 525

// [ATINY-85 PORT PINS]
// PORT B.0 / PIN 5 = RED COLOR / LEFT SOUND
// PORT B.1 / PIN 6 = GREEN COLOR
// PORT B.2 / PIN 7 = BLUE COLOR / RIGHT SOUND
// PORT B.4 / PIN 3 = COMPOSITE SYNC
// PORT B.5 / PIN 1 = JOYSTICK ADC INPUT

Brad

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

32 MHz would drop your per-line cycle budget from 1144 to 1016, and your nominal horizontal resolution from 184 to 162:

// HSP : 120 FROM 0000 TO 0119
// HBP : 063 FROM 0120 TO 0182
// HPX : 810 FROM 0183 TO 0992
// HFP : 022 FROM 0993 TO 1015
// TOT : 1016

 

It's a fair chunk lost :(

 

If I get my hands on a 36 MHz oscillator, I'll let you know.

 

EDIT: fixed counts

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"Wisdom is always wont to arrive late, and to be a little approximate on first possession."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

Last Edited: Wed. Dec 23, 2015 - 06:12 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

joeymorin wrote:

32 MHz would drop your per-line cycle budget from 1144 to 1016, and your nominal horizontal resolution from 184 to 162:

// HSP : 120 FROM 0000 TO 0119
// HBP : 063 FROM 0120 TO 0182
// HPX : 810 FROM 0183 TO 0992
// HFP : 022 FROM 0993 TO 1015
// TOT : 1016

 

It's a fair chunk lost :(

 

If I get my hands on a 36 MHz oscillator, I'll let you know.

 

EDIT: fixed counts

 

You got it pretty close!

I cheat with my handy dandy timings calculator...

 

 

I also like to keep the pixel count dividable by 8, so in this case, it would stretch to 816 cycles.

This makes it easier to de-jitter using a prescaler and makes a standard 8x8 character fit nicely on the screen.

 

The Quark-85 Engine takes 5 cycles per pixel, so I would probably round it to 800 for a total of 160 pixels / 20 characters.

This divides up nice.

 

I also have a version that only takes 3 cycles per pixel, so at 36MHz, I could get 300 pixels out.

The problem is that in the 5 cycle version, I also clear the memory in real-time. Without that the poor main loop has to do it!

 

Brad

 

 

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

joeymorin wrote:

If I get my hands on a 36 MHz oscillator, I'll let you know.

 

For this type of work, I use the Si5351A & Adafruit have a sub $10 breakout board.

It needs i2c config, which is a bit of a pain, but it is highly flexible with 3 CLK OUTs, anything from low kHz to 200MHz

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Good to know, thanks.

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"Wisdom is always wont to arrive late, and to be a little approximate on first possession."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

If people have some old VGA cards laying around, there is a good change that there are a osc. in the ballpark of 36MHz. 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Well, as it happens the other local shop I walk into once in a while had a drawer full of 36 MHz oscillators.  I wired one up and my old analog scope shows 36 MHz on the button.

 

Of course now I need to find time to lay this out with the other passives, and the holidays are somewhat packed with non-AVR activities.

 

Brad, at your convenience, you may PM me with whatever details and code you see fit to, and I will try to find a round tuit as soon as I can.

 

Happy holidays!

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"Wisdom is always wont to arrive late, and to be a little approximate on first possession."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi there,

 

Happy holidays to all of you!

 

Made a short film with OctaPentaVeega. Those who saw the original videos might want to jump to around 1:30 or so :D

 

32x16 characters (512 bytes) on screen now works flawlessly with 6x10 pixel font, making that nominally 192x160 pixels.

 

I added a graphics-mode in style of TRS-80, instead of rendering to font, I render character place to 2x4 pixels, giving 64x64 pixel resolution. Also split-screen is supported, you can tell which row the text begins (graphics is always on top). Finally, implemented "tricoder"-mode for my 3-chip vga, you can enter R, G and B bytes independently (mostly useful in graphics-mode), which allows you to draw any color pixel to any of the 64x64 :)

 

Fake proof below:

 

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

 

 

https://drive.google.com/file/d/0B2dTzW9TMeBxTW9aenlpbV9qQ28/view

 

Cheers!

 

//Jartza
Jari Tulilahti

Last Edited: Thu. Dec 24, 2015 - 09:00 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

AtomicZombie wrote:

 

Does anyone out there have a free 36MHz oscillator and an ATTiny-85 hanging around?

It would be fun to have a beta tester to give feedback.

One thing I want to know is how similar the ADC on the ATTiny will be from one to the other.

I figured the values for my joystick based on the resistors used, with a 25% margin of error.

Would be cool to see if this will work. If not, I also have a calibration routine.

 

Cheers,

Brad

 

 

I will if I have any Christmas money. What are the values for the resistors? I figure to etch it onto an smd board ... oh, wait, I do have a breadboard.

The largest known prime number: 282589933-1

It's easy to stop breaking the 10th commandment! Break the 8th instead. 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Holiday greets back at ya!

 

Great to see your project maturing nicely.

The DPaint image... nice touch! A favorite I use a lot as well.

 

I am having AS7 difficulties today, but hope to be up and running this afternoon.

I have an entire day to code, so hopefully I will get this resolved.

 

If all goes well, I will post something new today or tomorrow.

 

Cheers!

Brad

 

 

 

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I will post an update on the schematic soon.

Values are fairly forgiving, so I am only using standard values.

 

Do you want to try the joystick as well, or just the video?

Joystick adds 5 resistors.

 

Brad

 

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

AtomicZombie wrote:

Holiday greets back at ya!

 

Great to see your project maturing nicely.

The DPaint image... nice touch! A favorite I use a lot as well.

 

I am having AS7 difficulties today, but hope to be up and running this afternoon.

I have an entire day to code, so hopefully I will get this resolved.

 

If all goes well, I will post something new today or tomorrow.

 

Cheers!

Brad

 

 

 

 

Hi!

 

Yeah, I think that Deluxe Paint image is used quite often in demos and such, I just HAD to add it :D I'm still working on some tiny details (pun intended), but I think it's getting along very nicely.

 

Scavenged through my oscillator collection and it seems I don't have any 36MHz ones :( Only 8, 16, 20, 32 and 40Mhz versions, plus then some "special" values for UART multiples - would've been very cool to try out your VGA.

 

Cheers,

//Jartza
Jari Tulilahti

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

AtomicZombie wrote:

I will post an update on the schematic soon.

Values are fairly forgiving, so I am only using standard values.

 

Do you want to try the joystick as well, or just the video?

Joystick adds 5 resistors.

 

Brad

 

 

I was just going to follow your schematic, stuff your code into it and see what it does. Then maybe think of something to do with it.

The largest known prime number: 282589933-1

It's easy to stop breaking the 10th commandment! Break the 8th instead. 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

 

And now it's solved: I went to ASUZ web site and downloaded ATKPackage and SmartGesture. It took 4 reboots to install them -- had to uninstall them first, but studio 7 is now working, as well as my "smart" touch pad.

 

AtomicZombie wrote:

 

I am having AS7 difficulties today, but hope to be up and running this afternoon.

I have an entire day to code, so hopefully I will get this resolved.

 

 

Hmm. Me too. It seems last weekend's big windoze update has destabilized my computer. AS7 gives  an error message and has me look at an xml file to figure it out, and AS6 complains that MSVCP100.dll is missing. I've tried several things, including downloading the vcredist_x64.exe again, but nothing seems to fix this missing dll. 

 

The xml data AS7 tells me will help me correct the problem:

 

<?xml version="1.0" encoding="utf-16"?>
<?xml-stylesheet type="text/xsl" href="ActivityLog.xsl"?>
<activity>
  <entry>
    <record>1</record>
    <time>2015/12/25 21:45:44.686</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>AtmelStudio.exe version: 7.0.0.3106</description>
  </entry>
  <entry>
    <record>2</record>
    <time>2015/12/25 21:45:44.686</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>Microsoft Visual Studio 2015 version: 14.0.23107.0</description>
  </entry>
  <entry>
    <record>3</record>
    <time>2015/12/25 21:45:44.860</time>
    <type>Information</type>
    <source>Microsoft Visual Studio Appid Stub</source>
    <description>Application launch on system with DPI X/Y: 96/96</description>
  </entry>
  <entry>
    <record>4</record>
    <time>2015/12/25 21:45:44.915</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>Entering function CVsPackageInfo::HrInstantiatePackage</description>
    <guid>{DD7B74B5-C1F9-411A-B22E-5E711592BC6B}</guid>
  </entry>

and so on for a thousand years

  <entry>
    <record>268</record>
    <time>2015/12/25 21:46:19.357</time>
    <type>Error</type>
    <source>Editor or Editor Extension</source>
    <description>System.IO.FileNotFoundException: Could not load file or assembly &apos;VAX.Interop.dll&apos; or one of its dependencies. The specified module could not be found.&#x000D;&#x000A;File name: &apos;VAX.Interop.dll&apos;&#x000D;&#x000A;   at bu.CreateTagger[T](ITextView textView, ITextBuffer buffer)&#x000D;&#x000A;   at Microsoft.VisualStudio.Text.Tagging.Implementation.TagAggregator`1.GatherTaggers(ITextBuffer textBuffer)&#x000D;&#x000A;&#x000D;&#x000A;</description>
  </entry>
</activity>

 

The largest known prime number: 282589933-1

It's easy to stop breaking the 10th commandment! Break the 8th instead. 

Last Edited: Sat. Dec 26, 2015 - 01:29 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Woah, that post you made has more text in it than this entire thread!

Perhaps y'all could prune it back a bit, the code for my Omega Race Type Game isn't even that long.

 

Speaking of that, had 2 hours of free time tonight, and I did get the ship to move around decently.

Added the wall rebound just like the actual game as well.

 

So far only 30% of the Flash is used, so there is plenty of room for large colorful enemy sprites and smooth AI...

 

https://youtu.be/yXhaw3-3eWA

 

Still not sure if I should remove the joystick and just make this a simple platform to make Demos, or leave it as a Game System.

Either way, it is sure fun to practice some assembly and see it come to life on the screen.

 

Still have to tweak the sound a bit. There is a definite 60 Hz hum, depending on the graphics being displayed.

Ah, the difficulties in making a single pin take on 2 functions!

 

Have a good Holiday Freaks!

Brad

 

 

 

 

I Like to Build Stuff : http://www.AtomicZombie.com

Last Edited: Sat. Dec 26, 2015 - 12:48 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

Interesting... I think I underestimated the power of the ATTiny!

Just for kicks, I dropped in a 46MHz clock, and it still ran!

I am now running "safely" on 40MHz, which might be an easier clock to source.

 

Will do more testing and see.

Perhaps just doubling the speed is best.

Rated at 20... running at 40!

 

Brad

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

AtomicZombie wrote:

....

Perhaps just doubling the speed is best.

Rated at 20... running at 40!

 

Maybe... but keep in mind, that the more this pushes into the over-clocking stratosphere, the less practical applications it has.

There can come a time when another sub $1  8 bit CPU  is a better platform.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Who-me wrote:

Maybe... but keep in mind, that the more this pushes into the over-clocking stratosphere, the less practical applications it has.

There can come a time when another sub $1  8 bit CPU  is a better platform.

 

Indeed, an ARM Cortex M0 can be had in dip for less $$$.

But my number one goal has always been to stretch the possibilities of what is possible on AVR.

Doing so is exercise for my mind.

 

Getting 200x240 now out of this 512 Byte Processor, and that has REALLY upped my game when it comes to coding!

Now I am rethinking my Pin sharing, and plan to try SYNC+BLUE to free a pin just for Sound.

If this works, I will then have 4 voice sound, and it will not have the 60Hz buzzing.

 

Brad

 

 

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

AtomicZombie wrote:
SYNC+BLUE
You mean Sync-On-Green? I'd wondered about that myself.  Should be possible with the use of the third state (similar to what you're already doing to multiplex sound with video).

 

I'm not clear on how H and V are combined in SOG. Wouldn't that require a fourth state? I suppose not, since the monitor would differentiate between H and V by pulsewidth. I just wonder what level is used to signify H while in the midst of V.

 

Ah yes:

http://martin.hinner.info/vga/vga.html

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"Wisdom is always wont to arrive late, and to be a little approximate on first possession."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

Last Edited: Sat. Dec 26, 2015 - 05:59 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Practical? Of course it's not practical! That's what makes it so cool. But then, using these techniques in a bigger chip might be VERY practical.

The largest known prime number: 282589933-1

It's easy to stop breaking the 10th commandment! Break the 8th instead. 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

joeymorin wrote:

AtomicZombie wrote:
SYNC+BLUE
You mean Sync-On-Green? I'd wondered about that myself.  Should be possible with the use of the third state (similar to what you're already doing to multiplex sound with video).

 

I'm not clear on how H and V are combined in SOG. Wouldn't that require a fourth state? I suppose not, since the monitor would differentiate between H and V by pulsewidth. I just wonder what level is used to signify H while in the midst of V.

 

Ah yes:

http://martin.hinner.info/vga/vga.html

 

Sync on Green is obsolete, and does not work on all but the oldest monitors.

In my collection of 10+ monitors, it only works on one... a big old 19" CRT I keep around.

None of the LCDs do SOG.

 

My plan is to tie Sync to Blue.

Since the color bits are pulled LO by an internal 75ohm resistor in the monitor, I should be able to get the following PIN states...

 

1) LO = SYNC ON / SYNC OFF

2) HI = COLOR ON / SYNC OFF

3 ZZ = SYNC OFF / COLOR OFF

 

I will try to work out resistor values later if I have some free time.

The rules... it must work on all 8 monitors in this LAB, and the few at work.

 

Brad

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Sync on Green is obsolete, and does not work on all but the oldest monitors.

Interesting.  The Intertubes disagree with you, but we all know you should never trust anything you read on the Intertubes ;-)

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"Wisdom is always wont to arrive late, and to be a little approximate on first possession."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

That's why I typically discount 90% of what the "experts" claim, and just spend my time building the farkin' thing!

It's amazing what you come up with when you are not bound by the accepted rules.

 

But with SOG, I would say that my tests were solid.

12 monitors, ranging in year from early 90's to this year. Only 1 had SOG... a big old glass beast!

If I find a monitor I have not yet tried it on, I will keep on truing.

 

All did composite sync though, so my guess is that HS and VS are simply XORED internally.

 

Brad

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Now on to my Pin sharing puzzle.

I think this can be done the way I want, knowing...

 

1) The color input is terminated to ground with a 75 ohm resistor inside the monitor.

2) Color voltage must swing between 0v and 1v (they say.7, but 1 looks the same).

3) Sync works from o volts to 2.5 volts.

 

So with a proper resistor divider, I should be able to set my midpoint to 4 volts.

This will allow sync to swing from 0 to 4 volts.

 

Somehow, I will send the extra 1 volt out to color, but drop its midpoint back to 0.

That way color can swing from 0 to 1 volt.

 

I will do this using the 3 states of the IO Pin.

LO = Sync drop from 4v to 0v (Sync ON)

HI = Color jump from 0 v to 1v (Full Color)

ZZ = Sync at 4v (Off), and color at 0v (Off)

 

I know there is an answer using only resistors and perhaps a diode or two.

Will try later, must go entertain for the rest of my day!

 

Have a good holiday Freaks!

Brad

 

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

First, let me say I defer to your experience and expertise w.r.t. video, but my understanding was that sync-on-green (or on sync-on-blue, or sync-on-red, or sync-on-composite, or sync-on-luma...) use different levels for the sync than the TTL levels used for composite sync or separate sync.  For sync-on-<other>, the sync signal is a -0.3V pulse.  I would think you're going to need a bit more than a few resistors and diodes to generate that form a single GPIO... but then I'm no sparkie!  Perhaps a Dickson-charge-pump-like arrangement to accumulate charge during the line, and then released to generate the negative pulse?  Feels like you'd need a transistor or two in there...  Would that be worth polluting the 'purity' of your hardware design rules for the benefit of liberating a GPIO pin for audio?  I say 'YES!'.

 

I'm looking forward to the magic, and have faith that it will happen!

 

Enjoy your entertaining.  I should be spending less time on the forum for the next while, too, lest I be labelled by my family and friends as an anti-social cyber-addict ;-)

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"Wisdom is always wont to arrive late, and to be a little approximate on first possession."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Torby wrote:

Practical? Of course it's not practical! That's what makes it so cool. But then, using these techniques in a bigger chip might be VERY practical.

Sure it's cool, but that bigger chip can only be VERY practical, if it is not overclocked, which was my point.

Thus I am looking at a 72MHz clock spec 8 bit MCU (EFM8LB1), 'faster in a straight line' than AVR, but 'not as good around corners', so needs a change in coding style.

 The fundamental problems remain very similar : Always fighting tight timing, jitter, and trade offs in Colour.

For now, I favour 8b Pixels

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

AtomicZombie wrote:

Sync on Green is obsolete, and does not work on all but the oldest monitors.

In my collection of 10+ monitors, it only works on one... a big old 19" CRT I keep around.

None of the LCDs do SOG.

Interesting, likely a side effect of swallowing into a chipset.

Some quite small LCDs offer VGA and even HDMI - did you test any of those ?

 

AtomicZombie wrote:

All did composite sync though, so my guess is that HS and VS are simply XORED internally.

So you mean either HS or VS lines could be fed, with composite, (or both separate) and it worked fine ?

 

There are some compact connector problems where this would be useful to save a pin, if it is a universal feature.

 

AtomicZombie wrote:

Now on to my Pin sharing puzzle.

I think this can be done the way I want, knowing...

 

1) The color input is terminated to ground with a 75 ohm resistor inside the monitor.

2) Color voltage must swing between 0v and 1v (they say.7, but 1 looks the same).

3) Sync works from o volts to 2.5 volts.

 

So with a proper resistor divider, I should be able to set my midpoint to 4 volts.

This will allow sync to swing from 0 to 4 volts.

 

Somehow, I will send the extra 1 volt out to color, but drop its midpoint back to 0.

That way color can swing from 0 to 1 volt.

 

I will do this using the 3 states of the IO Pin.

LO = Sync drop from 4v to 0v (Sync ON)

HI = Color jump from 0 v to 1v (Full Color)

ZZ = Sync at 4v (Off), and color at 0v (Off)

 

I know there is an answer using only resistors and perhaps a diode or two.

A 4V ideal Zener would do close to what you need , but they are not easy to find ;)

You could try PDZ style zeners - I see they come in 3v6,3v9,4v3, or maybe look at LEDs as Zeners ?

 

http://www.cliftonlaboratories.com/userimages/led_vf3.gif

http://girr.org/girr/tips/tips7/led_vf.gif

 

 

Blue LEDs would be similar to White, and Red varies with recipe as the plots above show.

You can also nudge the Vcc on the AVR to 5.1, 5.2, or 5.3v to fine tune the colour voltages.

With the P-FET and the soft LED or Zener corners, there is not much room for resistor trimming.

Last Edited: Sat. Dec 26, 2015 - 07:51 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

AtomicZombie wrote:

Interesting... I think I underestimated the power of the ATTiny!

Just for kicks, I dropped in a 46MHz clock, and it still ran!

I am now running "safely" on 40MHz, which might be an easier clock to source.

 

Will do more testing and see.

Perhaps just doubling the speed is best.

Rated at 20... running at 40!

 

Brad

 

Hi!

 

Wow, that's just crazy. I have some dip14 40MHz oscillators so if you need some beta-testing, I'm all up for it :)

 

Cheers

 

//Jartza
Jari Tulilahti

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I remember that we back when we overclocked 486 , I made a OSC made of TTL gates, and it had a trim cap so it could make something like 30-50 MHz, and it was used to find the max freq on different PC's before we ordered the freq osc.

An other way could be to use a freq. tripler.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Doing a little experiment now.

 

I dropped an ATMega88P on a breadboard, and shoved in a 40MHz clock.

No issues, my SRAM and IO has run since this afternoon, checking ever location.

 

I am now going to port my new VGA Driver from Quark-85 into this one and make some adjustments.

Having 20 IO Pins means 256 colors with a possible resolution of 200x240!

Stereo sound and a 5 switch joystick as well.

 

If I like what I see, I may let this project "grow" a little, and call it Quark-88.

I just can't handle the idea of an ATiny and a transistor.... ack!

 

Anyhow, it's all about experimentation. I will report back the impossible results soon.

Being into a bit of Holiday Cheer, I don't know how far I will get tonight.

 

Cheers,

Brad

I Like to Build Stuff : http://www.AtomicZombie.com

Pages