News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Revenant

Pages: 1 ... 4 5 6 7 8 [9] 10 11
161
ROM Hacking Discussion / Re: Screenshots
« on: December 24, 2013, 11:48:00 am »


just testin

162
Programming / Re: 65816 opcode/syntax highlighting for Sublime Text?
« on: December 22, 2013, 06:53:56 pm »
Programmer's Notepad 2 (my personal favorite coding text editor forever :) ) comes with a syntax highlighting scheme for x86 assembly - it wouldn't be too hard to use it as a base for other architectures / assemblers. I've actually thought about ones for 6502/65816 assembly for my own use, but laziness always wins.

163
ROM Hacking Discussion / Re: SNES9X Mario Kart Issue?
« on: December 22, 2013, 01:33:38 am »
I've been meaning to try using the NO$SNS debugger because of a lot of increasingly annoying issues I've been having with Geiger's debugger (both in the debugger and the emulator itself), but haven't checked it out yet.

164
Personal Projects / Re: Kirby's Dream Course editor (version 1.00!)
« on: December 18, 2013, 08:01:17 pm »
https://github.com/devinacker/kdceditor/releases/download/v1.10b/kdceditor-110b.rar

Quote
v1.10b [2013-12-19]
Fixed corrupted demo-6holes.kdc

v1.10 [2013-12-18]
Updated compression code based on exhal v1.20
    (now several times faster again)
Added undo & redo commands/keys
Fixed a critical bug that caused the Windows build to save corrupted .kdc files
    (due to gcc changing the behavior of sizeof() w/r/t bit fields for some reason)
    [huge thanks to DarkMatt for finding this]

Note the Windows bug fix; this was something I thought I had fixed months ago but had slipped into the v1.00 build unnoticed. If you saved any .kdc files with v1.00 you'll need to save them again with v1.10, as they're almost guaranteed to be corrupt. (This bug had no effect on saving/loading data in the actual ROM.)

The rest is minor stuff I had added to the github repository about a month ago.

165
Programming / Re: Program abortion due to superior C compiler
« on: November 24, 2013, 11:30:55 am »
It was really a test. I used gets because thats the only function I know that doesn't check bounds. And I blame the OS because on windows this actually would work. Not sure if its really my compiler though. I'm using gcc to compile it.

Using gcc on Windows will give you exactly the same results. Sorry!

edit: or maybe not, I probably hallucinated MinGW using glibc instead of msvcrt or something. Anyway, stop writing shitty code

166
Programming / Re: snes programming
« on: October 29, 2013, 08:22:26 pm »
Most (or all) of EA's SNES games were written with the aid of a C compiler, which you can tell particularly by the way function calls are handled (through extensive use of the stack in ways no human programmer would have a reason for, including brilliant things like subtracting zero from the stack pointer in functions with no local variables - smart compiler) and by the fact that it's not hard to find 65816-ized versions of the most common/useful standard library functions like sprintf, etc.

I want to say they weren't the only company that did this, though I can't remember who else's games I've seen obviously compiled code in (Accolade?)

Given that the language's de facto "bible" was originally published in 1978, it's not hard to imagine that a moderately powerful console released more than a decade later could handle it to some degree given a decent compiler. C really is a very low-level language compared to almost everything that followed it.

167
Newcomer's Board / Re: Satellaview Games Hacking/Translation
« on: September 27, 2013, 08:21:53 am »
DarknessSavior and I have been working on translating the BS-X platformer Kaizou Choujin Shubibinman Zero, which is fairly close to completion. It has the luxury of not really using the BS-X BIOS at all, making it compatible with pretty much every modern SNES emulator (and somewhat easier to hack, at that :P)

I'd love to see the BS Detective Club episodes translated too.

168
Consummatum est.

