11 March 2016 - Forum Rules
Started by Bisqwit, December 19, 2012, 01:38:36 PM
Quote from: MathUser2929 on December 19, 2012, 04:54:27 PMSince you have perfect english you should have a english version of your webpage. A english version of your page would be a great help.
QuoteI thought I saw something about a SRAM option but I'm not sure.
Quote from: Bregalad on December 19, 2012, 05:30:09 PMIt is not easy but possible to have a timing loop that works even when DMC is enabled. For that you need to determine whether DMC is enabled by reading $4015, and kill some extra cycles if it's disabled, to compensate for this fact. However to get it right you'd probably need a lot of trial and error - just to say this is perfectly possible without a mapper IRQ.
QuoteThe only solution is to make sure that it never lags, that is the calculations are always finished before the frame.Of course you can only do the calculations during the "fifth piece", which makes it very challenging. You should probably just optimize the assembly code that does the logic, etc... to take minimal time. You could do it in the other pieces if the calculation time is constant, but then it will be incompatible with the DMC compensation.
Quote from: MathUser2929 on December 19, 2012, 06:04:12 PMAnyway, I don't know if you are gonna add scrolling to the map screen but that would be a nice addition. Another good addition would be either to have a moving cursor, or be able to use the dpad to move the position and see where everything is at. Say moving left highlights the location to the left such as a town or forrest. Then it'd show the name and you'd know how to get there. You could move all over the map to see where something is and you wouldnt have to walk somewhere to know where a location is.
Quote from: MathUser2929 on December 19, 2012, 08:17:14 PMIf you have the available colors you should really turn those dots red or some other prominent color. The color you are using don't stand out at all. If you have the available tiles add a box around where the cursor is right then too. Also red.
; Sound_PCMsampleActive may be: ; #$00 = no PCM sound ; #$5D = something 0E 7F F3 17 WaveLength=71 or 65, Count=$7F, Addr=$FCC0, Len=369 (ends at $FE31) ; #$5E = something 0F 00 F0 0B WaveLength=53 or 49, Count=$00, Addr=$FC00, Len=177 (ends at $FCB1) ; #$5F = something 0F 00 F9 0A WaveLength=53 or 49, Count=$00, Addr=$FE40, Len=161 (ends at $FEE1)
Quote from: elbobelo on December 19, 2012, 09:34:01 PMSomething that struck me when playing. The signs in town read "Left" to here and "Right" to there. It would make more since if these read "West" and "East". Especially since the new map also follows these directions.
map_graphics_update: ; Called (almost) every frame to update graphics ldx cursor_y lda cursor_x sec sbc xscroll sta $203+CURSOR_INDEX ; X coordinate for cursor sprite lda cursor_x_hi sbc #0 bne @hide bcs :+@hide: ldx #$F8: stx $200+CURSOR_INDEX ; Y coordinate for cursor ldx #(CURSOR_INDEX+4)@oam_set_loop: .repeat 1 lda map_oam+3,x ; X coordinate sec sbc xscroll sta $0203,x ; Set X coordinate ; Read bit7 from oam lda map_oam+2,x bcs :+ ; If X coordinate overflow, flip bit7 eor #$80 : ; Transfer bit7 into carry rol a lda map_oam, x ; Y coordinate ; If carry was set, hide this sprite bcc :+ lda #$F8 : ; No "sta_0200_subroutine" here. We want this code to be fast. sta $0200,x ; Set Y coordinate inx inx inx inx .endrepeat cpx #(MAP_SPRITEDATA_SIZE&$FF) bne @oam_set_loop ;jmp map_symbol_blink;map_symbol_blink: lda map_blink_counter clc adc #14 sta map_blink_counter bcc @done lda $202+CURSOR_INDEX eor #2 sta $202+CURSOR_INDEX ldx #(map_oam_symbols - map_oam)@loop: .repeat 1 inx lda $200,x eor #2 sta $200,x inx inx inx .endrepeat cpx #(MAP_SPRITEDATA_SIZE&$FF) bne @loop@done: rts
Quote from: optomon on December 20, 2012, 02:25:04 AMAs someone with multiple major products involving the CV2 engine, I could make use of these adjustments. I remember finding and debugging a glitch that made the game display the incorrect colors at times, but I lost my notes on it in a flash drive failure before I enacted on it, and started avoiding the glitch by avoiding certain palette patterns (which is apparently something the designers of the game did when making CV2).The game slows a lot while scrolling and a bunch of sprites are on screen, but this could be like any normal NES game's problem. But also likely, I'm adding a crap load of code that slows down the game.
Quote from: Bregalad on December 20, 2012, 06:35:44 AMI don't know if you got this working, but if you did it's really great. Keep in mind most emus will be inaccurate and will not simulate the DMC stealing cycles to the CPU. Only Nestopia and Nintendulator might emulate this correctly. I'm even pretty sure they only emulate NTSC correctly and have off-timings for PAL. I can always test whatever with my powerpak, as I have both a NTSC and PAL console, if this can be handy.
Quote from: keropi on December 20, 2012, 09:02:08 AMI just finished building a mmc-3 based test cart with sockets made a mistake on the prg pins 30-31-32 but I was too bored atm to fix it, for now I just burned 1.27 and got it working just fine with some quick'n'dirty soldering
Page created in 0.080 seconds with 19 queries.