Plausible or not?
I'll start by saying that my long term goal over the next few years is to get a crappy 8-bit game connected to the internet. Knowing this, I set out to see what my options were. First place I looked was the NES, and how pre-1985 programmers did things. I learned that the NES is programmed mostly on a specific dialect of Assembly (specifically 6502-Assembly), and that later on someone created a C-compiler for it (65c02-Assembly). I also learned that one of the best ways to get something online is Java and its net plugs.
My question is this, please try to ignore my ignorance on terminology and technology: if I learn 6502-Assembly (I got the basics of it over the last week and messed around with a P65 Assembler that was programmed in Python (had to mess around in Python and still don't understand it)) and program a game using a combination of a C-compatible 65c02 Assembler and C, could I then somehow transport it to Java to program the rest of the game? My concerns are this:
1. That transferring the C code into Java would cause problems with the 65c02 Assembler's C-compiler, or that Java is not compatible with Assembly.
2. That a game programmed in Assembly and C could not be continued in Java due to problems unknown to me.
3. That any game that resulted would be so demanding on a server that I would end up having to make it a downloadable client, which I don't really want to do (I want to keep it either in-browser, or with downloadable content that makes running the game much easier on my end).
Any insight into these or any other problems you can see would be greatly appreciated.
Do you have a specific problem we can help you with?
just the 3 questions that I asked. I want to know if this entire project and multiple languages is plausible, or if I should just do this all in Java somehow.
Ok then I'm moving this to the Tech board.
Getting software that runs on archaic hardware to run on modern machines is typically done in one of two ways.
The first is emulation, where a program interprets the original program at the machine code level, and figures out what it would do on the archaic hardware (say draw a pixel), and faithfully mimic that on the modern hardware.
The second is to basically re-write the software from scratch.
> and that later on someone created a C-compiler for it (65c02-Assembly).
The 'C' in 65C02 refers to CMOS, which is a later chip technology (mostly lower power) than NMOS used in the original 6502 processor.
The 'C' version fixed some bugs, and added a few instructions. This necessitated writing a new assembler.
It really depends on what you mean by "online".
If the original game had a "head to head" mode, where you physically plugged two game consoles together, then there would be scope (through emulation) to replace that functionality over the net.
no, this isn't an old NES game that I want to turn into an online game, this is a game I'm going to make myself using a combo of 65c02 Assembly, C and Java. I want multiple people to be able to connect and interact in the style of old 90's Java games like Runescape and Graal Online.
Well using 65C02 then would be pointless, if you're not going to be running it on an actual 65C02 processor.
Use Java for everything. If the performance sucks too much, then CAREFUL rewriting of the performance critical code in 'C' might be of some use.
okay, that solves 90% of my problems. Thank you very much for your help. :)
this can be locked.
We do not lock threads unless some rule has been violated.
this can be locked.