Shop OBEX P1 Docs P2 Docs Learn Events
nes emulation — Parallax Forums

nes emulation

SchnibbleSchnibble Posts: 11
edited 2009-05-27 08:15 in Propeller 1
hello there,
is it possible to emulate a nes system with the propeller?

best reagrds

schnibble
«1

Comments

  • BaggersBaggers Posts: 3,019
    edited 2008-11-03 09:18
    I guess it's kinda possible, but you'd need extra hardwarelike a LOT more ram for starters, ( as the propeller only has 32KB of ram. ) and even then it might not run at full speed, but it would take an awful lot of hard work too, and good inside workings knowledge of the NES system.

    Baggers.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    http://www.propgfx.co.uk/forum/·home of the PropGFX Lite

    ·
  • SchnibbleSchnibble Posts: 11
    edited 2008-11-03 09:32
    here are the spec from a other site:

    CPU: Motorola 6502 processor, running at approximately 1.79 MHz
    Graphics: 8-Bit
    Resolution: 256x240 resolution
    Color Palette: 52 colors
    On Screen Colors: 16, 4 per sprite
    Max. Sprites: 64 per screen, 8 per line
    Sprite Size: Mininmum 8x8 pixels, Maximum 8x16 pixels
    RAM: 2KB
    Video RAM: 2KB
  • yomismoyomismo Posts: 2
    edited 2008-11-03 16:38
    It will be nice to work on a nes emulation for the propeller. I am not an expert but I can help.
    We will need first to implement the 6502 emulation.
  • BaggersBaggers Posts: 3,019
    edited 2008-11-03 16:53
    Don't forget a lot of NES games used interrupts to change rom banks down the screen etc. so it could be a very tricky display driver to do, considering it'll all have to be taken from external ram, as the propeller doesn't have that much to begin with.
    So good luck [noparse]:)[/noparse]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    http://www.propgfx.co.uk/forum/·home of the PropGFX Lite

    ·
  • yomismoyomismo Posts: 2
    edited 2008-11-03 17:28
    Yes but we can start with games that use the mapper0 which does not use bank switching. Any way we need a 6502 core emulation first.
  • Dennis FerronDennis Ferron Posts: 480
    edited 2008-11-03 18:13
    I've done a project that connects a real 6502 processor to the Prop. NES emulation is one thing I'd like to try with it, but I haven't got that far yet, although the 6502/Propeller/external SRAM interface works well. Instead of emulating the 6502 core, I use a real 6502 and just emulate the memory map and I/O. NES emulation might be possible then, but it's still an open question. Anyway I'll be giving out the 6502 object for the Propeller on the Obex after the Propeller Design Contest is judged (it was part of my entry).
  • SchnibbleSchnibble Posts: 11
    edited 2008-11-04 06:56
    i found alot of informations here: http://nesdev.parodius.com/
    and a open source emulator : http://fceux.com/web/htdocs/
  • BamseBamse Posts: 561
    edited 2008-11-04 14:17
    I really like the idea of connecting a 6502 to the Prop and emulate the rest...

    Looking forward to see the entry by Dennis, I have been thinking about the same thing, connecting the Prop to a 65c02 to emulate video/sound/IO etc...

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Living on the planet Earth might be expensive but it includes a free trip around the sun every year...

    Experience level:
    [noparse][[/noparse] ] Let's connect the motor to pin 1, it's a 6V motor so it should be fine.
    [noparse][[/noparse] ] OK, I got my resistors hooked up with the LEDs.
    [noparse][[/noparse]X] I got the Motor hooked up with the H-bridge and the 555 is supplying the PWM.
    [noparse][[/noparse] ] Now, if I can only program the BOE-BOT to interface with he Flux Capacitor.
    [noparse][[/noparse] ] I dream in SX28 assembler...

    /Bamse
  • RedNifreRedNifre Posts: 84
    edited 2008-11-09 11:24
    There was a NES emulator for the Game Boy Color that ran extremely slow.

    Have a look at the GBC-specs:
    - Z80 workalike
    - 8 MHz
    - 32 kilobytes system RAM
    - 16 kilobytes video RAM
    - 160x144 pixels

    This gives hope that a NES emulator for Hydra might be possible, maybe even at a decent speed.
    Also, I played with the thought myself. But given that I lack the necessary knowledge I put that idea on hold. However, I asked some emulation experts about it, you can read about it here:

    boards.pocketheaven.com/viewtopic.php?t=6461&highlight=hydra
    Not much there, but an interesting board none the less.

    They redirected me to the NES emulation forum:
    nesdev.parodius.com/bbs/

    I did not talk to the experts of the emulation forum, but I recommend that you guys do it. They seem pretty competent to me (not that I could really judge that with my limited knowledge, oh well...)

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Unterwelt (My first game for the HYDRA):
    http://forums.parallax.com/showthread.php?p=696204

    Hydra in a LEGO NES:
    http://forums.parallax.com/showthread.php?p=654788

    Post Edited (RedNifre) : 11/9/2008 11:33:31 AM GMT
  • JT CookJT Cook Posts: 487
    edited 2008-11-12 14:39
    Maybe instead of a writing an NES emulator you start lower with an Atari 2600 emulator.

    I don't think an NES emulator would ever work unless you can hook up the physical cart to because of the memory issue.
  • trodosstrodoss Posts: 577
    edited 2008-11-12 15:25
    @RedNifre,
    Emulating the NES the way that the GBC does would still be a challenge, although they are likely taking advantage of the lower resolution (maybe displaying every other pixel per scan line?). [noparse][[/noparse]Edit:] If you were wanting to reduce the memory required further, you could just use the 4-color 8x8 definitions in their pattern table(s), and·ignore·when the palette is being set·(maybe displaying this in greyscale?) for your screen buffer.· I don't know if the combination of "pixel smashing" and greyscale would yield a good emulation or not, but would help minimize the memory requirements.· The more resources you can free up for the 6502 emulation, display, input, and (maybe sound) the better.· A lot of people seem to be recommending just putting a 6502 onboard, which would make one less thing to "emulate."

    If you weren't planning on making a NES cartridge interface onboard (as JT Cook mentioned), I think you would have to emulate in code the way that one or more of the memory mappers addressed memory if you are planning on using actual NES ROM images. [noparse][[/noparse]Edit:] Maybe pick MMC1 to start with?· It sounds like a fun project though.

    I would agree with JT Cook that an Atari 2600 emulator would be a good starting point. It would still be a 6502-like instruction set and a 160X192 pixel display (which is going to be a little more memory-friendly on a prop-based emulation). If you were at all interested, the following gives technical specs on the 2600: http://nocash.emubase.de/2k6specs.htm

    There is some pretty extensive information on both NES and GB emulation available here: http://fms.komkon.org/EMUL8/
    It looks like there is even source code for a portable Z80 and 6502 emulation, which would be of use.

    Post Edited (trodoss) : 11/12/2008 3:58:14 PM GMT
  • SchnibbleSchnibble Posts: 11
    edited 2008-12-01 11:47
    i saw it would be complicated to emulate a nes
    so i will change my question, is it possible to make a super mario bros or zelda clone?

    Post Edited (Schnibble) : 12/1/2008 11:59:16 AM GMT
  • JT CookJT Cook Posts: 487
    edited 2008-12-01 14:13
    Yes, that is definitely doable, even with a stock Hydra (or really any Prop board with TV and controller hook ups) with no add ons.
  • SchnibbleSchnibble Posts: 11
    edited 2008-12-01 14:27
    that sounds great, but im not the best coder...
    i work at a mobile version for the propeller, the last design works not with a drop down regulator, i use ther a switch down voltage regulator
    and i need a nice game for it tongue.gif
    768 x 576 - 172K
  • BaggersBaggers Posts: 3,019
    edited 2008-12-01 19:14
    Looks like a great little system Schnibble [noparse];)[/noparse]
    What's the front of the case like?
    And where did you get the case made?
    Shame there isn't a handy LCD pal/ntsc display available to finish it of for a real portable [noparse]:D[/noparse]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    http://www.propgfx.co.uk/forum/·home of the PropGFX Lite

    ·
  • potatoheadpotatohead Posts: 10,261
    edited 2008-12-01 19:30
    Here's a 6502 core written in SPIN!

    http://www.mikekohn.net/micro/propeller_atari_emulator.php

    Wonder if this guy, done with LMM would be fast enough to hit the ~1.7Mhz sweet spot. Spin, native is very close to what 6502 assembler runs. (this depends on system clearly) LMM, being about 5X, might get the CPU part there, running code right out of the HUB.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Propeller Wiki: Share the coolness!

    Chat in real time with other Propellerheads on IRC #propeller @ freenode.net
  • SchnibbleSchnibble Posts: 11
    edited 2008-12-01 20:00
    no lcd, it would be nice but the power consumption are to high..
  • BaggersBaggers Posts: 3,019
    edited 2008-12-01 20:28
    OK, Potatohead, You've tempted me, lol, I'm going to have a bash at getting it into pasm [noparse]:)[/noparse]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    http://www.propgfx.co.uk/forum/·home of the PropGFX Lite

    ·
  • potatoheadpotatohead Posts: 10,261
    edited 2008-12-01 21:08
    If you do, then we are off to the races emulation wise! PASM will nail it. Of that, I'm sure. Only need 1.4Mhz for a VCS.

    Hmmm.... Some early 2600 / VCS games are only 2 & 4K of 6502 code. Wonder just how hard the TIA is to emulate... I know that's not a NES, but hey! Start somewhere, right?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Propeller Wiki: Share the coolness!

    Chat in real time with other Propellerheads on IRC #propeller @ freenode.net
  • BaggersBaggers Posts: 3,019
    edited 2008-12-01 22:34
    Yeah, it's a start [noparse]:)[/noparse]
    1.4Mhz = 17.14etc pasm instructions per 1 6502 instruction to decode.
    at least with 2 & 4K of 6502 code we can use HUB-RAM for memory [noparse]:)[/noparse]
    As for TIA, not sure, but I'm sure we'd have a few cogs left to have a good attempt at it lol

    Schnibble, I'm not so sure, there are some handhelds that have LCD displays, that run on 2 AA batteries and have a decent battery life [noparse]:D[/noparse]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    http://www.propgfx.co.uk/forum/·home of the PropGFX Lite

    ·
  • SchnibbleSchnibble Posts: 11
    edited 2008-12-02 06:45
  • GiemmeGiemme Posts: 85
    edited 2008-12-02 07:39
    Hi Schnibble

    I can't see it....were is the oscillator??

    Thanks
    Gianni
  • BaggersBaggers Posts: 3,019
    edited 2008-12-02 09:05
    good call, where is the oscillator?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    http://www.propgfx.co.uk/forum/·home of the PropGFX Lite

    ·
  • SchnibbleSchnibble Posts: 11
    edited 2008-12-02 10:51
    below the propeller wink.gif
    but i will change the possition later
    307 x 230 - 84K
  • BaggersBaggers Posts: 3,019
    edited 2008-12-02 10:57
    nicely hidden [noparse]:D[/noparse]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    http://www.propgfx.co.uk/forum/·home of the PropGFX Lite

    ·
  • ColeyColey Posts: 1,128
    edited 2008-12-02 12:15
    Very neat, that's a really well laid out board.

    Regards,

    Coley

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    PropGFX - The home of the Hybrid Development System and PropGFX Lite
  • GiemmeGiemme Posts: 85
    edited 2008-12-02 14:36
    Genial!
  • SchnibbleSchnibble Posts: 11
    edited 2008-12-02 15:04
    a sd card module is still in progress.. (for loading the nes roms into it) wink.gif
    now i only need a nes emulator
    307 x 230 - 71K
  • SchnibbleSchnibble Posts: 11
    edited 2009-04-24 19:36
    I see thats it is possible to play mario on a sx, then it shoud are playable on th propeller too
    www.xgamestation.com/products/xgs_me/xgs_bros.jpg

    Post Edited (Schnibble) : 4/24/2009 8:16:27 PM GMT
    409 x 292 - 55K
  • trodosstrodoss Posts: 577
    edited 2009-04-25 03:47
    Schnibble said...
    I see thats it is possible to play mario on a sx, then it shoud are playable on th propeller too
    www.xgamestation.com/products/xgs_me/xgs_bros.jpg
    It is certianly possible to write a Mario clone (which is what XGS Brothers is).· Baggers has written code that is a little closer to the "look" of the NES·Super Mario Brothers with his FemtoGFXBasic:
    http://forums.parallax.com/showthread.php?p=794370





    Post Edited (trodoss) : 4/25/2009 4:15:58 AM GMT
Sign In or Register to comment.