Daydreaming: a real VGA display card for the Atom

discussion of games, software, hardware & emulators relating to the Acorn Atom
User avatar
hoglet
Posts: 7113
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol
Contact:

Re: Daydreaming: a real VGA display card for the Atom

Post by hoglet » Sun Oct 16, 2016 7:50 pm

roland wrote:I'll have to recheck my setup. There's something strange going on with it. Take a look at https://youtu.be/mKlaXNUvyg0 The Pi stops printing characters if my hand is not over it. I do not need to touch it, just holding my hand above it makes it print something. But it hasn't to be my hand ... a sheet of paper also does make it print :-k
Hmmm, that's not good :shock:

Can you hook up a serial console to the Pi? (115200 baud)

User avatar
roland
Posts: 2895
Joined: Thu Aug 29, 2013 8:29 pm
Location: Born (NL)
Contact:

Re: Daydreaming: a real VGA display card for the Atom

Post by roland » Sun Oct 16, 2016 7:54 pm

Did you have a look at my recently uploaded Youtube movie? That is the output of the one liner. Strange. But like I edited my previous post: I'll start fixing the voltage as it is now 4.55V

I'll hookup a serial console also later. For today it's been enough :)
256K + 6502 Inside
MAN WOMAN :shock:

User avatar
hoglet
Posts: 7113
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol
Contact:

Re: Daydreaming: a real VGA display card for the Atom

Post by hoglet » Sun Oct 16, 2016 8:02 pm

roland wrote:Did you have a look at my recently uploaded Youtube movie? That is the output of the one liner. Strange. But like I edited my previous post: I'll start fixing the voltage as it is now 4.55V
I did watch the video, but couldn't quite make out what the characters on the Pi screen were.

I just did an experiment: I ran the one-liner then slowly reduced my power supply voltage.

I got down to 2.7V before the Pi rebooted. :shock:

The Atom didn't even blink.

Dave

User avatar
roland
Posts: 2895
Joined: Thu Aug 29, 2013 8:29 pm
Location: Born (NL)
Contact:

Re: Daydreaming: a real VGA display card for the Atom

Post by roland » Tue Oct 18, 2016 6:03 pm

I fixed it. This morning, while still in bed, I saw it :shock:

The phi2 signal was not connected, so it was floating. That makes it sensible for a hand or another object next to it. I also had enlarged the holes of U2 which also destroyed the plated through holes and I soldered the jumper pins on just one side. The middle pin (phi2 to GAL) was floating because I soldered it on the "wrong" side of the board. Now that I have soldered it on both sides, phi2 is no longer floating and the Pi gets all the characters :D

It's remarkable that I didn't notice any issues with my copro because there I have the same situation. On that board U2 is also soldered on one side. That makes phi2 floating if the jumper is at the copro side.

So now that the hardware is working, I can start with some software. I will also reprogram the GAL so that I can use both the copro and the Pi Zero simultaneously.
256K + 6502 Inside
MAN WOMAN :shock:

User avatar
hoglet
Posts: 7113
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol
Contact:

Re: Daydreaming: a real VGA display card for the Atom

Post by hoglet » Tue Oct 18, 2016 7:26 pm

roland wrote: I fixed it. This morning, while still in bed, I saw it :shock:
Excellent.
roland wrote: I will also reprogram the GAL so that I can use both the copro and the Pi Zero simultaneously.
You do realise that Pi Zero is also able to act as a Co Pro and a Display at the same time?

Try just firing up the ATOMTUBE host and see what happens

You should be able to write a BBC Basic program that draws triangles, using PLOT 85.

Dave

User avatar
oss003
Posts: 2732
Joined: Tue Jul 14, 2009 11:57 am
Location: Netherlands
Contact:

Re: Daydreaming: a real VGA display card for the Atom

Post by oss003 » Tue Oct 18, 2016 8:05 pm

