6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sun Nov 24, 2024 9:53 am

All times are UTC




Post new topic Reply to topic  [ 63 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next
Author Message
PostPosted: Sat Dec 10, 2022 11:12 pm 
Offline

Joined: Tue Jul 05, 2005 7:08 pm
Posts: 1043
Location: near Heidelberg, Germany
Try drawing a timing diagram, and include all the chip timing delays including margins. Start with the clock, draw the first derived signals, then measure them to see if that worked. Continue 'downstream' until you find the problem.

_________________
Author of the GeckOS multitasking operating system, the usb65 stack, designer of the Micro-PET and many more 6502 content: http://6502.org/users/andre/


Top
 Profile  
Reply with quote  
PostPosted: Sat Dec 10, 2022 11:26 pm 
Offline

Joined: Sat Oct 09, 2021 11:21 am
Posts: 718
Location: Texas
sburrow wrote:
So, I was thinking, if you remember:

viewtopic.php?f=4&t=7154

With my last revision I had a flicker problem, but it would go away if I heated up the '161 clock divider. Then I swapped the '161 out with another and it seemed to work. A small update on that: Since winter is/was here, the board got cold and sure enough, the flicker came back ever so slightly. Hm! So that first '161 (the canary, as it was called) just had different margins I guess. It was either faster or slower, ever so much, that it caused the flicker. And then this newer one didn't flicker AS MUCH, but it still did in the end.

What if the timing on those shift registers was the real problem the whole time?! What if I had my /CLK hooked up to them and I should have had CLK instead? Then that original '161 might not have flickered at all! It was never the '161s fault, it was the shift register's fault. Just a hypothesis. Basically: Maybe my logic on using /CLK was wrong for the past 6 revisions, but it wasn't showing up much until I tightened my glue logic a lot. Hm.


Update:

Indeed! Thank you Jeff [ EDIT: it was Bill (plasmo), thank you Bill! But still thank you Jeff too! ] for telling me to save my "canary" 74HC161 many months ago! I pulled it out of the parts collection, plugged it into the old board, flicker-city. THEN I took the '166 shift register and changed /CLK to CLK and the flicker immediately disappeared! I tried the canary '161 in this new board and it worked immediately as well. So, now it is clear: I had my clock logic wrong from MANY boards ago. It just so happened to not be a issue until a more recent design. Fixed.

Secondly:

I was unofficially supporting the use of a 62256 32KB SRAM chip in place of the 128KB SRAM chip I'm currently using. But, even running the most basic and simple test programs all failed with it. So I set up to draw just a single byte on the screen, and sure enough trash started showing up on the screen, as if it were reading a floating databus. So, why was this happening here? It just so happens that my particular 62256 is also just a hair faster than the '1008 I was using, so it was writing twice per cycle, once garbage and the other was intended.

I had a spare 3x NAND gate after doing the last surgery, so I did a LOT of surgery and qualified the /WE pin to the second-half of PHI2-high. And sure enough, the 62256 works now, as well as the bigger '1008. The whole time, it was a FLUKE that my RAM was actually working!

Two flicker issues solved!

Now, my next issue is the auto-adjust on the screen. It seems my monitor "doesn't like" my new video ROM signals as much as previously. It is still running smoothly at 60 Hz, but I need to manually change the phase and horizontal position to get it to fit right.

Makes me wonder, should I add a border? The C64 and VIC-20 did that, a big fat border around the edges. Why? I suppose it's because older TV's were not as universal, and some edges could be clipped off? Anyways, if I added a small border around the edges of the screen, it would fit inside the monitor still, give me 38-column text, and I believe my living room TV with the VGA-to-HDMI adapter would display it better (it was clipping off the sides last time I tried).

Anyways, the adventure continues. Major victories today! Thanks everyone.

Chad


Top
 Profile  
Reply with quote  
PostPosted: Sun Dec 11, 2022 9:12 pm 
Offline

Joined: Sat Oct 09, 2021 11:21 am
Posts: 718
Location: Texas
Alright, every feature on this board now works! Code, keyboard, audio, SPI EEPROM, and SDcard.

Attached are some pictures of the board and the surgery I did to it. Also attached are some pictures of the monitor and BASIC, with two different possible color schemes.

I also included the revised schematics (up to this point) which includes my surgery done to the board.

And then I'm including my code. Each bank is only 16KB, and the monitor and BASIC are both on Bank1. I'm using Bank2 as just a testing area right now. It is mostly uncommented, I plan on going back and commenting a lot very soon.

Lastly I'm including my SDcard code, which again is just for testing but at least shows the capability.

Now, the goal is to make a better design document, detailing everything on this board. This would also include commenting the code I have in Bank1. After that, I'm going to make a (good) game!

Well, there you have it. The Acolyte Computer is finally done.

I have been here for over a year now, and I want to thank all of you for you help and continued support. In particular, helping boost my morale and give me ideas when things didn't go as planned. I appreciate this community we have here. And of course, thank you for putting up with me :)

Have a wonderful day!

Chad

EDIT: Changed the VideoROM.cpp file ever so slightly. It now works with my VGA-to-HDMI adapters on the big screen TV!


Attachments:
VideoROM.cpp [4.33 KiB]
Downloaded 34 times
SDcardCode.asm [682 Bytes]
Downloaded 41 times
20221211_145722.jpg
20221211_145722.jpg [ 1.67 MiB | Viewed 1416 times ]
20221211_145511.jpg
20221211_145511.jpg [ 1.62 MiB | Viewed 1416 times ]
20221211_145422.jpg
20221211_145422.jpg [ 1.8 MiB | Viewed 1416 times ]
20221211_145403.jpg
20221211_145403.jpg [ 1.79 MiB | Viewed 1416 times ]
20221211_145345.jpg
20221211_145345.jpg [ 1.32 MiB | Viewed 1416 times ]
20221211_145329.jpg
20221211_145329.jpg [ 2.24 MiB | Viewed 1416 times ]
20221211_145307.jpg
20221211_145307.jpg [ 2.46 MiB | Viewed 1416 times ]
AcolyteCode-Bank2.asm [1.34 KiB]
Downloaded 34 times
AcolyteCode-Bank1.asm [117.82 KiB]
Downloaded 35 times
Schematics-Mono.pdf [283.42 KiB]
Downloaded 27 times
Schematics-Color.pdf [288.39 KiB]
Downloaded 38 times


Last edited by sburrow on Sun Dec 11, 2022 11:43 pm, edited 1 time in total.
Top
 Profile  
Reply with quote  
PostPosted: Sun Dec 11, 2022 11:21 pm 
Offline

Joined: Tue Jul 05, 2005 7:08 pm
Posts: 1043
Location: near Heidelberg, Germany
Congratulations! Great piece of work!

_________________
Author of the GeckOS multitasking operating system, the usb65 stack, designer of the Micro-PET and many more 6502 content: http://6502.org/users/andre/


Top
 Profile  
Reply with quote  
PostPosted: Mon Dec 12, 2022 12:03 am 
Offline

Joined: Fri Mar 18, 2022 6:33 pm
Posts: 491
Awesome!! Not too bodgey at all. :D

_________________
"The key is not to let the hardware sense any fear." - Radical Brad


Top
 Profile  
Reply with quote  
PostPosted: Mon Dec 12, 2022 3:02 pm 
Offline

Joined: Sat Oct 09, 2021 11:21 am
Posts: 718
Location: Texas
Thank you both very much! I could not have done it without all of help here though. This is not just my board, this is everyone's board!

I put together a design document, explaining each component on the schematic. It tries to show the overall reasoning, and then get into why specifics were done. I wouldn't call it completely comprehensive, but at least it's better than nothing.

I tried commenting code this morning too, but thought that was boring :| Oh well, eventually.

Thank you again!

Chad

EDIT: Added a software section to the Design Document.


Attachments:
AcolyteDesignDocument.pdf [813.25 KiB]
Downloaded 35 times
Top
 Profile  
Reply with quote  
PostPosted: Wed Dec 21, 2022 2:19 pm 
Offline

Joined: Sat Oct 09, 2021 11:21 am
Posts: 718
Location: Texas
Probably the last update for a bit (maybe):

I got Tetris! I probably spent around 4 hours coding this (no comments, so I'm not including it here yet). I tried 2 other times and saw it failing. So, my recommendation is: If it doesn't look like it's working, just start over! And that really helped me.

I want to include the music, or at least sound effects. That will require a bit more testing than my simulator can handle, so that process would be much slower. It would also be cool to make the blocks look a bit better. But overall, it's 99% done.

Up next would be a MUCH more detailed design document.

Thanks everyone!

Chad


Attachments:
20221221_080334.jpg
20221221_080334.jpg [ 1.69 MiB | Viewed 1308 times ]
Top
 Profile  
Reply with quote  
PostPosted: Wed Dec 21, 2022 2:41 pm 
Offline

Joined: Fri Dec 21, 2018 1:05 am
Posts: 1120
Location: Albuquerque NM USA
Wow, very cool. Now I really need to work on the emulation of your hardware so I can play Tetris, too.
Bill


Top
 Profile  
Reply with quote  
PostPosted: Wed Dec 21, 2022 3:19 pm 
Offline
User avatar

Joined: Fri Dec 11, 2009 3:50 pm
Posts: 3367
Location: Ontario, Canada
sburrow wrote:
I got Tetris!
Hooray -- you surely did!

Great to see that screen shot! :) I think we can firmly say this project has officially graduated off the drawing board and into reality!

-- Jeff

_________________
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html


Top
 Profile  
Reply with quote  
PostPosted: Wed Dec 21, 2022 5:24 pm 
Offline

Joined: Fri Mar 18, 2022 6:33 pm
Posts: 491
:lol: Bill!

That looks great, Chad! Now you just have to expand your software support. When will I be able to play "Global Thermonuclear War" on it?

_________________
"The key is not to let the hardware sense any fear." - Radical Brad


Top
 Profile  
Reply with quote  
PostPosted: Wed Dec 21, 2022 10:51 pm 
Offline

Joined: Sat Oct 09, 2021 11:21 am
Posts: 718
Location: Texas
Paganini wrote:
That looks great, Chad! Now you just have to expand your software support. When will I be able to play "Global Thermonuclear War" on it?


Haha, no time soon :) Was wanting to put Oregon Trail on it too, but my ROM space is quickly drying up.

