It is currently Wed Oct 18, 2017 1:33 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 15 posts ] 
Author Message
PostPosted: Sun Jul 02, 2017 9:39 am 
Offline
User avatar

Joined: Fri Jan 24, 2014 9:05 am
Posts: 132
Location: Hungary
I've had this crazy idea of "could an NES game cartridge be removable without the game crashing?". I realize the space issue would be huge, since there would only be a bit above 1.5k of code that could be housed by the RAM, while still leaving some zero page and stack space for variables. But the biggest issue is what to do with the display? With no CIRAM wiring connected and no tiles, the only thing I could imagine that would work would be to "go Atari 2600" and draw "pixels" after having gone through all the trouble of syncing up the CPU and the PPU. Now drawing using palette changes would not work because after every write, the PPU address is auto-incremented to point to the next palette entry, which would produce unwanted "pixels". On top of that, the time it takes to write the next color to the PPU would be too much to have acceptable pixel resolution this way (the PPU having produced too many pixels by the time a new color is written). But maybe it could be simplified by using grayscale mode and the color emphasis bits for a basic 3-bit RGB palette (whose brightness could be slightly changed by the underlying palette entry, $x0).
Would it be possible to have something as simple as Pong working this way?


Top
 Profile  
 
PostPosted: Sun Jul 02, 2017 9:59 am 
Offline
User avatar

Joined: Fri May 08, 2015 7:17 pm
Posts: 1771
Location: DIGDUG
Where would the CHR data come from? ie, no tiles.

_________________
nesdoug.com -- blog/tutorial on programming for the NES


Top
 Profile  
 
PostPosted: Sun Jul 02, 2017 10:11 am 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6277
Location: Seattle
For the most part, an operating PPU without a cartridge will see the open bus pattern, so you can't really use the tilemap.

Sound, OAMDMA, PPU palette work as normal.

IRQ; NMI; CIC; PPU name, attribute, and character tables, don't; you have to poll for NMI/IRQ instead.

I did a ridiculous thing in the past.


Top
 Profile  
 
PostPosted: Sun Jul 02, 2017 10:37 am 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10052
Location: Rio de Janeiro - Brazil
The good side of not being able to use VRAM for graphics is that you get an extra 2K for the game state and data, leaving most of the CPU RAM free for actual code.

That being said, I don't think you can pull off any kind of usable graphics when rendering is off. Manipulating the PPU address is way too slow, and even if you used 3 settings of emphasis bits (one in each of A, X and Y), the 4 cycles needed for a PPU write correspond to 12 pixels, so the horizontal resolution would be limited to 21 or so pixels. And each line would take 63 bytes of precious RAM.

Yeah, I really can't think of a way to do graphics for games other than Simon or others that can be similarly blocky.


Top
 Profile  
 
PostPosted: Sun Jul 02, 2017 12:24 pm 
Offline
Formerly WheelInventor

Joined: Thu Apr 14, 2016 2:55 am
Posts: 898
Location: Gothenburg, Sweden
Huh... Doesn't the nametable remain in memory when you eject the cartridge (which you used to inject the program with anyway)? There's easily recognizable shapes when you remove it, iirc*

*on a nes with pin four on the lockout chip disconnected/tied to gnd.

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


Top
 Profile  
 
PostPosted: Sun Jul 02, 2017 12:32 pm 
Offline
User avatar

Joined: Fri Nov 12, 2004 2:49 pm
Posts: 7230
Location: Chexbres, VD, Switzerland
tokumaru wrote:
The good side of not being able to use VRAM for graphics is that you get an extra 2K for the game state and data, leaving most of the CPU RAM free for actual code.

Unfortunately, both the enable pin and an adress pin of that RAM chips comes from the cartridge, so without it... the whole 2k VRAM is completely unusable.


Top
 Profile  
 
PostPosted: Sun Jul 02, 2017 12:44 pm 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10052
Location: Rio de Janeiro - Brazil
Bregalad wrote:
Unfortunately, both the enable pin and an adress pin of that RAM chips comes from the cartridge, so without it... the whole 2k VRAM is completely unusable.

Oh crap, I didn't think of that!


Top
 Profile  
 
PostPosted: Sun Jul 02, 2017 12:54 pm 
Offline
Formerly WheelInventor

Joined: Thu Apr 14, 2016 2:55 am
Posts: 898
Location: Gothenburg, Sweden
Could something be gained soldering jumpers between pins on the expansion port? Making this even worse...

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


Top
 Profile  
 
PostPosted: Sun Jul 02, 2017 1:06 pm 
Offline
User avatar

Joined: Fri Nov 19, 2004 7:35 pm
Posts: 3943
Look at some videos of TapeDump running without cartridge, that's what it would look like.

_________________
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!


Top
 Profile  
 
PostPosted: Sun Jul 02, 2017 1:10 pm 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10052
Location: Rio de Janeiro - Brazil
Obviously, but COULD it maybe look any better?


Top
 Profile  
 
PostPosted: Sun Jul 02, 2017 1:22 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6277
Location: Seattle
You certainly could add a pair of resistors to give you m218-style PPU ability, but then you've modified the console.

To me, it seems a little off track to allow any modification to the console, other than maybe disabling/removing the CIC so that all console variants start off equally capable.


Top
 Profile  
 
PostPosted: Wed Jul 05, 2017 5:17 am 
Offline

Joined: Tue Jul 12, 2011 10:58 am
Posts: 263
Sounds like graphics are out of the question without a cart on base hardware?

Would the Aladdin Deck Enhancer alleviate that restriction?
https://en.wikipedia.org/wiki/Aladdin_Deck_Enhancer


Top
 Profile  
 
PostPosted: Wed Jul 05, 2017 5:54 am 
Offline
User avatar

Joined: Fri Nov 19, 2004 7:35 pm
Posts: 3943
Once you have an Aladdin cart in there (or a Contra cart for that matter), you no longer have no cartridge.

_________________
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!


Top
 Profile  
 
PostPosted: Wed Jul 05, 2017 11:10 am 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6277
Location: Seattle
It's also not no graphics. You can still do blocky sprites. You can still do raster effects. (Which raster effects you can can fit in will be limited due to paucity of RAM).

In practice, I've noticed that floating pins on the NES cart connector (meaning specifically NTRAM/CE and NTRAMA10) very loosely capacitively couple with whatever's around, which in practice means "coupling with mains frequency". So a small portion of the screen will actually get valid data from RAM... See ccovell's Theremin.


(The blocky sprite tiles that you do get, when NTRAM/CE is floating high, will look like:
Code:
wxyz2ttt
wxyz2tt3
wxyz2t3t
wxyz2t33
wxyz23tt
wxyz23t3
wxyz233t
wxyz2333
where "t"=transparent, "2" and "3"=palette entries 2 and 3, and "wxyz" = the lower 4 bits of the sprite #, in binary, where set bits are color 3 and clear bits are transparent.


Top
 Profile  
 
PostPosted: Wed Jul 05, 2017 1:36 pm 
Offline
Formerly WheelInventor

Joined: Thu Apr 14, 2016 2:55 am
Posts: 898
Location: Gothenburg, Sweden
Quote:
other than maybe disabling/removing the CIC so that all console variants start off equally capable.


This, and that the modification is so popular that i estimate that a fair percentage (at least in EU) have been modified. Second hand vendors seem to sell them modified oftener than not. I've modified my two PAL units and have done the modification to two other units for other people. I should probably get an unmodified unit before they run out so i don't forget what blinking gray looks like. :lol:

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


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 15 posts ] 

All times are UTC - 7 hours


Who is online

Users browsing this forum: Yahoo [Bot] and 4 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