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 - halkun

Pages: 1 2 3 4 [5] 6 7 8 9 10 ... 73
101
A few blocks are using 15-bit colour directly. I was really hoping it would reveal a more technical or logical grouping.
With a good colour palette algorithm they could've displayed the whole image with a single 256 colour palette... and it makes me think, the jpeg screenshot above (highly compressed though) is a lot smaller than the compressed MIM file. They could've packed things a bit better if they used the DCT decompression hardware for field screens as well.

Speed/size tradeoff. The tile data is tiny compared to the video data on the disk, and they needed to DMA it to the framebuffer quick. The PSX had no direct access to VRAM and the transfer is slow. That and the tile has to sit somewhere and it's bad enough that it has to be placed three times in VRAM (Texture cache, and the two framebuffers)

Keep in mind that the PSX can display multiple bit depths on the screen at the same time. You can have a 8-tile next to a 4-bit one next to a 15-bit one.  That's your memory saver there. The size on the disk is irrelevant compared to how much VRAM you need.

102
Sadly, after FF7's release, much of the original work simply vanished. There very little version control and coordination between the creatives. Also, because of the lack of versioning, the code that was given to the FF7PC port team wasn't even the final version. Work started, and then stopped as Square had to pull a newer version from the archives (backup tapes). It wasn't until square started up-porting the series to new engines did they discover the need to have some kind of asset control.

Shame, really.

103
Q-Gears / Re: Q-Gears v0.21 Run Wild
« on: 2012-06-30 05:24:28 »
Yea, that thing is ancient! This when I started the project many, many moons ago.

104
Team Avalanche / Re: Midgar Remake
« on: 2012-06-23 19:42:16 »
Hah I like how even square got the schematic wrong, thats from Crisis Core right? Notice how the number 1 reactor shows the number 8 logo. Actually all the reactors logos are wrong =P

You may want to look at that again buddy :)
Those aren't logos, they are Chinese characters. The Arabic numbers are showing the plates, the Chinese numbers are showing the reactors. Reactor 1 is to the right of plate 1, not the left, you read it clockwise, not counterclockwise.

105
Q-Gears / Re: Current state.
« on: 2012-06-10 03:05:09 »
halkun got things rolling and Akari just kept going.

This is the story of my life... You should see the Minecraft Enterprise now.

106
So... no Pineapple Chronicle?
I will still play that if it's ever made.

big ambitions, small skills. It's still a cool idea though.

107
Oh, this and that... Hawking the wiki... and doing things with ponies :)

http://www.youtube.com/watch?v=om4PM3K6eyQ

108
Saving PSP and PS3 saves are not supported

109
Scripting and Reverse Engineering / Re: FF8 opcodes
« on: 2012-02-18 00:15:21 »
...this is for all intensive purposes ...

Be it far from me to correct someone's english, but the term is "For all intents and purposes"

110
Scripting and Reverse Engineering / Re: FF8 opcodes
« on: 2012-02-13 00:50:50 »
Given Square's history, I doubt even *they* have the source code.
Haha! That's true. I'm, just being a little overprotective. don't mind me.

Just to let you guys know, www.qhimm.com is actually blocked by the webfilter at my work. (the wiki is unblocked though) This means there are companies who are not exactly pleased with the website and have added it to the filter database (It's webwasher BTW, and no, it wasn't a local company add either, but an out-of-the-box block.)

Lets say this Twinkie represents the litigation power of Squeenix.  According to this morning's sample, it will be a Twinkie... 35 feet long weighing approximately 600 pounds.

That's a big Twinkie.

Hmmm... What?! ???

http://www.youtube.com/watch?v=pzaQjS1JstY

111
Scripting and Reverse Engineering / Re: FF8 opcodes
« on: 2012-02-12 19:22:35 »
Where did you get the opcode names? Are they made up, or are they in the executable somewhere? Just want to make sure we are not dealing with any leaked source code.

If what were the case, that would be bad.

How bad?

Lets say this Twinkie represents the litigation power of Squeenix.  According to this morning's sample, it will be a Twinkie... 35 feet long weighing approximately 600 pounds.

That's a big Twinkie.