Dr Jefyll wrote:
Great to see that screen shot! :) I think we can firmly say this project has officially graduated off the drawing board and into reality!


Thank you Jeff, that means a lot.

plasmo wrote:
Wow, very cool. Now I really need to work on the emulation of your hardware so I can play Tetris, too.


Haha, I can email you my code whenever you want!

So, I got the boxes to be a tiny bit better looking. I then tried doing some sound. I got a simple Tetris theme going, although it sounds "sickly". I got some beeps and boops whenever you complete a line and all that, but I found that they slow down the game WAY too much. The audio is directly manipulated by the 6502, so if you want to play a tune, it must dedicate nearly all processing power to the music. With keyboard interrupts also going, the program starts stuttering the sound, and when it is finally done the next piece is halfway down the field! So, I just removed sound entirely. I'll try again later. I know there are ways to make it work.

Thank you everyone, I appreciate your kind words.

Chad


Top
 Profile  
Reply with quote  
PostPosted: Sat Jan 07, 2023 2:11 pm 
Offline

Joined: Sat Oct 09, 2021 11:21 am
Posts: 718
Location: Texas
Been working with the SD card code this morning. Learning what it can do, etc. Just wanting to show off some stuff.

Attached is my code for drawing a bitmap picture to the screen. It takes about 30 seconds to initialize and draw the whole thing. It's super slow because I use a lot of delays and pumps while reading. Using GIMP and my own C++ code, I can convert any ol' JPG into hex code within a couple of minutes, like I did with Link and Zelda (original here https://wallpaperaccess.com/full/3596270.jpg).

I'm thinking I will use this capability for a slideshow during our upcoming Math Appreciation Day in April 2023. Last year I was limited to 4 pictures because that's all the ROM could store. Now I will have 2GB worth of SDcard memory, plenty of room for pictures. If so, I'll probably tighten the code to make it quicker than 30 seconds to load.

I think the blue/orange combo is really nice. George (gfoot) had used this combo for some of his earlier VGA designs. I think it has a warm feeling and is pretty versatile, not harsh and alien like my (favorite) red/cyan mix I'm so used to. I also chose this because: blue + orange = white, exactly.

Just showing off, that's all. :) Thanks everyone!

Chad


Attachments:
20230107_072845.jpg
20230107_072845.jpg [ 1.3 MiB | Viewed 1230 times ]
20230107_072816.jpg
20230107_072816.jpg [ 1.98 MiB | Viewed 1230 times ]
20230107_075226.jpg
20230107_075226.jpg [ 2.46 MiB | Viewed 1230 times ]
SDcardCode-Mandelbrot.asm [147.79 KiB]
Downloaded 29 times
Top
 Profile  
Reply with quote  
PostPosted: Sun Jan 15, 2023 1:35 am 
Offline

Joined: Sat Oct 09, 2021 11:21 am
Posts: 718
Location: Texas
Update!

Attached are the latest schematics and some pictures of the board. What a mess! Compare with the earlier bodge wires, and yeah, this is going overboard.

Some improvements today in particular:

1) I connected PHI2 directly to BE, bypassing 3 logic gates. It is working flawlessly. I think one of y'all had suggested it, so I tried it, and it's great. Thank you.