roland wrote:The phi2 signal was not connected, so it was floating.
This is a bit disappointing, for a moment I thought you were a wizard ........ :(

Well, you are an Atomic wizard ........
but without supernatural powers :wink:

Greetings
Kees

User avatar
roland
Posts: 2895
Joined: Thu Aug 29, 2013 8:29 pm
Location: Born (NL)
Contact:

Re: Daydreaming: a real VGA display card for the Atom

Post by roland » Tue Oct 18, 2016 8:52 pm

Thanks Kees for these encouraging words :lol: I don't feel like a wizard, more like an idiot for not realizing a few days ago why it didn't work in the first place. I wasted Hoglet's precious time for a "user error" ](*,)

However, it it fun playing with the Pi Zero attached to the Atom and it works nice with the Atom Tube interface board. I can really encourage the people here to start playing with this if you're interested in a cheap co-pro for the Atom. It has not all the features and co-pro's of the matchbox but for the Atom it's a good start.

If we can manage to create a two way communication between the Atom and Pi we can use it for example as a mathematical co-pro. BITD Leendert wrote a floating point rom for the Atom-in-PC that made the PC do the floating point calculations with its 80x87 mathematical co-pro. It was a huge improvement for floating point calculations. And that was only a 66MHz 80486....
IMG_1508.JPG
256K + 6502 Inside
MAN WOMAN :shock:

User avatar
roland
Posts: 2895
Joined: Thu Aug 29, 2013 8:29 pm
Location: Born (NL)
Contact:

Re: Daydreaming: a real VGA display card for the Atom

Post by roland » Mon Nov 21, 2016 7:08 pm

Hi Dave,

I have done my hardware mods to the Atom Tube interface and level conversion. I had to do the level conversion with two resistors because of clumsy decissions in the past. But it seems to work. When I write to ?#BEE8 I get the character on the screen. Conclusion: you didn't commit the latest changes to github :lol:

Dumping the registers from #BEE8 to #BEEF gives me 76 65 54 43 32 21 10 0F

Please commit the latest changes so I can catch up completely.

Greetings,
Roland
256K + 6502 Inside
MAN WOMAN :shock:

User avatar
hoglet
Posts: 7113
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol
Contact:

Re: Daydreaming: a real VGA display card for the Atom

Post by hoglet » Mon Nov 21, 2016 7:35 pm

roland wrote: I have done my hardware mods to the Atom Tube interface and level conversion. I had to do the level conversion with two resistors because of clumsy decissions in the past. But it seems to work. When I write to ?#BEE8 I get the character on the screen. Conclusion: you didn't commit the latest changes to github :lol:

Dumping the registers from #BEE8 to #BEEF gives me 76 65 54 43 32 21 10 0F

Please commit the latest changes so I can catch up completely.
Sorry about that. Now pushed.

Can you say a bit more about how you are doing level conversion?

Dave

User avatar
roland
Posts: 2895
Joined: Thu Aug 29, 2013 8:29 pm
Location: Born (NL)
Contact:

Re: Daydreaming: a real VGA display card for the Atom

Post by roland » Mon Nov 21, 2016 8:38 pm

hoglet wrote: Can you say a bit more about how you are doing level conversion?
Just like I did in the serial interface. I have two serial resistors of 1k8 and 3k3. The 1k8 goes to pin 9 of the GAL (A3) and the 3k3 goes to GND. The junction of the two resistors is wired to pin 29 of the GPIO port of the Pi Zero.

After doing a git pull, make clean and make I could build the new kernel.img but my Pi Zero won't start any more. I just see a coloured rectangle, no triangle and no Acorn Atom. When I go back to the previous version, it works again (so I did not break my Pi, just the code :) )

Fixed this by reverting to previous version and then update again. So now I'm up to date. And I added a reset button to the Pi Zero. That's much more comfortable than always power cycling the Atom.
256K + 6502 Inside
MAN WOMAN :shock:

User avatar
roland
Posts: 2895
Joined: Thu Aug 29, 2013 8:29 pm
Location: Born (NL)
Contact:

Re: Daydreaming: a real VGA display card for the Atom

Post by roland » Tue Dec 27, 2016 10:11 pm

Today I found an issue with the TIME statement. I used something like this in a demo program:

T%=TIME:REPEAT UNTIL TIME-T% > 100

for a short delay in the program. But often I saw HOST ERROR messages and after a few times the program hangs. The program was running on a 6502 copro with HIBASIC, the Atom was running at 1 MHz with the normal *TUBE program.

Any clues what causes these errors? The demo program runs fine for hours without this delay. I'll post a picture of it in the next days....
256K + 6502 Inside
MAN WOMAN :shock:

User avatar
roland
Posts: 2895
Joined: Thu Aug 29, 2013 8:29 pm
Location: Born (NL)
Contact:

Re: Daydreaming: a real VGA display card for the Atom

Post by roland » Fri Aug 25, 2017 3:59 pm

I have been writing some more code for both the Pi Zero and the Atom. The Pi Zero has now routines to draw an ellipse, circle, triangle, block, line and parallelogram. Both as outline or filled with the actual foreground colour. For the Atom I have written a few additional basic statements for easy access to these features, like:
XCIRLCE O,X,Y,R -> draws an outline of a circle
XBLOCK F,XBOT,YBOT,XTOP,YTOP -> draws a filled rectangle

In a loop like this:
10 FOR X=8 TO 1280 STEP 8
20 XBLOCK O,X,X,1280-X,1024-X
30 NEXT X
40 END

I sometimes see errors in the drawing. It turned out to be a timing issue. If I power up the Atom and I enter this command line: DO P.?#BEE8;U.0 then I get only 64 as value, Atom running at 1 or 2 MHz. After I issue a single block command, like XBLOCK O,100,100,1180,923 and I re-run the peek then I mostly see 64 but sometimes a value 1 occurs. So reading the tube registers at 2 MHz is not accurate. I can understand this, but why occur the read errors only after the Atom has written some data to the Pi?
IMG_2507.JPG
256K + 6502 Inside
MAN WOMAN :shock:

User avatar
roland
Posts: 2895
Joined: Thu Aug 29, 2013 8:29 pm
Location: Born (NL)
Contact:

Re: Daydreaming: a real VGA display card for the Atom

Post by roland » Sat Jan 20, 2018 7:20 pm

Hi Dave,

I'm still developing on my daydream. There is however a problem with the primitive that draws a triangle. I use this to draw rectangles by combining two triangles. You can see the error here (in the upper left corner, please click on the pictures for the correct view):
IMG_2711.JPG
IMG_2711.JPG
IMG_2712.JPG
The next image is the Atom drawing small rectangles (4x4 pixels) in 65535 colours. In the lower right corner it's also problematic.
IMG_2708.JPG
If you still have this part in your Pi Copro, could you please test it? Or you could use the attached kernel for the Pi Zero.
Attachments
kernel-0.84.zip
(205.49 KiB) Downloaded 11 times
tri-test.zip
The small test file for drawing the yellow rectangle.
(525 Bytes) Downloaded 11 times
IMG_2713.JPG
256K + 6502 Inside
MAN WOMAN :shock:

User avatar
hoglet
Posts: 7113
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol
Contact:

Re: Daydreaming: a real VGA display card for the Atom

Post by hoglet » Sat Jan 20, 2018 10:27 pm

roland wrote: If you still have this part in your Pi Copro, could you please test it? Or you could use the attached kernel for the Pi Zero.
I do. but it took me a while to remember how it all works

This is a very strange bug.. I get it as well, with your kernel, and with the kernel built from the atom_vdu branch.

I can reproduce it from BBC Basic just using MOVE and PLOT 85.

It doesn't seem 100% consistent either. Running the same program sometimes shows the square and sometimes doesn't'

No idea what's going on here.... except the Pi uses something called tile-based rendering, and that looks about the size of a tile.

Dave

Post Reply