Welcome to the new Woodmann RCE Messageboards Regroupment
Please be patient while the rest of the site is restored.

To all Members of the old RCE Forums:
In order to log in, it will be necessary to reset your forum login password ("I forgot my password") using the original email address you registered with. You will be sent an email with a link to reset your password for that member account.

The old vBulletin forum was converted to phpBB format, requiring the passwords to be reset. If this is a problem for some because of a forgotten email address, please feel free to re-register with a new username. We are happy to welcome old and new members back to the forums! Thanks.

All new accounts are manually activated before you can post. Any questions can be PM'ed to Kayaker.

running the CPU and GPU on a Raspberry pi.(Searching..) and I ran across this.

User avatar
BanMe_2
Member
Posts: 71
Joined: Fri Sep 19, 2014 5:08 pm

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


http://typedarray.org/intel-8080-cpu-em ... avascript/

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

https://github.com/begoon/i8080-js - 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.
What is old will become new again.
User avatar
Kayaker
Posts: 4179
Joined: Thu Oct 26, 2000 11:00 am

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

https://www.onlinedisassembler.com/odaweb/
http://blog.onlinedisassembler.com/blog/?p=44

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.

http://www.idabook.com/x86emu/

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

Regards,
Kayaker
User avatar
BanMe_2
Member
Posts: 71
Joined: Fri Sep 19, 2014 5:08 pm

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

Regards,
BanMe_2
What is old will become new again.
User avatar
BanMe_2
Member
Posts: 71
Joined: Fri Sep 19, 2014 5:08 pm

Post 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.
What is old will become new again.
Post Reply