Ideas of systems to emulate on the NES
Moderator: Moderators
Ideas of systems to emulate on the NES
After the recent discussion about CHIP-8 interpreters on the NES and actual implementation of one, I couldn't help feeling a bit disappointed at how poorly designed the CHIP-8 is, mainly because of the loose speed specifications and lack of any sort of anti-flicker mechanism. The lack of interesting games to play doesn't help either.
But the idea of simulating another machine on the NES is still pretty cool, so I was thinking if maybe there isn't an actual system out there that would be doable under the constraints of the NES.
The first thing that came to my mind were those cheap 9999 in 1 Brick Games, but unfortunately I couldn't find much technical information about them online, let alone ROM dumps. Those have a number of interesting games, and the display is dead easy to simulate.
Another thing I thought of was the Tamagotchi and it's many clones , but each of those is only a single game, and they aren't particularly exciting to play on a TV.
Then I started to think about more complex systems, like computers from the 70's with specs significantly lower than those of the NES, but still had a decent number of games made for them. The VIC-20 immediately came to mind, because its graphics can be very charismatic, but I didn't fully understand the video hardware (the aspect ratio would be all wrong, that's for sure), and a 1MHz 6502 seems like a tall order for a 1.79MHz 2A03, unless programs are converted via static recompilation or something.
I couldn't help thinking about the Atari 2600 too, and even though the CPU is clocked at 1.19MHz, most of the CPU time is spent on the kernel that draws the image, so if that part can be sped up somehow, maybe the game logic can run at a decent speed. Graphics are primitive, but very dynamic, and can change drastically from one frame to the next, so simulating the TIA would require a lot of tricks (including mid-screen palette changes), and the aspect ratio would be wrong no matter what. Some loss of color would occur, but the palettes are somewhat compatible.
At this point, I'm out of ideas of what could be fun to emulate on the NES. A fun machine to implement would not only have an interesting architecture to recreate, but also software that's fun to run. None of the above candidates are ideal, for various technical reasons. Does anyone have any more ideas?
But the idea of simulating another machine on the NES is still pretty cool, so I was thinking if maybe there isn't an actual system out there that would be doable under the constraints of the NES.
The first thing that came to my mind were those cheap 9999 in 1 Brick Games, but unfortunately I couldn't find much technical information about them online, let alone ROM dumps. Those have a number of interesting games, and the display is dead easy to simulate.
Another thing I thought of was the Tamagotchi and it's many clones , but each of those is only a single game, and they aren't particularly exciting to play on a TV.
Then I started to think about more complex systems, like computers from the 70's with specs significantly lower than those of the NES, but still had a decent number of games made for them. The VIC-20 immediately came to mind, because its graphics can be very charismatic, but I didn't fully understand the video hardware (the aspect ratio would be all wrong, that's for sure), and a 1MHz 6502 seems like a tall order for a 1.79MHz 2A03, unless programs are converted via static recompilation or something.
I couldn't help thinking about the Atari 2600 too, and even though the CPU is clocked at 1.19MHz, most of the CPU time is spent on the kernel that draws the image, so if that part can be sped up somehow, maybe the game logic can run at a decent speed. Graphics are primitive, but very dynamic, and can change drastically from one frame to the next, so simulating the TIA would require a lot of tricks (including mid-screen palette changes), and the aspect ratio would be wrong no matter what. Some loss of color would occur, but the palettes are somewhat compatible.
At this point, I'm out of ideas of what could be fun to emulate on the NES. A fun machine to implement would not only have an interesting architecture to recreate, but also software that's fun to run. None of the above candidates are ideal, for various technical reasons. Does anyone have any more ideas?
- rainwarrior
- Posts: 8732
- Joined: Sun Jan 22, 2012 12:03 pm
- Location: Canada
- Contact:
Re: Ideas of systems to emulate on the NES
I thought a tamagotchi style game would be a good fit for a game that runs entirely from RAM with no cart in, thinking that I could make an 8x8 display out of only sprites (flickering between two complementary half-filled open bus patterns).tokumaru wrote:Tamagotchi
Though incidentally the Tamagotchi ran on a 6502.
-
- Posts: 1565
- Joined: Tue Feb 07, 2017 2:03 am
Re: Ideas of systems to emulate on the NES
I guess you need to emulate the 6502 to do address translation. You could probably emulate a KIM-I as that probably won't need any address translation, or very little translation. Maybe an Altair 8800, PDP-11 etc. TI-99/4a yes it will be slow, but it already was
If you can use hardware to help with the emulation, maybe you can put something to trap and fire an IRQ/NMI when an invalid address is requested, to give you time to translate it to something else?
Game and Watch?
If you can use hardware to help with the emulation, maybe you can put something to trap and fire an IRQ/NMI when an invalid address is requested, to give you time to translate it to something else?
Game and Watch?
Re: Ideas of systems to emulate on the NES
Yeah, which's why I considered using static recompilation, so performance wouldn't take a huge hit.Oziphantom wrote:I guess you need to emulate the 6502 to do address translation.
Are there any fun programs/games for the KIM-1? Does it even have video display?You could probably emulate a KIM-I
I'm not THAT invested in this...If you can use hardware to help with the emulation
The game-specific LCD screens kill it for me.Game and Watch?
Re: Ideas of systems to emulate on the NES
It looks like the TRS-80 Model 1 has a simple enough monochrome display (64x16 characters in text mode, 128x48 pixels in bitmap mode), and a decent library of arcade-style games. The tricky part is that its CPU is a 1.774MHz Z80.
- FrankenGraphics
- Formerly WheelInventor
- Posts: 2064
- Joined: Thu Apr 14, 2016 2:55 am
- Location: Gothenburg, Sweden
- Contact:
Re: Ideas of systems to emulate on the NES
My fist thought was to be able to emulate the FDS expansion, but that’d require some hardware assistance too.
There were a lot (ok, a handful) of computer schematics in the east bloc that any hobbyist could build from discrete parts. Their games were naturally quite limited. Gaming culture exploded in russia after zx spectrum got cloned.
There were a lot (ok, a handful) of computer schematics in the east bloc that any hobbyist could build from discrete parts. Their games were naturally quite limited. Gaming culture exploded in russia after zx spectrum got cloned.
Last edited by FrankenGraphics on Wed Jul 18, 2018 12:57 am, edited 1 time in total.
-
- Posts: 1565
- Joined: Tue Feb 07, 2017 2:03 am
Re: Ideas of systems to emulate on the NES
There is the PET which has a character ROM you can't change which would be convenient for the NES. Also has a 6502. and only 4K of RAM.
the issue with the PET, TRS-80 and Apple ][ is they expect a keyboard.
the issue with the PET, TRS-80 and Apple ][ is they expect a keyboard.
-
- Posts: 314
- Joined: Sun Mar 08, 2015 12:23 pm
- Location: Croatia
Re: Ideas of systems to emulate on the NES
You could emulate one of those old Brick Game Tetris clones.
Re: Ideas of systems to emulate on the NES
It's a good candidate, the games are just a bit on the ugly side...Oziphantom wrote:There is the PET which has a character ROM you can't change which would be convenient for the NES. Also has a 6502. and only 4K of RAM.
True, but since the focus is on the games, a feature to map buttons to keyboard keys should work fine. A virtual keyboard for the non-game stuff will have to do.the issue with the PET, TRS-80 and Apple ][ is they expect a keyboard.
Already mentioned I couldn't find anything about those, no specs, no ROMs, nothing.8bitMicroGuy wrote:You could emulate one of those old Brick Game Tetris clones.
-
- Posts: 1565
- Joined: Tue Feb 07, 2017 2:03 am
Re: Ideas of systems to emulate on the NES
anything with specs low enough to be emulated by a NES are going to look crap Given you have the issue that those machines don't have the VBLank limit, so you are going to need to trap all VRAM updates and then pump it though on the VBlank which is going to drop the amount your emulator can update per frame.
ZX80/81?
ZX80/81?
Re: Ideas of systems to emulate on the NES
I think blocky art can look cool, but ASCII/PETSCII is kinda lame. CHIP-8 graphics wouldn't be so back if they weren't so flickery!Oziphantom wrote:anything with specs low enough to be emulated by a NES are going to look crap
Yeah, I was always counting on having a mirror of the video memory in regular RAM so that it could be changed at any time, and periodically uploading it to VRAM.Given you have the issue that those machines don't have the VBLank limit, so you are going to need to trap all VRAM updates and then pump it though on the VBlank which is going to drop the amount your emulator can update per frame.
I'm not very familiar with those, but the CPU clock scares me a bit. Although it looks like the CPU is involved in the video output, is that correct?ZX80/81?
-
- Posts: 1565
- Joined: Tue Feb 07, 2017 2:03 am
Re: Ideas of systems to emulate on the NES
Chip8 is a language not a machine right? so the flickery graphics is down to the implementation and I guess lack of Vsync?
Yeah the Z80 is basically a 2600 with a Z80, its a 3.5Mhz Z80 but that is ~1.0~1.5mhz 6502ish. But lots of the CPU time is spent on graphics for the ZX80, the ZX81 is a bit better I think.
Yeah the Z80 is basically a 2600 with a Z80, its a 3.5Mhz Z80 but that is ~1.0~1.5mhz 6502ish. But lots of the CPU time is spent on graphics for the ZX80, the ZX81 is a bit better I think.
- FrankenGraphics
- Formerly WheelInventor
- Posts: 2064
- Joined: Thu Apr 14, 2016 2:55 am
- Location: Gothenburg, Sweden
- Contact:
Re: Ideas of systems to emulate on the NES
Correct - you’re free to improve the interpreter as long as compatibility remains intact. Or free to do whatever you want, but compatibility is a key feature in order to be meaningful.Oziphantom wrote:Chip8 is a language not a machine right? so the flickery graphics is down to the implementation
I’d suggest storing and being able to edit a header along with the program file. Emulation/interpreter speed would be the most important feature.
Back in the day i guess the few chip-8 users there were just modified programs to work with their rig. But since the NES is an absolute factor, there are more or less definitivr answers to the respective problems of each program.
In a sense chip-8 is an intermediary step between assembly and BASIC.
Re: Ideas of systems to emulate on the NES
There's a bunch of random arcade games that would be appropriate. (Like all of Kee Games's 6502-based arcade games from the late 1970s). The problem is that I'm not certain whether it would be sufficiently closer to "emulation" than "porting".
—
Nocash has some excellent documentation: http://problemkaputt.de/zxdocs.htm
—
I'd say it's closer to the 7800 than the Galaksija—when the ZX80 is redrawing the screen it's tricked into fetching picture data as though it were executing it, but the hardware shoves a NOP in for the CPU to actually execute.tokumaru wrote:Although it looks like the CPU is involved in the video output, is that correct?
Nocash has some excellent documentation: http://problemkaputt.de/zxdocs.htm
- orlaisadog
- Posts: 166
- Joined: Thu May 31, 2018 11:12 am
- Location: Bristol, England
Re: Ideas of systems to emulate on the NES
I'm glad my topic inspired one of the most active forum members to create a topic