Shop OBEX P1 Docs P2 Docs Learn Events
Using the prop as a SNES custom game test platform. — Parallax Forums

Using the prop as a SNES custom game test platform.

Clock LoopClock Loop Posts: 2,069
edited 2009-10-10 01:22 in Propeller 1
I am posting this to get a list of people here that might be willing to work on creating a snes game (one that works in a regular snes)

And a Propeller program that can "test" snes games for compatibility. (a.k.a. snes emulator)

This would involve the implementation of the following to allow testing of custom snes games without needing a real snes.

CPU reference
Processor: Ricoh 5A22, based on a 16-bit 65c816 core
Clock Rates: (NTSC) Input: 21.47727 MHz
Bus: 3.58 MHz, 2.68 MHz, or 1.79 MHz
Clock Rates: (PAL) Input: 21.28137 MHz
Bus: 3.55 MHz, 2.66 MHz, or 1.77 MHz
Buses: 24-bit and 8-bit address buses, 8-bit data bus
Additional Features

* DMA and HDMA
* Timed IRQ
* Parallel I/O processing
* Hardware multiplication and division



Video reference
Resolutions Progressive: 256x224, 512x224, 256x239, 512x239
Interlaced: 512x448, 512x478
Pixel Depth 2, 4, 7, or 8 bpp indexed; 8 or 11 bpp direct
Total Colors 32768 (15-bit)
Sprites 128, 32 max per line; up to 64x64 pixels
Backgrounds Up to 4 planes; each up to 1024x1024 pixels
Effects

* Pixelization (mosaic) per background
* Color addition and subtraction
* Clipping windows (per background, affecting color, math, or both)
* Scrolling per 8x8 tile
* Mode 7 matrix operations



Audio reference
Processors: Sony SPC700, Sony DSP
Clock Rates: Input: 24.576 MHz
SPC700: 1.024 MHz
Format: 16-bit ADPCM, 8 channels
Output: 32 kHz 16-bit stereo
Effects

* ADSR envelope control
* Frequency scaling and modulation using Gaussian interpolation
* Echo: 8-tap FIR filter, with up to .24s delay
* Noise generation



Memory reference:
Main RAM: 128 kB[noparse][[/noparse]cn 6]
Video RAM: 64 kB main RAM
512 + 32 bytes sprite RAM
256

Comments

  • heaterheater Posts: 3,370
    edited 2009-10-09 13:20
    Don't even think about it.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • Clock LoopClock Loop Posts: 2,069
    edited 2009-10-09 13:27
    heater said...
    Don't even think about it.

    Lolz, coming from you, that makes me worry..

    So then im guessing its just too big of a task?
  • heaterheater Posts: 3,370
    edited 2009-10-09 13:44
    I think it's just to big a task for the Prop. Not to mention the human effort required to program it.

    Of course I could be wrong so the first step would be to take a look at what baggers, potatohead and ericball have been doing on the 6502 front. This might convince you one way or the other.

    I would point out that the chip used in NES was a Ricoh 5A22, yet another 6502 variant, that seems to have lots of extra funky hardware including some kind of support for mul and div.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • FredBlaisFredBlais Posts: 379
    edited 2009-10-09 14:24
    heater said...
    I think it's just to big a task for the Prop. Not to mention the human effort required to program it.

    Would be easier with prop II?
  • ericballericball Posts: 774
    edited 2009-10-09 18:18
    heater said...
    I think it's just to big a task for the Prop. Not to mention the human effort required to program it.
    FredBlais said...
    Would be easier with prop II?
    Since the Prop II doesn't exist yet, determining what is, and is not possible, is a little premature.

    And if your stated objective is to test SNES games w/o a SNES, there are many emulators for PCs and consoles which can be used for this purpose. And if your desire is to develop an SNES game, then you are going to need to spend your time chasing that dream instead of developing an emulator for the Propeller.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Composite NTSC sprite driver: Forum
    NTSC & PAL driver templates: ObEx Forum
    OnePinTVText driver: ObEx Forum
  • Clock LoopClock Loop Posts: 2,069
    edited 2009-10-09 18:57
    ericball said...
    And if your desire is to develop an SNES game, then you are going to need to spend your time chasing that dream instead of developing an emulator for the Propeller.

    Think Big.
    Then hack at it every day. For 1 hour, for 24 hour.

    Plan in steps.

    Always in bits.
  • potatoheadpotatohead Posts: 10,261
    edited 2009-10-09 19:35
    Absolutely agreed, particularly on the every day bit. At worst, do every other day. When something sits for longer periods of time, it takes forever to catch up to be running "at speed" and able to build on the effort. At the least, just think about it. I've been down the 'let it sit' road, kind of forced, but it has happened, and it takes some time to recover. Sometimes a month! Just FYI, from my own rather ugly personal experience!

    Part of the emulation fun is just expressing one platform in terms of another. It's a kind of benchmark, or coming of age for a given machine / CPU to successfully emulate another one in a meaningful way. The side effect then is having greater availability of the original machine to new audiences, history, what if, etc...? Doing this is also very challenging because a very complete understanding of both platforms is required to make anything work.

    If it were me, and I were interested in the SNES, I think I would get hold of an existing emulator (http://www.bestfreewaredownload.com/freeware/t-free-snes9x-freeware-eoddlrzg.html), and some sample code to look at. (http://gra.dforce3000.de/index.html) I don't recommend either, because I know very little about the SNES, other than I had one and liked it! Just thought an example or two would make some sense.

    The good news is that the SNES has been reverse engineered well enough to permit home brew game development, meaning the door is open! So, do that on the SNES and have a great time! I'm into this on a few levels for the older Atari machines, and it's a lot of fun, good tech, and nostalga wrapped into one. I don't know about the SNES homebrew scene. I think it's small, but if it's anything like other scenes, there will be some alpha SNES owners, who would welcome new people into the fold. Good stuff, recommended.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Propeller Wiki: Share the coolness!
    Chat in real time with other Propellerheads on IRC #propeller @ freenode.net
    Safety Tip: Life is as good as YOU think it is!
  • Clock LoopClock Loop Posts: 2,069
    edited 2009-10-09 22:42
    potatohead said...
    It's a kind of benchmark, or coming of age for a given machine / CPU to successfully emulate another one in a meaningful way.


    Perfectly stated.

    It is a benchmark.
  • heaterheater Posts: 3,370
    edited 2009-10-09 22:51
    Just read your first post again and notice you have include the Ricoh stuff. Teach me to skim so fast.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • waltcwaltc Posts: 158
    edited 2009-10-10 01:22
    The Ricoh chip is basically a WDC65816(8/16 bit chip with 24 bit address bus and 24 addressing modes among other things) with some customizations. If you can build a emulator for the 65816. You're half-way there for the cpu emulation part.

    The 65816 was also used in a Apple IIGS, which gave it at the time performance up there with its 68000 competitors.

    Overall a nice chip.

    WDC Link:
    http://www.westerndesigncenter.com/wdc/w65c816s-chip.cfm
Sign In or Register to comment.