2) I added my RAM expansion, giving it now a full 64KB of RAM and 128KB of ROM. It is tied to the audio-out line, so not always desired, and I have a jumper-connector-thing to select using it or not.

3) I reduced it by one chip! (Don't look at the fact that I actually ADDED a chip to *this* board, ha ha) After the PHI2 = BE thing, I decided to repurpose another gate, shift things around, and now I'm using diode logic and a transistor to help out. And it seems to work great!

4) I clipped the transistors on the color line long ago, and it has worked great. I also adjusted the colors slightly to make make a monochrome screen differentiate between all colors easier. The color change is so slight it's barely noticeable, but behind the scenes it just got more functionality.

5) I've learned a lot, and that's very important.

SDcard is working flawlessly, I have a 4 picture slideshow going right now, been running for hours without any issues.

And that's about it. Just hardware changes. Only small updates to code, making things easier and better. All the same functionality.

Thanks everyone!

Chad


Attachments:
Schematics-Mono.pdf [300.3 KiB]
Downloaded 31 times
Schematics-Color.pdf [304.94 KiB]
Downloaded 35 times
20230114_192004.jpg
20230114_192004.jpg [ 2.19 MiB | Viewed 1157 times ]
20230114_191956.jpg
20230114_191956.jpg [ 2.26 MiB | Viewed 1157 times ]
Top
 Profile  
