Insane Contraption

Discuss anything not related to the current Uzebox design like successors and other open source gaming hardware
User avatar
Artcfox
Posts: 1382
Joined: Thu Jun 04, 2015 5:35 pm
Contact:

Re: Insane Contraption

Post by Artcfox »

Cool, I look forward to seeing how this turns out!
User avatar
uze6666
Site Admin
Posts: 4778
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: Insane Contraption

Post by uze6666 »

Watching this silently!
Seems like it is a lot more difficult to get myself developing the emulator than soldering stuff together (now that I have the equipment for it).
Btw, although i'm not posting on the forums, it doesn't mean i'm doing nothing. ;) One thing I discovered lately to help development of such things as yours is get yourself an Atmel-ICE and use that JTAG port!! I seriously can't understand why I left that extraordinary on-chip debugging facility away for all those years. Man, it just works. Step-debugging, being able to inspect all registers and memory, apply random breakpoints at runtime and so on right on the real chip is a real thrill...and saves so much time. Of course the JTAG pins had to be on the video port so no wonder I never used it. But I made myself a special "dev" PCB with a switch to toggle between JTAG and 4 video pins. After that, my life changed forever. :lol:
User avatar
Jubatian
Posts: 1560
Joined: Thu Oct 01, 2015 9:44 pm
Location: Hungary
Contact:

Re: Insane Contraption

Post by Jubatian »

Thank you :)

I don't feel that much bottlenecked by debugging capabilities myself, I could easily get a functional NTSC signal out of it (since it is by PWM on this system, it is easy to verify that it would be cycle accurate, really, it is actually surprisingly easy to just throw together some random video mode experiment).

Why I got so deadlocked on the emulator is that it would be needed anyway, and it would be a lot easier to iterate on stuff with it. Put together some code, compile, run, see it failing miserably, fix, rinse, repeat. I also tended to just instrument the emulator with random patches if I really needed to know something, in ways it is not necessarily possible with JTAG (such as various timing details), so it is very easy to experiment with code that way, both the emulator and the code being just a "make" away.

My current job unfortunately is severely draining me, seriously. That I have no energy to work on this (despite how much I would love to) is about the smallest of the problems. Then, I would also really like to pick up an NXP i.MX RT devboard to see whether I could trick that thing into being a superb quality display driver for these consoles (including Uzebox). It is fast, I could really envision it being capable to sample the digital 8 bit port producing the display data at a sufficiently high rate, scaling it for a panel.
User avatar
Jubatian
Posts: 1560
Joined: Thu Oct 01, 2015 9:44 pm
Location: Hungary
Contact:

Re: Insane Contraption

Post by Jubatian »

Looking around here I realized I never posted this thing.
P6197489.JPG
P6197489.JPG (246.84 KiB) Viewed 104 times
This is a direction where this thing ended up evolving, which I might some day complete. The system there is an ATMega1284 acting as Video and I/O, combined with a 32KByte SRAM (this part is the same as the solder-spaghetti-monster pictured earlier), running at 18MHz, the video output shown is at 3 cycles / pixel.

The other ("new") part of the system is a 8052 along with a further pair of 32KByte SRAM chips, which is intended to be the main MCU of this system onto which games are loaded. The communication between the ATMega1284 and the 8052 is through that one 32KByte SRAM, which can be accessed by either (having a bus handover mechanism).

This system is meant to be a proper 8 bits microcomputer with the 8052 being its "brain", while the AVRs substituting what would normally be custom sound and video chips. All on 18MHz clock.

My current ideas for this if I ever get there would likely be a 2-in-1 system, where I would have (optionally) Uzebox onboard in addition, with an arrangement where the Uzebox could possibly be provided with keyboard / mouse (mostly realizing that with good PCB design, it wouldn't take that much area, and with this HW, it would be nice if it could also be a Uzebox).
User avatar
danboid
Posts: 1882
Joined: Sun Jun 14, 2020 12:14 am

Re: Insane Contraption

Post by danboid »

Very cool stuff Jubatian! As if you forgot to post that!

How long ago did you build this? Did you write a demo or game for it?

There seems to be quite a lot of empty space on the PCB so I presume it could be made a fair bit smaller in the next revision. Maybe drop the second SD card and replace the full SCART socket with one similar to the Omega (or use the Sega Saturn mini din) to save more space? Its really not that big as it is but the empty space on the PCB is notable when you're used to the fully packed Uzebox PCB.

Why is the SCART socket on a daughterboard?

Is there any SMD soldering involved apart from the SD card sockets? This looks like it would be easier to build than a lot of other homebrew computers I've seen and I like the idea of it doubling up as a Uzebox.

I presume codng for the 8502 is pretty similar if not the same as the 6502 so something like this could be more appealing to the C64 and X16 crowd than the AVR/Uzebox.
User avatar
Jubatian
Posts: 1560
Joined: Thu Oct 01, 2015 9:44 pm
Location: Hungary
Contact:

Re: Insane Contraption

Post by Jubatian »

This PCB was very conservative with trace widths, so is quite inefficient overall indeed. Had a better one printed since, but didn't get there with motivation yet to start working on it.

The idea with the daughterboard for the SCART is modularity: You could swap that to a board doing NTSC with the AD725, or even an upscaler. Seeing and realizing what sort of ideas are going around with the Uzebox, in the final design might even think some about a bus extender sort of solution to allow for adding peripherals.

The two SD sockets come from that this was meant to be a microcomputer, where it is useful to be able to easily copy around files, so a system which by design is meant to act like a stand-alone computer.

Everything on the board is through-hole apart from the SD sockets! :)

The 8052 was chosen as its "brain" as it is the only still widely used 8 bits MCU which can easily run code from RAM by its memory bus, moreover it still has some educational value (it still has relevance, there are even new products around with this MCU in it). Wished I could use the AVR, but there is no AVR with this capability. This microcomputer however could be an useful tool for developing Uzebox games even.
User avatar
danboid
Posts: 1882
Joined: Sun Jun 14, 2020 12:14 am

Re: Insane Contraption

Post by danboid »

Jubatian wrote: Thu Mar 14, 2024 9:00 pm Everything on the board is through-hole apart from the SD sockets! :)
Oh wow! So its effectively almost as easy and cheap to build as a Uzebox. That is a major win.

I'm sure you'll have noticed me posting countless open source computer designs on this forum. The few that I have been interested in, apart from the rbox, were either too expensive or too tricky for me to build but it looks like a beginner like me could both afford and pull something like this off.

Sadly the rbox never gained a community or a PCB version which is a shame as it was more minimal that the Uzebox whilst having a slightly better spec.

Your computer could be a better 8 bit micro for what I think David Murray intended to make than the X16, which he admits didn't quite go to plan even though it is now being manufactured and delivered to users, it costs much more than he had hoped it would cost.
Post Reply