112
Scripting and Reverse Engineering / FF8 opcodes
« on: 2012-02-12 02:39:49 »
Just noticed that FF8 Opcodes are being added to the wiki by Myst6re and Aali. How about did you guys come by this information?

All always here BTW. I secretly hawk the wiki fro changes (I have an RSS feed set up for it). Some new breakthrough?

113
Gameplay / Re: [WIP] FFVII Job Class Kernel.bin
« on: 2011-11-15 03:44:48 »
If you are making classes, and Aerith is your White Mage, you are going to be hosed halfway though the game.

Also the classes go you may need to double-up on the classes

Also Tifa is supposed to be a monk.

114
Picked it up after a few years
Trying again from scratch

*sneak*
update using my magic mod powers to bump :P
]

115
I've been modeling again. This is a character for my make-believe video game I'll make one day.






116
WIP / Re: Halkun's new Project... Introducing N-gears
« on: 2011-08-17 01:54:44 »
Had a bunch of wind in my sails, but it wound up being too daunting with little return. Trying something else..

117
What's up with the little area between your keyboard and the bathroom?

closet

118
And you do need a profound gift for folding clothes.   ;)
I was in the Navy...
I'm home now.. Here's a comparison shot of the model vs the real thing. I would of tied to match them better the I don't know how to set the FOV in Sketchup.  Also It seems my windows are not tall enough, I'll be fixing that quickly.

First with my back against my door looking into the kitchen.



Next is my back against the fridge looking towards the door.



119
You fold them. One is for pants and the other, shirts

120
The larger "trash cans" are actually totes. I put my clothes in there as I don't own a dresser.

121
Completely Unrelated / Game ideas for a small apartment.
« on: 2011-08-06 19:43:47 »
So last night I got boerd and made my apartment in sketch-up. I was looking at it and thought it would make a pretty cool game level for something really small. Like a bug simulator or something. The question is... What? You guys have any ideas?








122
WIP / Re: Halkun's new Project... Introducing N-gears
« on: 2011-08-04 12:27:21 »
no, just made a space for it in the wiki, the guys over at RHDN have a bunch of locations.
Want Wiki access?

123
WIP / Re: Halkun's new Project... Introducing N-gears
« on: 2011-08-04 02:09:37 »
The are several functions that are copied from bank 1 from the $200 -$600 address range at 256 byte intervals

Did you see what it does to the stack? :P

124
WIP / Re: Halkun's new Project... Introducing N-gears
« on: 2011-08-03 23:45:11 »
Cool..

The reason why the bank switching code is at $400 is because you need the Program Counter up there when you do the switch. Switching out a bank while the PC is in the ROM will result in the PC executing code in another bank randomly.

125
WIP / Re: Halkun's new Project... Introducing N-gears
« on: 2011-08-03 09:11:52 »
I found some code from two different emulators that describes how the bank switcher works for Mapper 163. What I was doing was just copying the bank switch code from the original rom, but I 'd like to have an idea of how it works. Here is two code snippets from two different emulators.

I think that $5000 is a security check, and 5001-5003 switch the rom, but are the arguments?

there is also a scan-line interrupt at line 127... I think.
You want to help decipher?

Code: [Select]
//////////////////////////////////////////////////////////////////////////
//           Mapper163  NanJing Games (NES Chinese RPR game)            //
//////////////////////////////////////////////////////////////////////////

void Mapper163::Reset()
{
reg[1] = 0xFF;
strobe = 1;
security = trigger = reg[0] = 0x00;
SetPROM_32K_Bank(15);
SetCRAM_8K_Bank(0);
}

BYTE Mapper163::ReadLow( WORD addr )
{
if((addr>=0x5000 && addr<0x6000))
{
switch (addr & 0x7700)
{
case 0x5100:
return security;
break;
case 0x5500:
if(trigger)
return security;
else
return 0;
break;
}
return 4;
}
else if( addr>=0x6000 ) {
return CPU_MEM_BANK[addr>>13][addr&0x1FFF];
}
return 0;
}