Quote
v1.00 [2013-09-15]
Released source under MIT license
Updated source and build to Qt 5
Added sample course "demo-6holes.kdc" [by Revenant]
Added sample course "KirbysRevCourseSampleSelects.kdc" [by DarkMatt]
2D view displays an indicator for layer 2 tiles
Added support for bumpers on diagonal slope top/bottom tiles, and some 2-way slopes
Fixed several Gordo path types sometimes behaving like invisible Gordos (?! HAL...)
Fixed tiles for terrain 0x1A (slope northwest middle)
Fixed tiles for obstacle 0x37 (east conveyor sloping down)
Fixed east/west bumpers for north slope
Fixed north/west bumpers of north/west slopes next to a flat tile with no bumpers
Fixed tiles for adjacent rotating spaces
Reworked some other tile data to be less broken sometimes
Slopes on layer 1 next to terrain on layer 2 don't sometimes have messed up edges anymore
Window maximized state and level image path are saved on exit
More menu/toolbar actions are enabled/disabled when appropriate
Current file name is displayed in titlebar
Removed several unused icons
Prevent main window being closed while file save is in progress
Fixed small memory leaks

Sorry about the larger download this time, I updated the build to Qt 5 at some point and didn't have the patience to build smaller binaries (it's a pain under Windows, believe me). Maybe next time.

September 15, 2013, 10:36:34 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Reuploaded with a missing Qt5 DLL intact. Sorry about that.

169
ROM Hacking Discussion / Re: Kirby's Adventure hack DreamTool translated
« on: September 14, 2013, 11:11:34 pm »
Heh, that's the same person that created the Kirby's Dream Course editor that mine was somewhat inspired by. Nice to see some of their other stuff get some attention :D

I'll have to check this out.

170
Just a quick "I'm not dead yet" post here. 1.0 is almost done, but not quite ready for prime time (especially since I want to release the source at the same time and it needs to be a bit less ugly first...) and a few things have been drawing my attention away for the past month or so. Here's the tentative changelog, anyway, mostly fixing things caused by my own sloppiness:

Quote
2D view displays an indicator for layer 2 tiles
Added support for bumpers on diagonal slope top/bottom tiles, and some 2-way slopes
Fixed several Gordo path types sometimes behaving like invisible Gordos (?! HAL...)
Fixed tiles for terrain 0x1A (slope northwest middle)
Fixed tiles for obstacle 0x37 (east conveyor sloping down)
Fixed east/west bumpers for north slope
Fixed north/west bumpers of north/west slopes next to a flat tile with no bumpers
Fixed tiles for adjacent rotating spaces
Reworked some other tile data to be less broken sometimes
Slopes on layer 1 next to terrain on layer 2 don't sometimes have messed up edges anymore
Window maximized state and level image path are saved on exit
More menu/toolbar actions are enabled/disabled when appropriate
Current file name is displayed in titlebar
Removed several unused icons
Prevent main window being closed while file save is in progress
Fixed small memory leaks

In the meantime, you can also look at these stupid levels I tried designing to provide a few more cool examples. These aren't really the best-designed things ever, but they're all HIO-able, and they're only meant to demonstrate the editor anyway :P

http://dl.dropboxusercontent.com/u/43107309/demoattempt1.png
http://dl.dropboxusercontent.com/u/43107309/demoattempt2.png
http://dl.dropboxusercontent.com/u/43107309/demoattempt3.png
http://dl.dropboxusercontent.com/u/43107309/demoattempt5.png
http://dl.dropboxusercontent.com/u/43107309/demoattempt6.png

171
Something like that, yeah.

I actually did a bit of poking around with STS just to see how similar its level data/object numbers were to KDC's (and to see how screwed up they looked with KDC's graphics):
http://dl.dropboxusercontent.com/u/43107309/sts-1-1.png
http://dl.dropboxusercontent.com/u/43107309/sts-1-3.png
http://dl.dropboxusercontent.com/u/43107309/sts-3-3.png

(these are editor shots, not ingame ones. Pretty recognizable, right? :P)

Either way, it'll still be a while before I get around to adding "real" STS support, just because it does a lot of stuff differently under the hood and I'm a bit more interested in focusing on other things for a little while.

(also, apologies to anyone who was impacted by me forgetting to pay the hosting bill before going out of town last week)

172
Version 1.00 is almost ready, but I want to release a "small" bugfix that I would have posted a few days ago, if I had internet access :P Link is in the first post, as usual.

Quote
Fixed bug where a level being saved near the end of a ROM bank sometimes caused a bad pointer
    (i.e. sometimes a chunk of data would need to be moved to the beginning of the next bank
    when the current bank ran out of space, but the pointer to the data didn't reflect this
    because the pointer was written BEFORE moving to the next bank. oops...)
    [thanks DarkMatt for initially finding this]


173
I'm going out of town for a while tomorrow, so I put this together in a hurry. Nonetheless, some important bug fixes and other stuff (including a brand new course for your playing pleasure.) I also made the help file prettier because I was bored at work today.

Quote
v0.95 [2013-06-27]
Added sample course "carbowl.kdc" [thanks Kles]
Replaced README.txt with HTML documentation
Added course select dialog
Added cut/copy/paste
Added various keyboard shortcuts
Added support for several unused rotating tile types
Added "keep" layer option to preserve existing layer assignment
Sprites are now displayed in preview window
Applying obstacle numbers 24/30/31/32/33 now adjusts for slopes
Fixed bug with selection area not being updated when changing levels or closing a ROM
Fixed bug with scrollbar size remaining when closing ROM
Fixed bug relating to layer 2 terrain drawing too many wall tiles when behind layer 1
Fixed background 3 not displaying correctly in US/EU ROMs [thanks DarkMatt]
Fixed missing tile for terrain 0x15
Fixed messed up south bumper for terrain 0x07
Setting terrain type 0x00 now fully removes other tile properties
Removed some menu items for a few still-unimplemented actions
Window positions/sizes and settings are saved on exit

Thanks for all your positive feedback so far :)

174
ROM Hacking Discussion / Re: NES PAL to NTSC hacks
« on: June 18, 2013, 06:29:11 pm »
Super Turrican is, if I remember right, designed to run correctly on both PAL and NTSC hardware and will adjust itself to run at (almost) the correct speed on an NTSC NES.

A while ago Acmlm made a NTSC fixed version of Asterix which optimized some of the game's code, allowing it to run glitch-free with a shorter vblank interval (the original game suffers severe glitching if you attempt to run it on a NTSC NES, because the vblank period ends earlier than the game normally needs it to). I don't know if there's a patch available for download anywhere, but it's been done.

175
Version 0.90 is released, link and details in the original post.

Changes:
Quote
v0.90 [2013-06-15]:
US/Europe ROM support
Updated compression routine to make saving levels about 3-4x faster
Editor now generates sprite clipping tables
    (this means Kirby won't appear to be on top of something when falling behind it anymore)
Added load/save course files option
Fixed "save level" menu item not doing anything
Added notice to readme about putting Kracko and Whispy Woods in same level
Editor now displays error when:
    - trying to save to a file that has been moved/deleted [thanks Kles]
    - saving a level whose 3D tile map becomes too large
Fixed bugs relating to opening/closing ROMs with headers
Handle possible corrupted ROMs a bit more gracefully
Fixed bug where west slope had the wrong tiles for the east border [thanks Kles]
Dedede's stage sprites/tiles now supported
Changed some music titles to match the snesmusic.org set
Bit of interface tweaks, mostly under the hood
Updated README.txt (real documentation still forthcoming)

176
News Submissions / Re: Utilities: New Utilities Added to the Database
« on: June 11, 2013, 05:25:19 pm »
Nice to see the Capcom/Disney games getting some love on the level editing front.

177
Newcomer's Board / Re: Patching Problems?
« on: June 05, 2013, 11:43:28 pm »
Most SMW hacks also need ZSNES to work properly, so if you're using any other emulator, try that first.

Specifically, this is because way too many SMW hacks rely on ZSNES' very lenient approach to SNES hardware limitations in ways that simply don't work on more accurate emulators or a real SNES, especially when it comes to graphics and audio just like what you're describing.

(This is probably the only situation under which "use ZSNES" is considered good advice.)

178
A shot simulator would be cool, but the problem is that there wouldn't really be a good way to simulate using abilities, especially ones like UFO or Tornado that basically let you move around freely. Testing holes-in-one would be even harder because you'd have to somehow simulate insane tricks like the one in this video :P

However, one thing I do plan to add for testing levels is a feature which will launch an emulator and go directly to the current level, which should make testing levels a lot easier without using the level select/debug patch or cheats.

179
Version 0.80b is out! Link is in the original post. Hopefully it's not too broken, but I'll be making fixes and improvements along the way. Play around with it and tell me what you think!

180
It also setups a lot of other things that are non-relevant to the OP snippet; what you said makes perfect sense, so MyArray is just an array of words, each of them being the VRAM destination tile address, and by offsetting with $35CC I also get the corresponding WRAM location?

So there is a 1-to-1 tilemap in WRAM at  $7F35CC that gets each time this proc is called partially copied to VRAM? In this case what about "CPX   #$20" ? Does it mean that loop will exit either when finding a 0xFFFF word or when 32 tiles have been copied?

Mostly right, except it's limited to 16 tiles, not 32 (X is incremented by two bytes each time, because it's reading 16-bit addresses).

The setup code, among other things, sets up the areas in VRAM where each graphics layer pulls its data from:
Code: [Select]
LDA #$00
STA $2133 ; enable progressive mode, no overscan, etc

LDA #$58  ; BG 1 tile map is at $5800 (($58 && $FC) << 8)
STA $2107 ; BG 1 vertical mirroring is disabled   ($58 && $02)
          ; BG 1 horizontal mirroring is disabled ($58 && $01)

LDA #$5C  ; BG 2 tile map is at $5C00 (($5C && $FC) << 8)
STA $2108 ; BG 2 vertical mirroring is disabled   ($5C && $02)
          ; BG 2 horizontal mirroring is disabled ($5C && $01)

LDA #$03  ; BG 1 tile graphics are at $6000 (($03 && $0F) << 13)
STA $210B ; BG 2 tile graphics are at $0000 (($03 && $F0) << 9)

LDA #$05  ; BG 3 tile graphics are at $A000 (($05 && $0F) << 13)
STA $210C ; BG 4 tile graphics are at $0000 (($05 && $F0) << 9)

LDA #$01  ; Enable BG mode 1 (BG1 and BG2 4bpp, BG3 2bpp, no BG4)
STA $2105 ; All four layers use 8x8 tiles (upper four bits are zero)

LDA #$63  ; use 16x16 and 32x32 sprites ($63 && $E0)
STA $2101 ; Sprite graphics are at $C000 (($63 && $07) << 14)
          ; ("tile map" is in OAM, separate from VRAM)

LDA #$80  ; surround Mode 7 background with empty space
STA $211A ; (not really relevant right now)

LDA #$13  ; Enable BG1, BG2, and sprites, leave BG3 and BG4 disabled
STA $212C

STZ $212D ; Disable subscreen, window masking, color math
STZ $2130
STZ $2131
STZ $2132

So the addresses in MyArray, and the memory regions set up beforehand, determine what effect the DMA transfer has depending on what range the address is in:

Layer 1: Graphics data at $6000, tile map at $5800
Layer 2: Graphics data at $0000, tile map at $5C00
Sprites: Graphics data at $C000

Assuming MyArray is set up to do tile/sprite animation, all of the addresses probably begin at $0000, $6000, or $C000. The tile maps (and separate sprite memory) determine how the tiles that make up each layer's graphics data are arranged on screen; it's not a simple rectangle blit like you'd see on a more modern system  :P

Hope that helps.

Pages: 1 ... 4 5 6 7 8 [9] 10 11