65-0-2 Minecraft

Let's talk about anything related to the 6502 microprocessor.
User avatar
barrym95838
Posts: 2056
Joined: 30 Jun 2013
Location: Sacramento, CA, USA

Re: 65-0-2 Minecraft

Post by barrym95838 »

Quote:
... The graphics are not horribly complex. I wonder if option two is feasible?
I haven't crunched the numbers, but I believe that interaction with the Minecraft world would be excruciatingly slow on a 6502, due as much to its limited address space (massive dependence on secondary storage) as its limited throughput (a few 8-bit MIPS at best). It might be possible for a souped-up and hardware-assisted '816 machine like a modified IIgs, SNES or Beeb, but I doubt that the real-time performance would be at an acceptable level for most aficionados even then.

Mike B.
User avatar
DavidBuchanan
Posts: 26
Joined: 04 May 2015
Location: UK

Re: 65-0-2 Minecraft

Post by DavidBuchanan »

randallmeyer2000 wrote:
Whoa I neglected this thread for awhile. Yeah, a little bit humorous to think that I had ANY intentions when I posted this. I know less about minecraft than I do about 6502/65816; and that its precious little.
Quote:
When I first read the title of this topic, I assumed it would be about implementing a minecraft server on the 6502 (the protocol is fairly well documented). I might try that at some point, but I'm not sure whether the 6502 has enough raw performance for the job.
So, I take it, 6502 emulation (i.e. inside game environment; one uses the game to construct latches and switches with "redstone" and stuff?) might be different than USING a 6502 to emulate/simulate the gaming environment, as provided by your favorite "minecraft delivery mechanism", i.e. XBOX etc.?

The graphics are not horribly complex. I wonder if option two is feasible?
I was thinking of something like this: http://hackaday.com/2012/11/16/avr-mine ... ual-world/

If the Atmega328 can do it, a 6502 probably can.

The software is open-source, so maybe it can be ported?

https://github.com/cnlohr/avrcraft
AgentFriday
Posts: 12
Joined: 17 Nov 2013

Re: 65-0-2 Minecraft

Post by AgentFriday »

DavidBuchanan wrote:
I was thinking of something like this: http://hackaday.com/2012/11/16/avr-mine ... ual-world/

If the Atmega328 can do it, a 6502 probably can.

The software is open-source, so maybe it can be ported?

https://github.com/cnlohr/avrcraft
Not looking at the specs right now, but I think the 328s go up to 16Mhz, and most of the instructions take a single cycle. So overall, maybe 2x power of an '816? Don't know, just guessing. The 328 is more limited in built-in memory, though, and expansion solutions are not convenient or fast at all.

This sort of thing interests me greatly, as does distributed computing. I play mostly with the Commodore 64, so when I hear talk of what a 6502 can do, I tend to assume at 1 MHz, which would give a pretty excruciating Minecraft experience, probably no matter how many of them you managed to get working together. But hooking a few 65C02s or 65816s together, along with banked ROM and maybe a DMA controller could outperform the 328 easily.

Anyone else interested in distributed computing?
randallmeyer2000
Posts: 255
Joined: 12 Oct 2015

Re: 65-0-2 Minecraft

Post by randallmeyer2000 »

Hey, Thanks David,

I am trying to get PandaPro (another 6502 user) interested in this stuff, but he is still a bit young, still. Now I can show him this video of the 6502 minecraft server (I don't have the skills to do that sort of thing; the software world is a somewhat-foreign one to me, and hardware makes more sense; but 11 year-olds don't usually "get" the fun of hardware!).
randallmeyer2000
Posts: 255
Joined: 12 Oct 2015

Re: 65-0-2 Minecraft

Post by randallmeyer2000 »

Yes, distributed computing. Heard about it first when watching Rodney Brooks (roboticist, of late-1990s, MIT fame) on TV, but can't remember the "catch phrase" that he used?

Well, Friday, I am afraid I don't know much about actually rolling up the sleeves and making electronics and computers work. I mostly hack it until I give up, but a few projects have functioned.

Right now I am VERY interested in DMA and can't get enough of it. My ears, literally, perk up when I see the phrase. But, I need a "tool" to get me to the "right answer" on a project I am doing, and for all of the promise of DMA, I am starting to think its not right for my project.

I have been reading about "Shared Bus Architecture" (i.e. parallel computing? multi-processor? I am sure it has many names!) in my (copyright circa 2000) Barry Brey "Intel Microprocessors" textbook, and I think that this model seems more promising for my project.

I have never built a computer from scratch, but I got halfway through and stalled (holiday season? or brain-stumped? I don't know which?). I am making a (anthropomorphic/retinomorphic) robot eye, and stitching together 9 (18 eventually) VGA image sensors. The data load is (seems?) oppressive (for a 65816), but there must be a caching mechanism or bus architecture that will allow me to use it. I'd hate to go "x86" on you guys?

Does DMA implement with anything other than the Intel 8237 chip? How well does it "mesh" with the 65xx family? (I am searching the message board, as we speak/I write!).

The VGA sensors feed the data and are, essentially, microprocessors, in and of themselves (they are just dedicated to high output!). I might be mistaken, but I think the vsync and hsync signals they send out could be utilized to generate some of the WE/, OE/, and/or CS signals. I dunno. I'm speculating. But I need to cache the data, till the 65816 has a chance to "sort through it". (I could collect 30 fps, but analyze only 5, or so frames, so the robot can act in real time, but "remember" recent history too?!)

My robot will sleep for 8 hours, like normal people do. So, 16 hours, 300kp *18 sensors (binocular; 9 sensors per eye), * 30 fps * 60s/min *60 min/hr * 16 waking hours, and well, 1.5 Terabytes/day. Poor, poor '816. Not a very relaxing "REM sleep"! Also, human eye is foveated, so a downsample of periphery is possible (though I think I should resist using this option).

Maybe I need DRAM? Not sure I have the skill to use Asynch. SRAM, nevermind a multiplexed-bus DRAM. Maybe psuedo-SRAM? "Page" SRAM? Ahhh, I dunno. Now I'm just babbling.

I might have to get a separate graphics processor, and maybe THAT could share the main bus with the 65816? That seems reasonable? Well, clearly, I have homework to do. Thanks for tolerating my speculative penchant.
randallmeyer2000
Posts: 255
Joined: 12 Oct 2015

Re: 65-0-2 Minecraft

Post by randallmeyer2000 »

Pandapro and I were workin' on Minecraft redstone logic today. I'm still confused, but we looked up some wikis on the subject, and will post our progress here. 3,000 to 4,000 transistors shouldn't be to hard to simulate/emulate, "in-game".

Here is the 'tube link. A lot of babble, by me, but I wanted to outline the 74xx, Forrest Mimms, Radio shack, 4 bit computer project. We would start a thread for PandaPro's "74xx project", but he forgot his password. So I will post a photo, too, and we will start a new thread when we get his numbers tattooed to his forehead (J.K. , PandaPro!).

https://www.youtube.com/watch?v=4hKSSP7Vkrc
Attachments
IMG_4269.JPG
IMG_4268.JPG
IMG_4261.JPG
randallmeyer2000
Posts: 255
Joined: 12 Oct 2015

Re: 65-0-2 Minecraft

Post by randallmeyer2000 »

Don't know if I already posted this link, but it is one of those youtube videos that is almost worth the 8 minutes you spend watching it (a rarity, I know!). https://www.youtube.com/watch?v=afBvohlhRXI

If anybody has the reconstructed 6502 schematic, I know I had it, or saw it at one point, but I am sure I misplaced it. A convenient post, here, would be awesome, or a PM. Thanks. If not, I can track it down again.

A nice youtube vid, about the visual6502 project, mentioned the work that was done, and I am pretty sure he said that nobody had a good internal schematic, because the MOS company was sold/went bust, and then the documentation "scattered to the winds", so to speak.

I wonder if "redstone" will have synchronization problems, when emulating the 6502? I suppose I'll need to emulate a RAM and ROM chip, too?
User avatar
BigEd
Posts: 11464
Joined: 11 Dec 2008
Location: England
Contact:

Re: 65-0-2 Minecraft

Post by BigEd »

These three resources[1] - Hanson's diagram, Balazs' schematic, and the visual6502 team's interactive simulation - have been hugely helpful in understanding the chip.

Another reference work[2] which might be useful or interesting, "org" here has annotated a 6502 die image with all the transistors, and also captured schematics for a lot of the chip. Here are pointers to what looks like the final results of this reverse-engineering project:
https://commons.wikimedia.org/wiki/File ... S_6502.jpg [Transistor-annotated 6502 die image]
http://wiki.breaknes.com/ [in Russian]

You can also find scans on the web of some transistor level schematics from Atari:
http://www.visual6502.org/wiki/index.ph ... Schematics

As with all efforts to redo the 6502 in another technology, you'll need to have an approach to the two sets of bidirectional pass gates which connect the busses.

Good luck!
User avatar
DavidBuchanan
Posts: 26
Joined: 04 May 2015
Location: UK

Re: 65-0-2 Minecraft

Post by DavidBuchanan »

This might be very useful: https://github.com/kkroening/RedGen

Unfortunately it has been abandoned for a couple of years.
randallmeyer2000
Posts: 255
Joined: 12 Oct 2015

Re: 65-0-2 Minecraft

Post by randallmeyer2000 »

Thanks again Ed. I know, I can search just as good as you can, and shame on me for being lazy. I might get ambitious and follow through the logic of the layout as posted on visual6502 website. Have downloaded the pics and dusted off my Weste and Eshraghian textbook (It would have helped if I had read and understood it the fuirst time.... but James Janesicks' "Charge Coupled Devices" got a hold of me! divided my attention!).

PandaPro (contemplating a "handle", name-change) and I have been playing with redstone. I keep trying to steer the lessons away from minecraft and into the world. It is such a fine world, sometimes!

Here's a link or two (rudimentary, but we are having fun). (1) https://www.youtube.com/watch?v=4KbyWhEOYBU (2) https://www.youtube.com/watch?v=dvElrkO_KIM (3) https://www.youtube.com/watch?v=96TItl8bHDg (4) https://www.youtube.com/watch?v=mUPuiDo2Dv4

SRAm cell is next. Need about 32 KB and that is possible, if one believe the youtube vid titles. Don't know about the timing in redstone. seems "glitchy" or finicky? Maybe I must get used to it first? Cheers!
randallmeyer2000
Posts: 255
Joined: 12 Oct 2015

Re: 65-0-2 Minecraft

Post by randallmeyer2000 »

Thanks for the link to redstone circuit diagrams tools. I find their schematics unfun, but I am a biologist who dislikes everything about circuit schematics, except for their ability to make magic happen!
User avatar
GARTHWILSON
Forum Moderator
Posts: 8775
Joined: 30 Aug 2002
Location: Southern California
Contact:

Re: 65-0-2 Minecraft

Post by GARTHWILSON »

randallmeyer2000 wrote:
Thanks again Ed. I know, I can search just as good as you can,
I'm not sure anybody can search as well as Ed can! :D He's the expert in that department around here.
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
User avatar
BigEd
Posts: 11464
Joined: 11 Dec 2008
Location: England
Contact:

Re: 65-0-2 Minecraft

Post by BigEd »

I blush! :oops:

On the subject of designing logic circuits in redstone, there's a simulator here which might be a quick way to experiment with ideas.

While there have been a number of redstone CPU designs in Minecraft, we haven't yet seen a 6502, so it would be great to see you succeed in this effort.
randallmeyer2000
Posts: 255
Joined: 12 Oct 2015

Re: 65-0-2 Minecraft

Post by randallmeyer2000 »

Actually just looking at the docs Ed suggested right now. Having done the easy minecraft redstone circuoits (two or three posts above), I might be able to tackle the 6502, with schematic in hand. Timing will be crucial. I have read, I think, in some places, that the fastest the redstone can clock at is 0.2 s (5Hz)! Not exactly the 6502's 1MHz!

That's OK. I will study it, even though I have started to have my doubts about the utility and the amount of effort I want to put into learning a "make-believe" technology! No time today!
randallmeyer2000
Posts: 255
Joined: 12 Oct 2015

Re: 65-0-2 Minecraft

Post by randallmeyer2000 »

Whoa! Simulator/CAD! I simulate a cad, frequently, but that is an entirely different story. (recovering politician! Hahaha! Well, I had to look up cad in the dictionary, to make sure it meant what i thought it did, and I found a few other meanings that I was unaware of. "A conductor of an omnibus"? well, good to know. Now I have to look up "omnibus". "An unbooked passenger whom a stagecoach driver picked up along the way so that he might appropriate the fare.". "An inferior assitant, as of a bricklayer.". OK, that's appropriate, here. Laying redstone, barely able to read the schematics (probably use the Break NES rev D, "colored overlay" schematic, or the Atari; or both, if I can get away with it!)! "A familiar friend; chum.". "A bounder". "A man or boy who hangs about an English college to assist the students at sports, hence, at Oxford, a town lad who does the same, and, contemptuously, any townsman.". "One who deliberately, and callously or shabbily, violates the code of decent social behavior.". OK, yes. Guilty.

Thanks for the simulator link. Should come in very handy! Maybe I can figure it out. (I wonder about "porting" the save file of a minecraft game? Can one offer one's savegame to others, via the internet? Do the files transfer? I figure, they should; its all just ones and zeros, right?). If I get anything that looks like a "minecraft-6502", I will try to offer it to others, via the internet.
Post Reply