void Mapper163::WriteLow(WORD addr, BYTE data)
{
if((addr>=0x4020 && addr<0x6000))
{
if(addr==0x5101){
if(strobe && !data){
trigger ^= 1;
}
strobe = data;
}else if(addr==0x5100 && data==6){
SetPROM_32K_Bank(3);
}
else{
switch (addr & 0x7300)
{
case 0x5000:
reg[1]=data;
SetPROM_32K_Bank( (reg[1] & 0xF) | (reg[0] << 4) );
if(!(reg[1]&0x80)&&(nes->ppu->GetScanlineNo()<128))
SetCRAM_8K_Bank(0);
break;
case 0x5200:
reg[0]=data;
SetPROM_32K_Bank( (reg[1] & 0xF) | (reg[0] << 4) );
break;
case 0x5300:
security=data;
break;
}
}
}
else if( addr>=0x6000 ) {
CPU_MEM_BANK[addr>>13][addr&0x1FFF] = data;
}
}

void Mapper163::HSync(int scanline)
{
if( (reg[1]&0x80) && nes->ppu->IsDispON() ) {
if(scanline==127){
SetCRAM_4K_Bank(0, 1);
SetCRAM_4K_Bank(4, 1);
}
if(scanline==239){
SetCRAM_4K_Bank(0, 0);
SetCRAM_4K_Bank(4, 0);
}
}
}

void Mapper163::SaveState( LPBYTE p )
{
p[0] = reg[0];
p[1] = reg[1];
}

void Mapper163::LoadState( LPBYTE p )
{

reg[0] = p[0];
reg[1] = p[1];
}

Code: [Select]
/*************************************************************

 Bootleg Board by Nanjing

 Games: A lot of pirate originals

 iNES: mapper 163

 In MESS: Unsupported.

 *************************************************************/

static void nanjing_irq( device_t *device, int scanline, int vblank, int blanked )
{
nes_state *state = device->machine().driver_data<nes_state>();

if (BIT(state->m_mmc_reg[0], 7))
{
if (scanline == 127)
{
chr4_0(device->machine(), 1, CHRRAM);
chr4_4(device->machine(), 1, CHRRAM);
}

if (scanline == 239)
{
chr4_0(device->machine(), 0, CHRRAM);
chr4_4(device->machine(), 0, CHRRAM);
}
}

}

static WRITE8_HANDLER( nanjing_l_w )
{
nes_state *state = space->machine().driver_data<nes_state>();
LOG_MMC(("nanjing_l_w, offset: %04x, data: %02x\n", offset, data));

offset += 0x100;

if (offset < 0x1000)
return;

if (offset == 0x1100) // 0x5100
{
if (data == 6)
prg32(space->machine(), 3);
return;
}

if (offset == 0x1101) // 0x5101
{
UINT8 temp = state->m_mmc_count;
state->m_mmc_count = data;

if (temp & !data)
state->m_mmc_latch2 ^= 0xff;
}

switch (offset & 0x300)
{
case 0x000:
case 0x200:
state->m_mmc_reg[BIT(offset, 9)] = data;
if (!BIT(state->m_mmc_reg[0], 7) && ppu2c0x_get_current_scanline(state->m_ppu) <= 127)
chr8(space->machine(), 0, CHRRAM);
break;
case 0x300:
state->m_mmc_latch1 = data;
break;
}

prg32(space->machine(), (state->m_mmc_reg[0] & 0x0f) | ((state->m_mmc_reg[1] & 0x0f) << 4));
}

static READ8_HANDLER( nanjing_l_r )
{
nes_state *state = space->machine().driver_data<nes_state>();
UINT8 value = 0;
LOG_MMC(("nanjing_l_r, offset: %04x\n", offset));

offset += 0x100;

if (offset < 0x1000)
return 0;

switch (offset & 0x700)
{
case 0x100:
value = state->m_mmc_latch1;
break;
case 0x500:
value = state->m_mmc_latch2 & state->m_mmc_latch1;
break;
case 0x000:
case 0x200:
case 0x300:
case 0x400:
case 0x600:
case 0x700:
value = 4;
break;
}
return value;
}

Pages: 1 2 3 4 [5] 6 7 8 9 10 ... 73