Discussion

nx specs 2

2

DJMoffinz 2022-08-04 00:52 (Edited)

hey guys! đź‘‹
i want to reboot my physical nx project after i lost focus a year or so ago, and i have some more questions for timo and the community about the nx. (i started a new thread because i don’t think thread bumping works on here)

what would be a good physical size for the nx? i was thinking slightly wider than a gba, but other opinions would be good.

how responsive/clicky etc should the buttons be? (give an equivalent to some other console/controller)

should i use actual ROM?

that’s all i’ve got right now, but if you guys can think of anything else i should consider please tell me!


Timo 2022-08-04 09:13

I would imagine it quite bigger, at least like the Game Gear, otherwise the keyboard would be unusable.

What are your plans exactly, how do you want to build it?


Benimo12 2022-08-06 00:26

I’ve worked on said project myself and I have a few questions for you and a few tips to give:

Question 1:
What’s the display mode? This would affect the entire interface of the system:
1. HDMI: Good for sound and vibrant colours but lacks input methods on its own (this will come in useful as the physical NX also needs to be touchscreen). It also consumes an insane amount of power.

2. Remote Desktop Protocol: Surprisingly useful input method. It can be wireless or wired (USB or Ethernet, though if you go this route, I’d assume USB since you’d want it to be pocket sized.), duller colors, power efficient, no sound output and will take bandwidth (depending if you’re going wireless or wired).

3. VNC: Just like RDP but more limited and worse overall.

4. IO/GPIO: Same as HDMI but without sound and can support input as well.

What type of board (SBC) will you be using?

Tips:
1. Controls can be emulated. Not advising this but keep in mind if there is nothing in stock.

2. Get something more than 5000 mAH if you want your physical NX to last long

3. If you’re going the physical ROM route (though I’m not advising it), get a card reader of sorts and lots of cards which you’ll have to format to FAT32.

4. If you’re going the controller route get one with a keyboard as the majority of your work will be bug testing and driver downloads (unless you’re using libretro or Clockwork PI which I’ll just say Aight).

5. The GBA would be a good resolution size if you’re going to emulate the NX alone. (For the love of God, do not use a GBA screen).

6. Get a good physical storage. Timo knows my story.

7. Unless you get a slide-able screen, just emulate the keyboard (and save yourself the sanity.)

8. Get a reliable power source and reliable power cables for your first tests. (Don’t skip on this one). You shouldn’t even think of attaching a battery until you’re sure everything works on the board. Doing otherwise will give unreliable results.

Oh, and if your OS is Linux based, LowResNX isn’t going to act like an application but a driver/core.

I think I’ve covered everything.


DJMoffinz 2023-10-19 23:44

@Timo @Benimo12
hey guys, sorry i’m over a year late to responding, but yk, stuff happens. In terms of my plans, after timo mentioned the game gear i looked into it and found that the game gear and nx are *very* similar, so it follows that i should build something as close to a real game gear as possible, but with everything new that the nx brings to it.

over the last year i have struggled with figuring out how to do this. i looked all over for reverse engineered game gear boards/schematics with little success, but just today i stumbled upon https://syf.nl/, a website run by a guy who not only reverse engineered but improved upon the game gear’s motherboard. At this stage his schematics are not open source, but if i can contact him i think his work would be instrumental in creating a real nx. his board natively supports 3rd party screen mods, usb-c charging and lithium batteries.

in terms of whether or not to use physical ROM carts, i would *like* to, but if i did i think it would be wise to design my own. i’m not saying it would be easy or even a good idea, but it would give me more freedom and means i would be sourcing less components from actual game gears, which i think is a good thing.

in terms of actually running programs, i want to run them on the actual hardware. if you just wanted to play nx games on a handheld device, the ios app and gameshell port already exists. the one thing i’m not sure about is whether to compile nx basic before flashing it to a rom or interpreting it at runtime. i have not yet read the lowres nx source code, so i don’t know how it’s done there, or how realistic the process is, being an emulator. either way, i’m gonna have to learn z80 asm.

this post is getting kinda long, but know that this is a “yes to everything” type of deal. all the input methods, the sliding screen… the works, natively. in the early days i’ll probably implement something similar to a serial port, or straight up usb for plugging in external peripherals.

now obviously this project is gonna take years. creating the hardware and firmware for a whole game console is a big deal, but with enough people helping, it can be done. i know people irl who want to help, and i’m sure everyone here wants to see this happen, so like, reach out to people you know, or people you’ve heard of who have experience in this field. I’ll probably start a github or codeberg or something where people can contribute.

thank you Benimo for all your tips, i find them super valuable.


Benimo12 2023-10-20 22:59

You’re welcome


Timo 2023-10-22 16:35

As you say, it is possible to run NX on handheld devices using the iOS app or linux version.
Creating a device which runs natively NX programs with custom chips is not possible, I think. A BASIC interpreter would already use up a lot of memory and even the variables of NX Basic are in memory outside of the virtual hardware (no PEEK/POKE access).
If NX had a virtual CPU and users would program in assembly (or a compiled language which only uses NX’s memory) it could be possible to recreate it in FPGA, but it still would be very complicated…


Log in to reply.