It is currently Mon Oct 15, 2018 5:28 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 32 posts ]  Go to page 1, 2, 3  Next
Author Message
PostPosted: Tue Jul 17, 2018 4:58 pm 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10892
Location: Rio de Janeiro - Brazil
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?


Top
 Profile  
 
PostPosted: Tue Jul 17, 2018 5:20 pm 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 6874
Location: Canada
tokumaru wrote:
Tamagotchi

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).

Though incidentally the Tamagotchi ran on a 6502. ;)


Top
 Profile  
 
PostPosted: Tue Jul 17, 2018 11:33 pm 
Offline

Joined: Tue Feb 07, 2017 2:03 am
Posts: 607
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?


Top
 Profile  
 
PostPosted: Wed Jul 18, 2018 12:22 am 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10892
Location: Rio de Janeiro - Brazil
Oziphantom wrote:
I guess you need to emulate the 6502 to do address translation.

Yeah, which's why I considered using static recompilation, so performance wouldn't take a huge hit.

Quote:
You could probably emulate a KIM-I

Are there any fun programs/games for the KIM-1? Does it even have video display?

Quote:
If you can use hardware to help with the emulation

I'm not THAT invested in this...

Quote:
Game and Watch?

The game-specific LCD screens kill it for me.


Top
 Profile  
 
PostPosted: Wed Jul 18, 2018 12:51 am 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10892
Location: Rio de Janeiro - Brazil
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.


Top
 Profile  
 
PostPosted: Wed Jul 18, 2018 12:53 am 
Offline
Formerly WheelInventor

Joined: Thu Apr 14, 2016 2:55 am
Posts: 1782
Location: Gothenburg, Sweden
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.

_________________
http://www.frankengraphics.com - personal NES blog


Last edited by FrankenGraphics on Wed Jul 18, 2018 12:57 am, edited 1 time in total.

Top
 Profile  
 
PostPosted: Wed Jul 18, 2018 12:57 am 
Offline

Joined: Tue Feb 07, 2017 2:03 am
Posts: 607
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.


Top
 Profile  
 
PostPosted: Wed Jul 18, 2018 1:18 am 
Offline

Joined: Sun Mar 08, 2015 12:23 pm
Posts: 281
Location: Croatia
You could emulate one of those old Brick Game Tetris clones.


Top
 Profile  
 
PostPosted: Wed Jul 18, 2018 1:37 am 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10892
Location: Rio de Janeiro - Brazil
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.

It's a good candidate, the games are just a bit on the ugly side...

Quote:
the issue with the PET, TRS-80 and Apple ][ is they expect a keyboard.

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.

8bitMicroGuy wrote:
You could emulate one of those old Brick Game Tetris clones.

Already mentioned I couldn't find anything about those, no specs, no ROMs, nothing.


Top
 Profile  
 
PostPosted: Wed Jul 18, 2018 1:42 am 
Offline

Joined: Tue Feb 07, 2017 2:03 am
Posts: 607
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?


Top
 Profile  
 
PostPosted: Wed Jul 18, 2018 1:53 am 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10892
Location: Rio de Janeiro - Brazil
Oziphantom wrote:
anything with specs low enough to be emulated by a NES are going to look crap ;)

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!

Quote:
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.

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.

Quote:
ZX80/81?

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?


Top
 Profile  
 
PostPosted: Wed Jul 18, 2018 2:07 am 
Offline

Joined: Tue Feb 07, 2017 2:03 am
Posts: 607
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.


Top
 Profile  
 
PostPosted: Wed Jul 18, 2018 2:44 am 
Offline
Formerly WheelInventor

Joined: Thu Apr 14, 2016 2:55 am
Posts: 1782
Location: Gothenburg, Sweden
Oziphantom wrote:
Chip8 is a language not a machine right? so the flickery graphics is down to the implementation


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.

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.

_________________
http://www.frankengraphics.com - personal NES blog


Top
 Profile  
 
PostPosted: Wed Jul 18, 2018 10:14 am 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 7648
Location: Seattle
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".



tokumaru wrote:
Although it looks like the CPU is involved in the video output, is that correct?
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.

Nocash has some excellent documentation: http://problemkaputt.de/zxdocs.htm


Top
 Profile  
 
PostPosted: Wed Jul 18, 2018 11:22 am 
Offline
User avatar

Joined: Thu May 31, 2018 11:12 am
Posts: 153
Location: Bristol, England
I'm glad my topic inspired one of the most active forum members to create a topic :)


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 32 posts ]  Go to page 1, 2, 3  Next

All times are UTC - 7 hours


Who is online

Users browsing this forum: Google [Bot] and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group