Reply with quote  
PostPosted: Sun Jan 15, 2023 6:51 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8514
Location: Midwestern USA
sburrow wrote:
Attached are the latest schematics and some pictures of the board. What a mess! Compare with the earlier bodge wires, and yeah, this is going overboard.

Red bodge wiring??? That’s not to standard! :shock: 8) :evil: :twisted: Those electrons are going to be all confused.

Although I mostly can’t tell blue from green, I have used blue bodge wire since time immemorial (at least since the late 1960s)—it’s actually 30 AWG wire-wrap wire that I use. In fact, at the company where I worked in the 1970s and 1980s, when a prototype had to be patched, the design engineer would issue a “blue wire” ECN. :D It actually said that at the top of the page.

Kidding aside, glad to see you are making progress.

Incidentally, in your next iteration, you should consider using 74AHC logic in place of the 74HC stuff where possible. 74AHC logic performs at the speed of 74AC, but has the gentle outputs of 74HC. You gain timing headroom without having to deal with the problems that extremely fast edges can cause.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Sun Jan 15, 2023 8:35 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
sburrow wrote:
SDcard is working flawlessly, I have a 4 picture slideshow going right now, been running for hours without any issues.


Good to hear!


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 63 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next

All times are UTC


Who is online

Users browsing this forum: Google [Bot] and 76 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron