Page 2 of 2

Posted: Wed Dec 30, 2015 11:49 am
by BanMe_2
Took me a bit to find the tools necessary to understand, and go forth with my own understanding. But I found a i8080 processor emulator that plays space invader.
There are reasons, I chose these, and low that they are limited, in their limitation(s) there is always a maximum to be achieved with careful rethought after the initial implementation.

Like for instance a dynamically resizable register length as long as 'space' is available., like implementing instructions that are complemented by the parallelism involved in graphics processing in the GPU. ... avascript/

So then I thought to myself. Well that's cool but what about a disassembler. found one. - disasm

I now have some grasp of the concepts and patterns involved. So On to the next part reimplementing the primitives, with webgl.

So what do I mean by the primitives? I mean the cpu embedded screen, IO,Memory, instructions registers flags and so forth, viewed totally. ;)

I plan to ferret this one out..

I do this because, in my view the scene never died. It is in all of us, and in the time machine of the web.

So in the spirit described hence I come here; I am going behave in a respectable manner, and try and re-ignite community thinking, as group activity, and push for discourse.

Posted: Wed Dec 30, 2015 5:08 pm
by Kayaker
Well like that doesn't sound interesting. A couple of things that you've probably come across before that might help in your thought processes if not in the actual implementation:

ODA Online Disassembler. According to the blog, it's built on libbfd and libopcodes (part of binutils) and recognizes PE, ELF and Mach-O files. I can't tell if your JS version supports all OS formats. Not sure if that fits in with your WebGL ideas but wanted to mention it.

For the emulation, I immediately thought of Ida-x86emu. Again it may not be directly relevant but there is source code which might help with the implementation of your JS version.

For sure keep us updated on whether this crazy scheme will work :yay:


Posted: Wed Dec 30, 2015 5:51 pm
by BanMe_2
I have heard of ODA, and actually suggested it as a tool to disassemble hex, but it is in the raw and has no idea of the system behind it, which could lead to data being interpreted as instructions..

I understand that subsetting to javascript and even further than that to webgl, limits the portability of the implementation, but as blabberer demonstrated and was once a requirement to the strains, reimplementation of ideas is easy if the tools are available to you and you have some want to seek.

My thought is to start small, and work my way up, like this arcade game, then maybe x86.. But I will take a look, and thank you for your interest.


Posted: Mon Jan 04, 2016 5:35 pm
by BanMe_2
&quot wrote:I can't tell if your JS version supports all OS formats.
Ok so reconsidering this specific part, I have come to agree with you on this respect. I think that doing this in C++ would be more beneficial. Especially with the example planes on the internet. The C++ OpenGL pot is much bigger then the recent WebGL developments.

Next up is how to emulate a CPU in OpenGL 3.2. I do not want to make anything that looks like a CPU visually speaking. I want to use opengl functionalities to implement the functionality of the 8080.

So my question(s) to myself are; "What are the some way(s) to attack this problem?", and "What tactics did others use to solve similar problems to this one?" I will try and answer these questions and form some kinda of similar functionality mapping table between the js 8080 version and C++ opengl. I welcome everyone's input, and would gladly include your name and or code into a final design decision.