I liked the idea fo an oline version and have had a small bit of C experience.
Although I know it is doomed from the start, I started thinking about the possibility and this is what I have:
34 fake assembly language instructions that would become the low level language
A flowchart like thing for the high level language
The idea that most of the in-game functionality will be implemented in those languages, for authenticity.
The reason that this topic is here, is that if I ever do write a line of code for it, I would like to have a professional opinion for the listings of low level language commands.
code <parameters> :description
NOP :does nothing
INC <dest>:increments the destination value by one
DEC <dest>:decrements the destination value by one
ADD <dest> <val> :stores <dest>+<val> in <dest>
SUB <dest> <val> :stores <dest>-<val> in <dest>
SET <dest> <val> :stores <val> in <dest>
IPT <src> :Sets input source to <src>
OPT <dest> :sets output destination to <dest>
JEZ <src> <dest> :jumps to <dest> if <src> is 0
JNZ <src> <dest> :jumps to <dest> if <src> is not 0
JLT <src> <val> <dest> :jumps to <dest> if <src> < <val>
JLE <src> <val> <dest> :jumps to <dest> if <src> < or = <val>
JGT <src> <val> <dest> :jumps to <dest> if <src> > <val>
JGE <src> <val> <dest> :jumps to <dest> if <src> > or = <val>
JEQ <src> <val> <dest> :jumps to <dest> if <src> = <val>
JNE <src> <val> <dest> :jumps to <dest> if <src> not = <val>
JMP <dest> :jumps to <dest>
AND <dest> <val> :stores the result of a logical AND of <dest> and <val> in <dest>
LOR <dest> <val> :stores the result of a logical OR of <dest> and <val> in <dest>
XOR <dest> <val> :stores the result of a logical XOR of <dest> and <val> in <dest>
NOT <dest> <val> :stores the result of a logical NOT of <dest> and <val> in <dest>
GET <dest> :stores the next input in <dest>
PUT <src>

PSH <src> :pushes <src> to the stack
POP <dest> :pops stack to <dest>
SUB <dest> :jump to <dest> and pushes the current address
RET <stuff> <varies with stuff> :if set as a sub ret(in <stuff>) pops value and jumps to it, otherwise returns from the program
MUL <dest> <val> :stores the result of <dest> * <val> in <dest>
DIV <dest> <val> :stores the result of <dest> / <val> in <dest>
MOD <dest> <val> :stores the result of <dest> mod(or %) <val> in <dest>
NRT <dest> <val> :stores the result of <val>√<dest> in <dest>
SIN <dest> :stores the sine of <dest> in <dest>, cosine, secant, and cosecant can be simulated with this
TAN <dest> :stores the tangent of <dest> in <dest>, cotangent can be simulated with this
CPY <src> <dest> <size>:copies <size> bytes from <src> to <dest>. good for buffer copies.
all arguments(except <stuff> and <varies with stuff>) are 4 bytes, the first for flags, the other 3 as a pointer or number.
the first 2 bits of the first byte signify the typr of number:
0: a number
1: a pointer(the value at <number>)
2: a double pointer(the value pointed to by the value at <number>)
3: a system variable, most read-only. This includes display and audio buffers, and the actual descriptions of input and output.
the other 6 bits are the size of the final target value, in bytes(pointers are always considered to be 4)
Input and output is specified in detail in read-only sysvars, but it set to with IPT and OPT with an argument to the target sysvar location(crafty hackers can use a portion of the graphics display as a wwriteable input/output description.
IP addresses will be 5 bytes, with the final one split into 2 bits added to the front of each of the rest, to give the full 0-999 per . values(0-1023 with said clever hacking)
Memeory(RAM and otherwise) will be stored in 1024 byte structs, 1000 of them will be data, 24 bytes of header. In RAM, the structs will be merged seamlessly, but files will be read in full 1024 byte structs.
Storage:
Quad: 1000 bytes
SuperQuad: 32 Quads(the standard indevisible-without-a-defragger size)
GigaQuad: 32 SQ(the standard starting memory)
OmniQuad: 256 GQ(that would be 256 megabytes of real life space used each, except that it is allocated as needed)
IP addreses will be encoded verions of their real-life(IPv4) versions with an extra byte tacked on.
Okay, there, I think that is all.
I would be very happy for any feedback at all.
Unless it is a delete and ban for some stupid reason(such as your IP doesn't come from antarctica, so get lost)