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

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.

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

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.

Thanks Kees for these encouraging words 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....

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

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

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.

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....

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 circleXBLOCK F,XBOT,YBOT,XTOP,YTOP -> draws a filled rectangle

In a loop like this:10 FOR X=8 TO 1280 STEP 820 XBLOCK O,X,X,1280-X,1024-X30 NEXT X40 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?