-------------------------------------------------------------- glitchNES 0.15 by NO CARRIER 8bitpeoples Research & Development - http://www.8bitpeoples.com -------------------------------------------------------------- Copyright 2016 Don Miller For more information, visit: http://www.no-carrier.com This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. -------------------------------------------------------------- INCLUDED FILES -------------------------------------------------------------- asm6 - Mac/Unix ASM6 assembler by loopy asm6.exe - Windows ASM6 assembler by loopy compile.bat - Batch file to compile glitchNES compile.sh - Shell script to compile glitchNES glitchnes.asm - Source code for glitchNES glitchnes.asm - Compiled copy of glitchNES gpl.txt - GNU General Public License order.nam - nametable file (see below) pal0.pal - palette file (see below) readme.txt - You're reading it :) tokyo.chr - CHR file (graphics banks), used in glitchNES Square Sounds Tokyo 2015 Edition -------------------------------------------------------------- RECOMMENDED SOFTWARE -------------------------------------------------------------- YY-CHR - Tile editor - http://www.briansemu.com/yymarioed/ Context - Text editor - http://www.contexteditor.org/ Nestopia - NES emulator - http://nestopia.sourceforge.net/ -------------------------------------------------------------- RECOMMENDED HARDWARE -------------------------------------------------------------- PowerPak - NES flash cart - http://www.retrousb.com -------------------------------------------------------------- CONTROLS (MORE DETAILED INFO UNDER "USAGE" BELOW) -------------------------------------------------------------- ---- Controller 1 ---- Select - toggle auto-glitch (tile writing) ON/OFF Start - switch between CHR banks & redraw screen Up, Down, Left, Right - toggle movement ON/OFF in each direction B - slows down everything (kind of) A - speeds up everything (pretty much) ---- Controller 2 ---- Select - toggle background color cycling ON/OFF Start - hold down to PAUSE Up - redraw screen with selected CHR bank Down, Left, Right - not used B - tap tempo (to control auto-glitch) A - turns OFF auto-glitch (tile writing) & clears tap tempo -------------------------------------------------------------- USAGE -------------------------------------------------------------- glitchNES is an NES ROM image. It will work in Nestopia (see above) and other NES emulators. It has also been tested on NTSC NES hardware using both EEPROM development carts and the RetroZone PowerPak. The controls for 0.15 are different from both other versions. Most of them are toggles, to make it easier to use glitchNES when performing live. I decided to label it glitchNES 0.15 because it is halfway between the two existing versions in a number of ways. It has most of the features of 0.2, but uses NROM (or no mapper), like version 0.1. Version 0.2 uses MMC1 (or mapper 1), which complicates things when making development carts to use on real NES hardware. One of the drawbacks is less CHR (graphics banks) data, but you're probably using it to glitch anyway, so whatever! :) Summary of controller 1 stuff: Select toggles the tile writing routine, which glitches the screen and scrambles the graphics. Start bankswitches the CHR / graphics data and redraws the screen. The arrow keys toggle movement in each direction. B and A slow down and speed up everything, including the scrolling, tile writing, and the color flashing on controller 2. Summary of controller 2 stuff: Select toggles the background color cycling, which can also scramble the screen depending on the current speed. Start pauses everything, but only while held down. Left and right are not used. Up redraws the nametable (screen) with the current graphics bank. B is the tap tempo button. Tap in time to sync the tile writing routine to the beat. It can also be used for longer on / off tile writing. If held for 4 beats, it then continue to toggle the tile writing on and off for 4 beats until you hit the A button, which turns off the tile writing and clears the tap tempo settings. All of this can be changed, of course, by editing the source code. I recommend Context with the 6502 highlighter for easy source code manipulation. Even easier than editing the source code is changing the tilesets. You can use YY-CHR or a tile editor of your choice to edit the NES ROM image once compiled. Replacing the tiles in the ROM will completely alter the graphics, but the program will remain the same. There is one included .NAM file, which is loaded as the nametable. order.nam simply orders all of the CHR data on the screen four times, as you can see if you compare the CHR pages to displayed screens inside of glitchNES. If this CHR/NAM stuff confuses you, please download galleryNES and logoNES from my site, and take a look at the included tools and readme files. It is very easy to take your .NAM and .CHR files from those tools and use them with glitchNES. Scroll to the bottom of the source code, and you can see where the palette and .NAM file for each screen are loaded. Each palette and .NAM corresponds to one page of CHR data, in order. There is one example palette file included: pal0.pal. It is a binary file, and can be easily edited using a hex editor. Enjoy! -------------------------------------------------------------- STILL TO COME -------------------------------------------------------------- ??? -------------------------------------------------------------- BIG UP -------------------------------------------------------------- Batsly Adams - for the tap tempo code & being the man KeFF - for good feedback and suggesting the PAUSE feature loopy - for writing ASM6 and letting me include it here -------------------------------------------------------------- VERSION HISTORY -------------------------------------------------------------- 0.15 - 03.20.2016 - Updated version of 0.1 with new features 0.2 - 08.08.2010 - Lots of new awesome stuff 0.1 - 03.20.2009 - Initial release
no-carrier/glitchNES-0.15
glitchNES is an open source software project for the Nintendo Entertainment System. This software causes graphical glitches similar to hardware circuit-bending. Version 0.15 uses NROM (or no mapper), like version 0.1, but has many of the features of version 0.2.
Assembly