Discussion

Just got a major brainstorm.

2

CreatorJo 2021-09-29 21:11 (Edited)

A little while ago I was pondering, when I began thinking of creating a LowRes Coder emulator inside of LowRes NX. It certainly would be semi-possible, but outside of my range of abilities. Then, I started thinking about fantasy consoles as a whole, and here's where I got my crazy idea: I wanna create a fantasy console myself! Here are the specs I've come up with so far.

It uses a screen buffer, like LowRes Coder, with a resolution of 80x60.
It has an emulated WRAM of 256 bytes.
Input registers after the RAM.
Color palette of 8 individual colors, no redefinability.

Best of all, it can be programmed in machine code, which can be written with an assembler which I will also make! BASIC will not be included, but if you wanna, you can make an interpreter for it.

It will be made in Processing, programmed in Python.


G-9 2021-09-30 04:50

U sure that 80x60 isn’t too small ? Otherwise, good idea, good luck


moechofe 2021-09-30 05:41

I think, you need to write down your specs and do the math. I'm not sure it will fit in 256 bytes.

And, I may have wrong but low-res nx do not have a screen buffer because you access the pixel directly, but throughout sprites and background cells states.

Designing a assembly language probably means designing a machine code directly, or perhaps, you wan't to write a assembly interpreter.

Anyway, good luck with your project.


CreatorJo 2021-09-30 16:15 (Edited)

@moechofe The screen buffer is actually separate from the rest of the ram, and is accessed through special commands I made. The screen buffer is like that of LowRes Coder, not LowRes NX. It uses a custom CPU architecture I've been working on and plays genuine binary ROM files that have been assembled using my assembler. As for the reason why it only has 256 bytes of WRAM, that's just because of the limit of 8-bit memory addresses. 256 bytes of WRAM still means that you can have 256 byte-long "variables." The system does not support declared variables, and you must use the WRAM for storing data. Strings and text will not be included, so you'll have to create your own text systems.


CreatorJo 2021-09-30 16:16

@G-9 Well, by default, the original LowRes Coder was 64x64, but you could redefine the resolution to be as high as 128x128.


CreatorJo 2021-10-01 00:02 (Edited)

This is a demonstration of what this console's assembly will look like:

set 0001 0040
set 0002 0030
nop
col 0001
csb
col 0000
psp 0001 0002
jmi 0249 0001 0038
tsv 0249 0001 0000
jmi 0250 0001 0042
jmi 0251 0001 0046
jmi 0252 0001 0050
efm
jmp 0007
dec 0001
jmp 0007
inc 0001
jmp 0007
dec 0002
jmp 0007
inc 0002
jmp 0007
end

After compiling, it comes out looking like this:

‹¨‹‚ž€ŒˆŒ€‡‚y¦‘y€zª{®|²‰‡‚‰‡‰‡‚‚‰‡‚‰‡


moechofe 2021-10-02 08:42

@Diamond Have you already decided to limit the WRAM at 256 bytes? Because, like the Gameboy, you can combine 2 registers to address 16 Kibi (bc,de,hl)


CreatorJo 2021-10-02 17:01

That's a good idea, but I'd have to redo most of my previous work, which is fine.


Log in to reply.