Register | Login | |||||
Main
| Memberlist
| Active users
| ACS
| Commons
| Calendar
| Online users Ranks | FAQ | Color Chart | Photo album | IRC Chat |
| |
1 user currently in Rom Hacking: |
Acmlm's Board - I2 Archive - Rom Hacking - f-zero track hack | | | |
Pages: 1 2 3 4 5 6 | Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
User | Post | ||
firemaker Level: 26 Posts: 33/247 EXP: 94178 For next: 8097 Since: 03-23-04 From: UK berkshire Since last post: 17 days Last activity: 11 days |
| ||
Originally posted by Heian-794 that was nestie who discovered white landf anyway im gonna have a fiddle around with red canyon |
|||
Heian-794 Red Super Koopa Level: 44 Posts: 25/896 EXP: 611014 For next: 271 Since: 06-01-04 From: Kyoto, Japan Since last post: 21 days Last activity: 10 days |
| ||
Greeeg, schoolwork is bogging me down, but I will get a website up one of these days! Fortunately there are boards like this one where people can share info! Tyler (creator of that nifty track layout PNG creator), if you're out there, how did you get the pictures of the panels? Do you know how to decipherr the raw code that puts the little tiles together to create the 32x32 panels? That's the holy grail as far as F-Zero track hacking is concerned! I also posted this at DES: latest update! ------ I wanted to post an example of a track layout so everyone can see how simple it is. The only thing you need to do is make your hex editor 32 bytes wide! Look at this: 29880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 02 05 06 05 05 05 05 05 05 05 05 07 05 05 05 05 05 05 08 05 09 05 08 0a 0b 00 00 00 00 00 00 03 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0c 0d 00 00 00 00 00 00 0e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 11 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1b 1c 00 00 00 00 00 00 13 14 15 15 15 16 17 18 18 18 18 19 18 18 18 18 18 18 18 19 18 18 1a 18 1d 1e 00 00 00 00 00 00 00 00 00 00 00 00 1f 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 27 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 21 22 23 23 24 25 00 00 00 00 00 26 23 23 23 24 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 27 00 00 2a 2b 24 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 29 23 23 2c 2d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 See the track in there? It's Death Wind, and since the background is the same for the whole course (00=grassland), this one's easy to decipher! Other bytes that can be figured out readily are 06 (boost panel on track going to the right), 07 (starting line), 08 and 09 (rough on one side), 19 (boost panel goung left), and 15 (pit area). The other bits in the 20s are the ones used in Death Wind II. Wondering if the gibberish between track layouts is used to define the tiles, I thought that the number of different panels used in a given course might be proportional to the length of the code for that course, but this doesn't seem to be the case: Corrected Data -- in fact, the tile data comes after the panel layout
"HiBlock" is the largest byte seen in the track layout; presumably the number of panels created for that course. The length is the number of bytes (in hex) in the code preceding the track. All tracks are $200 bytes long. It has occurred to me that this problem with the walls is due to having more than one course per layout, and that maybe F-Zero 2 would be a better hgame to hack. I want to hack that game's cars in anyway! More to come, and excuse the Acmlm/DBS cross-posting! (edited by Heian-794 on 06-04-04 07:21 AM) (edited by Heian-794 on 06-04-04 11:45 AM) (edited by Heian-794 on 06-04-04 11:45 AM) (edited by Heian-794 on 06-05-04 07:02 AM) |
|||
firemaker Level: 26 Posts: 35/247 EXP: 94178 For next: 8097 Since: 03-23-04 From: UK berkshire Since last post: 17 days Last activity: 11 days |
| ||
damn that is really good because im lookinbg at mine in colums of 16 also how come you could copy and paste the data this is what happens when i try to !$%()(,0145"#&'*+*-././236789>?BCFHI:;<=@ABDEGJKLOPSBBUVWX^MNQRTBBYZ[\]^_`fBij that is white land. its really pissing me off so how do you do it (edited by firemaker on 06-05-04 04:32 AM) |
|||
Heian-794 Red Super Koopa Level: 44 Posts: 35/896 EXP: 611014 For next: 271 Since: 06-01-04 From: Kyoto, Japan Since last post: 21 days Last activity: 10 days |
| ||
Firemaker, I use Translhextion and had to select "export as hexdump", then manually delete the line numbers and the text interpretation of the hex. Why Translhextion forces you to copy all that garbage instead of plain old hex, I'll never understand. Also don't forget the HTML code "tt" (teletype) to make all the characters the same width. This'll make things really easy to read. Anyway, it's time for an update! A mediocre one, as you'll soon see... So we've established that the track layouts are grids of $20 x $10 panels, with the data that forms the panels stored below the track. But since each panel is $20x$20 tiles, how can they cram them all in there? There aren't enough bytes between each track. Let's look at Big Blue, since it has the advantage of having only one "background" panel, namely the blue ocean stored at 00. The track data is as follows: 1a160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 02 02 02 02 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 05 08 08 08 08 08 08 09 08 0a 0b 0b 0b 0b 0c 0d 0e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0f 10 11 12 00 00 00 00 00 00 00 00 00 00 00 00 13 07 00 00 00 00 00 00 00 00 00 00 17 18 1b 1c 1f 20 22 23 24 25 27 28 00 00 00 00 00 00 00 00 14 15 16 00 00 00 00 00 00 00 00 00 19 1a 1d 1e 21 00 00 00 00 26 29 2a 00 00 00 00 00 00 00 00 00 2b 2c 2d 00 00 00 00 00 00 31 32 35 36 00 37 38 39 00 00 00 00 3c 3d 00 00 00 00 00 00 00 00 00 00 2e 2f 30 00 00 00 00 00 33 34 00 00 00 00 3a 3b 00 00 00 00 3e 3f 00 00 00 00 00 00 00 00 00 00 00 40 41 42 43 00 00 00 46 47 00 00 00 00 3a 3b 00 00 00 4d 50 51 00 00 00 00 00 00 00 00 00 00 00 00 00 00 44 00 00 45 48 49 00 00 00 00 4a 4b 4c 4c 4e 4f 52 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 44 00 00 54 57 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 53 00 55 56 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 58 5a 5b 5e 5f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 59 5c 5d 60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 61 62 63 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Let's imagine that the next 32-byte line in the code is used to create panel 00. We see that it consists of "BE 71 BE 71..." until the end of the line. Note also that the lines below this also frequently contain BE 71. Maybe this corresponds to plain blue ocean? Try filling this line with something else -- my first stab was C4, which is a jumble of some barrier parts and a single tile of plain track. Replacing *only* the first two bytes with C4 results in a single line of left barrier part / empty track and then another line of two different barrier parts. You can see this in a vSNES screenshot here: http://www.geocities.com/tuffydabubba/bigbluepanelC4andBE71.png So this implies not only that each byte in the code corresponds to a horizontal line of 32 tiles, but also that the same byte doesn't necessarily produce the same tiles every time! Does anyone have any ideas on how to work this out? (edited by Heian-794 on 06-05-04 01:34 PM) |
|||
Nestea Goomba Level: 8 Posts: 11/20 EXP: 2185 For next: 2 Since: 03-15-04 Since last post: 85 days Last activity: 53 days |
| ||
Wow... I can't believe how much F-Zero is being hacked these days. I must say that I'm impressed with the status. First, I did edit the palette using a palette editor. It's called SNESPal. It's got 255->32 conversion, easy searching, and easy editing. Oh, and I've found an old document of mine that I forgot to put up! 16200+ - Start Positions 17000-17D00 - A.I.? I haven't tested them recently, so I don't know if the above is correct. The bottom, however, is correct: 16329 - Knight 1 (Mute City I) 1632A - Knight 2 (Big Blue) 1632B - Knight 3 (Sand Ocean) 1632C - Knight 4 (Death Wind I) 1632D - Knight 5 (Silence) 1632E - Queen 1 (Mute City II) 1632F - Queen 2 (Port Town I) 16330 - Queen 3 (Red Canyon I) 16331 - Queen 4 (White Land I) 16332 - Queen 5 (White Land II) 16333 - King 1 (Mute City III) 16334 - King 2 (Death Wind II) 16335 - King 3 (Port Town II) 16336 - King 4 (Red Canyon II) 16337 - King 5 (Fire Field) 16338 - Practice 1 (Mute City I) 16339 - Practice 2 (Big Blue) 1633A - Practice 3 (Sand Ocean) 1633B - Practice 4 (Death Wind I) 1633C - Practice 5 (Silence) 1633D - Practice 6 (White Land I) 1633E - Practice 7 (Port Town II) (Title) 1633F - Practice 8 (White Land II) 16340 - Practice 9 (Fire Field) C3 - Port Town I C4 - Death Wind I C5 - Red Canyon I C6 - Fire Field C7 - Mute City I C8 - White Land I D7 - Mute City II E0 - Big Blue E1 - Silence E2 - Sand Ocean E3 - Port Town II E4 - Death Wind I E5 - Red Canyon II E6 - Fire Field E7 - Mute City III E8 - White Land II |
|||
VL-Tone Red Cheep-cheep Level: 23 Posts: 2/200 EXP: 64158 For next: 3565 Since: 06-06-04 From: In the Moon! Since last post: 5 days Last activity: 2 hours |
| ||
Wow the holy grail! Let me have it I don't know if it has been mentionned elsewhere (well actually when I finished writing this post I found Heian-794 was on the right track) . Anyway since this thread was running with only basic discoveries (things I figured out long time ago), I'll share what I've found with you (after all it's the old acmlm board that got me interested in ROM hacking, in the SMB2 Discombulator days). Here is what I discovered: The format is actually very close to the Zelda 1 overworld data. Like mentioned before there is a 200 bytes meta map of 32x16 track parts or panels (let's use this term for clarity) making up the whole track. The panels are themselves made of 32x32 8x8 tiles. Now HERE IS HOW THE 32x32 TRACK PANELS ARE STORED IN F-ZERO: Columns... or actually rows Each row is 32x2 tiles and 16 of them are needed to fill the 32x32 panel. The row is referenced by a 16-bits pointer so each panel definition data is taking up 32 bytes. As an example: 9E 70 30 75 F2 91 F2 91 F2 91 F2 91 F2 91 F2 91 F2 91 F2 91 F2 91 F2 91 3E 7C 06 78 FC 9F 92 77 is the starting line panel in Mute City (at 7F5140 in RAM and 15E93 in a ZST). This data is somewhere in the ROM and is compressed... BUT... it is decompressed in RAM starting at 7F5000 and in a ZST savestate from 15C13 to 16B93. Finding the row pointers for a specific panel simply involve adding 32 bytes X the panel number to the base address. Just before that are 2 versions of the 200 bytes 32x16 track map. As you may know, if you try to edit these maps in the ROM, they end up being patched at a few places by the game depending on if you are on Mute City I or II for example. From what I saw it seems the two RAM versions are already patched versions of the I and II track. So the first row of the starting line for Mute City is at 7F5140 in RAM and at 15E93 in a ZST savestate. Note that this base address is the same for all tracks and the data content will change when you switch tracks in games and for the ZST state it depends on when you saved it. The 16-bits row pointers works this way: Let's take the first row from the starting line panel in Mute City. It's value is 709E (9E70 in the data), the 709 will point to one of the row, and the E will actualy shift the data in 2 (8x8 pixel) tiles increment so you can position barriers ect... at 16 different positions for each row. My explanation is probably confusing, but its really simple: If you skip 16 bytes increments you will skip full rows, if you skip less than 16 (let's say 8) you will end up in between 2 rows, which can be very usefull and is used all over the game and the row data is designed accordingly. A level editor would probably include a way to "scroll thru" the row data in one or 16 bytes steps while you edit. Some usefull features could include shifting all the rows from a panel at the same time (by dragging the mouse over them) so you can align the whole road with other surrounding panels. Now for the unconfirmed stuff: The data defining each row , is probably using single bytes macro tiles like zelda did to describe each 4x4 tiles forming the 16x16 pixels tiles referenced by the column definition data. This part is still experimentation for me, but I'm almost sure that the row definition data in F-Zero is starting at hex 38620 in the ROM, and that it's 16 bytes for each visible 32x2 tiles row, and uncompressed. Back to mostly confimed stuff: The list below is an overview of the range of row types used in Mute City. As I discovered, if you try values outside of this range in Mute City (for example 500x) you'll mostly end up with garbage rows, they are rows for other tracks with the wrong graphic set. Each track can only access a set of rows but some rows are shared by multiple graphic sets it seems, I didn't map those out yet, but it clearly looks like the whole row data ranges from 0000 to FFFF (64k), which means a whopping 4096 different 16 bytes rows are available in F-Zero, and actually with the 16 bytes shifting it's about 65 000 different combinations! -----Row pointer range for Mute City---- 404x 407x 40Bx 414x 417x 41Ax 41Bx 424x 429x 42Ax 434x 43Ax 444x 447x 449x 44Ax 44Bx 454x 706x 707x 708x 709x 70Ax 70Bx 70Cx 717x 718x 71Ax 727x 729x 72Ax 72Bx 737x 739x 747x 748x 757x 759x 767x 768x 769x 76Ax 777x 778x 779x 77Bx 787x 789x 78Cx 797x 798x 799x 79Bx 7A7x 7A9x 7AAx 7ABx 7ACx 7B7x 7B8x 7B9x 7BAx 7C7x 7C8x 7C9x 7CAx 7CBx 7D7x 7D8x 7D9x 7DAx 7DBx 7E4x 7E8x 7E9x 7EAx 7EBx 7F7x 7F8x 7F9x 807x 808x 809x 80Ax 80Bx 817x 818x 819x 81Cx 824x 827x 828x 829x 82Bx 837x 838x 839x 83Ax 844x 847x 848x 849x 84Ax 857x 858x 859x 85Ax 85Cx 867x 868x 86Bx 874x 877x 878x 879x 87Bx 888x 889x 88Ax 897x 898x 899x 8A7x 8A8x 8A9x 8B7x 8B8x 8B9x 8C8x 8CBx 8D7x 8D8x 8D9x 8DBx 8E7x 8E8x 8E9x 8EBx 8F7x 8F8x 8F9x 908x 909x 90Ax 917x 918x 919x 91Ax 91Bx 927x 928x 929x 92Bx 937x 938x 939x 93Ax 947x 948x 949x 958x 959x 95Ax 964x 967x 968x 969x 96Ax 96Bx 977x 978x 979x 97Ax 97Bx 988x 989x 98Ax 998x 999x 99Ax 9A7x 9A8x 9A9x 9AAx 9B7x 9B8x 9B9x 9C7x 9C8x 9C9x 9CAx 9D8x 9D9x 9DAx 9E4x 9E8x 9E9x 9EAx 9EBx 9ECx 9F7x 9F9x 9FAx A07x A08x A09x A0Ax A0Bx A19x A1Ax A1Bx A24x A27x A2Ax A37x A39x A3Ax A47x A49x A4Ax A54x A57x A58x A59x A5Ax A5Bx A5Cx A6Ax A6Bx A74x A77x A79x A7Ax A84x A87x A8Ax A97x A98x A99x A9Ax A9Bx AA7x AA8x AA9x AAAx AABx AB7x AB8x AB9x ABAx ABBx AC9x ACAx ADAx ADBx ADCx AE9x AEAx AEBx AECx AF4x AF7x AFAx AFBx AFCx B07x B0Ax B0Bx B19x B1Bx B1Cx B28x B2Ax B2Bx B2Cx B34x B37x B38x B39x B3Ax B3Bx B48x B4Ax B4Bx B57x B58x B5Ax B5Bx B68x B6Ax B6Bx B7Ax B7Bx B7Cx B8Bx B99x B9Bx B9Cx BAAx BABx BACx BB8x BBAx BBBx BBCx BC7x BCAx BCBx BCCx BDAx BDBx BDCx BE7x BEBx BF8x BFBx C08x C09x C0Ax C0Bx C0Cx C17x C18x C19x C1Bx C1Cx C27x C2Ax C2Bx C2Cx One last thing try these cheats: 7E0BB0:1A 7E0D51:80 7E0BB1:00 7E0BC0:6F they enable your car to go everywhere on the track map including outside the road without being harmed, loads of fun! That's pretty much what I have for now...I hope I didn't make any big mistakes. I'll let you speculate about what we could do with this... Metroid Cubed, Zelda Cubed, 100 Marios and other NES related Shockwave silliness are at: http://pages.infinit.net/voxel/home.htm (edited by VL-Tone on 06-06-04 08:59 PM) |
|||
Nestea Goomba Level: 8 Posts: 12/20 EXP: 2185 For next: 2 Since: 03-15-04 Since last post: 85 days Last activity: 53 days |
| ||
Okay, I've found stuff for F-Zero II. 1602C - Ace 1 (Mute City IV) 1602D - Ace 2 (Big Blue II) 1602E - Ace 3 (Sand Storm I) 1602F - Ace 4 (Silence II) 16030 - Ace 5 (Sand Storm II) 16031 - 1603A - Queen & King Data (Unused) 1603B - Practice 1 (Mute City IV) 1603C - Practice 2 (Big Blue II) 1603D - Practice 3 (Sand Storm I) 1603E - Practice 4 (Silence II) 1603F - Practice 5 (Sand Storm II) 16040-16041 - Practice 6 & 7 Data (Unused) C3 - Sand Storm II (with Port Town I music and map) C4 - Death Wind I (with Mute City IV track) C5 - Red Canyon I (with Mute City IV track) C6 - Sand Storm I C7 - Mute City IV C8 - White Land I (with Mute City IV track) D7 - Mute City II (with Mute City IV track) E0 - Big Blue II E1 - Silence II E2 - Sand Storm II (with Sand Ocean music and a blank map) E3 - Sand Storm II E4 - Death Wind II (with Mute City IV track) E5 - Red Canyon II (with Mute City IV track) E6 - Sand Storm I E7 - Mute City IV (with Mute City map) E8 - White Land II (with Mute City IV track) Replacing Ace I with C4, C5, C8, D7, E4, E5, and E8 is amazing. Try it. Now. (edited by Nestea on 06-05-04 04:33 PM) |
|||
VL-Tone Red Cheep-cheep Level: 23 Posts: 4/200 EXP: 64158 For next: 3565 Since: 06-06-04 From: In the Moon! Since last post: 5 days Last activity: 2 hours |
| ||
Damn I'm stupid at times... I'm sure I verified that the data i found in RAM describing each panels with 16 rows, was not also in the ROM...uncompressed It seems that it's actually uncompressed just after the 32x16 maps!! Exactly where Heian-794 was fiddling around! (I found the horizontal line format before I read the post though) So just take my other post, and apply it to $36CD0 in the ROM instead of the RAM and ZST offsets. This is too cool! I thought that we would have to crack down the compression format and all... or make a ZST track editor... But no, a good old ROM track editor will do! Now forget the $38620 address for row tile definitions... it's actually part of the panel data.... I guess the row tile definition is compressed in RLE somewhere in the ROM because its at least 64k uncompressed with many tiles repeating. Metroid Cubed, Zelda Cubed, 100 Marios and other NES related Shockwave silliness are at: http://pages.infinit.net/voxel/home.htm VL-Tone ---Everything counts in large amounts--- (Edit: found out that the $38620 address meant nothing ) (edited by VL-Tone on 06-05-04 05:06 PM) (edited by VL-Tone on 06-05-04 05:15 PM) (edited by VL-Tone on 06-06-04 08:59 PM) |
|||
Keitaro Iron Knuckle ウラシマ ケイタロウ Level: 54 Posts: 377/1342 EXP: 1201569 For next: 32301 Since: 03-15-04 From: Hinata, Japan Since last post: 2 days Last activity: 2 days |
| ||
haha....finished a few more F-Zero X songs and starting now on Port Town I'll post some more up later....anyone else check out the SPC? I have an updated version, also will go up after Once I figure somthing out, I can make room for the strings sample I wanna add and do the Staff Roll. It's such a neat diverse song :O | |||
Heian-794 Red Super Koopa Level: 44 Posts: 38/896 EXP: 611014 For next: 271 Since: 06-01-04 From: Kyoto, Japan Since last post: 21 days Last activity: 10 days |
| ||
VL-Tone and Nestea, that is some fantastic analysis; I'm going through it right now and testing various F-Zero II courses with different track graphics. I'll continue fiddling with it and will post any discoveries. One thing I wanted to share was some info about the 8x8 pixel tiles. They're stored in Genesis format in the ROM, with a two-dot separator between each of the 256 possible tiles (meaning that you can't see all of them at once in TLP). I posted this on DES already, but will re-post it here. All numbers are in decimal, since that's how vSNES gives them. Regular straight side barriers (formed by circles): 0 top left part of side barrier, driveable track on outside 1 top right part, driveable track on outside 2 bot. left part, driveable track on outside 3 bot. right part, driveable track on outside 8 top middle of barrier 9 bottom middle of barrier 52 top left part, black wall on outside 53 top right part, black wall on outside 54 bot. left part, black wall on outside 55 bot. right part, black wall on outside Angled side barriers (lots more to get here): 108, 60, 30 straight-to-upper-right angled sequence top part; black outside 9, 135 bottom part of that 45-degree diagonal conbinations: 000 001 ... ... ... 054 051 147 ... ... ... 125 104 150 ... <- track on SE side; wall on NE side ... 127 128 048 001 ... ... ... 054 051 052 053 ... ... ... 002 103 123 124 ... ... 149 104 126 ... <- track on NE side; wall on SE side ... ... 152 100 ... 014 015 140 141 068 069 070 071 <- NW-SE curve 30-degrees; track above 114 115 118 119 066 067 116 117 016 017 018 019 <- Same, but with track below 138 139 142 143 Other track elements (these are from Mute City): 105 pure black space; seen outside the barriers 154 ordinary gray track 167 rough 169 bottom left rough 170 bottom right rough 171 top left rough 172 right rough 154 174 154 172 206 173 <- remnants of a mine; 154 is regular track 154 175 154 185 pit area 194 lighter track 200 201 202 203 <-landmine City/landscape outside the track (love this stuff!): 216-219 four corners of a circular rotating thingy 222 regular road far below the F-Zero course, horizontal 223 same road, vertical 232-233 other smaller roads (horiz, vert) 234-235 again w/other border 236-237 glowing line (MC; palette is metal gray in Port Town) 241 badge-like thing 242 glowing dot; green in MC2, magenta in MC3 244-247, 251-2 miscellaneous junk These later ones are different in Port Town: 235 black space 238-246 purple elements 247-252 green forest elements This means that the combination (converting to hex now) with $34 (52) and $35 (53) on top and 02 and 03 on the bottom forms a barrier with track on the bottom and black wall on the top. You'd have 16 such groups forming a full panel-wide barrier, then maybe many rows of all $9A (154) or $E2 (194) (two different forms of plain track), then a row full of $00 - $01 - $36 (54) - $37 (55) squares to form the lower barrier. I'd love to be able to relate the raw data to these numbers. FZII has some really nice tracks, plus some elements (jump panels as walls in Silence that I'd love to incorporate into a new game. One problem with making a new game out of FZII is that the ROM is glitchy; sometimes it doesn't run, and S9X and ZSNES each have their own emulation errors (specifically, SNES9X doesn't load the horizon backgrounds correctly -- Silence in particular looks awful -- and ZSNES thinks that the default time is 6'56"56 instead of 9'59"99). While I really like the five courses that that game offers, the four cooler and more balanced cars, and all the empty space in the ROM, it would take some heavy-duty hacking talent to put new tracks in that empty space and point to them correctly. So an FZII hack might be limited to five tracks. I have several ideas for new tracks and will try to produce a preliminary patch using them as soon as I can make what I want to make out of the panel data. Have any of your figured out why the number of 32-byte strings of data doesn't match with the number of panels used in each course? Edit -- could some of you put line breaks into your posts, or remove some of the really long lines, so that we don't have to scroll to the right so far just to read each line? (edited by Heian-794 on 06-06-04 05:10 AM) |
|||
Nestea Goomba Level: 8 Posts: 13/20 EXP: 2185 For next: 2 Since: 03-15-04 Since last post: 85 days Last activity: 53 days |
| ||
The badge-like thing is a booster and the glowing dot explodes... I thought you knew that! The FZII ROM is also rather glitchy on me, except that it's not that much glitchy. The only problems I've encountered with my FZII ROM (BS F-Zero 2 (J)) is that there is no title screen and the default time is 6'56"56... although they MIGHT have put in that on purpose. |
|||
Heian-794 Red Super Koopa Level: 44 Posts: 47/896 EXP: 611014 For next: 271 Since: 06-01-04 From: Kyoto, Japan Since last post: 21 days Last activity: 10 days |
| ||
Nestea, mine has a title screen, and the 6'56"56 time only occurs with ZSNES (for me). I was under the impression that the game we call "F-Zero 2 (J)" was actually hacked together using the original BS F-Zero games (there were three; King, Ace, and something?) Or was that ROM a regular game? Do the horizon backgrounds load correctly for you in SNES9X? If the badge thing is a booster, can I jump off the track in Mute City, land on it, and get another booster? ; |
|||
greeeg Micro-Goomba Level: 7 Posts: 7/15 EXP: 1320 For next: 128 Since: 06-03-04 From: France Since last post: 503 days Last activity: 339 days |
| ||
in the goodsnes set, there are: BS F-ZERO (J) 524 ko BS F-ZERO Ace League (J) 1048 ko BS F-ZERO Grand Prix 2 (J) 1048 ko BS F-ZERO King League (J) 1048 ko BS F-ZERO Knight League (J) 1048 ko BS F-ZERO Knight League (J) [a1] 1048 ko BS F-ZERO Queen League (J) 1048 ko and that's it... |
|||
VL-Tone Red Cheep-cheep Level: 23 Posts: 6/200 EXP: 64158 For next: 3565 Since: 06-06-04 From: In the Moon! Since last post: 5 days Last activity: 2 hours |
| ||
Sorry about the long lines, I didn't know it was a problem for some of you, I have no problems seeing all the lines even at 800x600. Heian-794 very cool data you have there. I'm not sure what you are talking about when you say the graphic data for the tiles are in genesis format in rom with a two-dot separrator. For some reason I don't have access to all of the Windows tools like tile layer pro, I can use DOS utilities though, I hope you can still see me as helpfull I used BGMapper to view and copy the tile graphic data, and with one of it's mode, they all show sequencially with no trace of a two-dot sepparator (do you mean 2 bytes?), and in the same order you describe. BGMapper opens ZST states so maybe the sepparator is not kept when copied to RAM. Bgmapper also have the very usefull ability to show and save the whole Mode-7 graphic plane (that include like 9 panels, some partial), and that's how Tyler extracted the panels graphics. If he didn't automate the process, it probably was very time consumming. Now using the same method, but creating new panels for the starting line for example. Those panels would be made of the numerical sequence of rows usable in that track. For example at first we would generate a panel with: 0040 1040 2040 3040 4040 5040 6040 7040 8040 9040 A040 B040 C040 D040 E040 F040 That would cover all the possible rows between $4000 and $40F0, 16 different rows. If we generate panels for all possible rows in Mute City, by modifiying a ZST, that would make around 90 different panels to do. If we modifiy all the panels visible in a "scene" from bgmapper we could get around 4 (probably more) panels showing a total of 64 different rows for each mode-7 plane. By saving the graphics for all these planes we would end up having the graphics for all the possible rows for a track, and we could make an editor just from that without having to crack the row definition format. That's actually how I did my own never finished Zelda 1 overworld editor years ago. But yes it would be ideal if we had the row def format, but I'm not sure editing the rows would be so simple as they are used all over the game and it would be hard to track down what is being affected by a change on a single row. Anyway the 4096 possible rows with the shifting can generate tens of thousands of possibilities, that should be enough i guess... I thought the $20x$2 rows were made of 2x2 (not 4x4...) TSA macro tiles, well guess what, I think I found where this data is (or maybe it's full row data but it doesn't look like it). I found it by searching for a $9A $9A $9A $9A sequence. This 2x2 tile definition starts at $64580. The 4 tiles have to be drawn in this order: top-left, down-left, top-right, down-right. The format seems to be more complicated than that since some macro tiles have a broken parts. and the data seems to be offseted at different places as you progress thru the data. Because tiles can be from $00 to $FF they couldn't fit extra data, so maybe some table elsewhere govern the way this data is read, enabling mirroring of 2 tiles to form a 4 tile macro tile and things like repetition and rotation of tiles. Anyway I'll let you look at it and try to figure it out. I used a custom tool to build these examples, the first one is from $64580 to $645AF. These are drawn four 8x8 pixel tiles at a time using the order I mentioned, 16 of them sequencially from left to right. Though some data seems to be arranged in row like fashion, I don't think its all the raw data for all the rows since it would take much more space than that. I looked all over the ROM and didn't find any other data that produced structured 2x2 tiles. There are much more good results than these examples though starting at $64580. As for F-Zero 2, aside from the problems you have mentionned, one of the problem is the rarity of this rom. Another problem is that most people wanting a F-Zero editor want it for nostalgic reasons. Since not too many people ever had a BS system, it would limit the appeal and people would end up requesting one for F-Zero 1 anyway. So F-Zero 1 should be our priority, and F-Zero 2 as an extra. Anyway do whatever you feel, if F-Zero 2 makes you work harder to crack it, go ahead Metroid Cubed, Zelda Cubed, 100 Marios and other NES related Shockwave silliness are at: http://pages.infinit.net/voxel/home.htm VL-Tone ---Everything counts in large amounts--- (edited by VL-Tone on 06-06-04 05:22 PM) (edited by VL-Tone on 06-06-04 09:00 PM) (edited by VL-Tone on 06-07-04 11:00 AM) |
|||
greeeg Micro-Goomba Level: 7 Posts: 8/15 EXP: 1320 For next: 128 Since: 06-03-04 From: France Since last post: 503 days Last activity: 339 days |
| ||
[quote=VL-Tone]As for F-Zero 2, aside from the problems you have mentionned, one of the problem is the rarity of this rom. Another problem is that most people wanting a F-Zero editor want it for nostalgic reasons. Since not too many people ever had a BS system, it would limit the appeal and people would end up requesting one for F-Zero 1 anyway. So F-Zero 1 should be our priority, and F-Zero 2 as an extra. [/quote] I totally agree... Moreover, BS Fzero cannot be launched on real hardware via snes copiers (wildcards...). |
|||
VL-Tone Red Cheep-cheep Level: 23 Posts: 8/200 EXP: 64158 For next: 3565 Since: 06-06-04 From: In the Moon! Since last post: 5 days Last activity: 2 hours |
| ||
I'll just add that people currently experimenting with F-Zero 2 like Heian-794 shouldn't stop, continue your great work Most of the things found in FZ-2 will also apply to FZ-1. And comparing could help us understand both games. (edited by VL-Tone on 06-07-04 10:59 AM) |
|||
d4s Panser Level: 29 Posts: 34/325 EXP: 142151 For next: 5734 Since: 03-23-04 Since last post: 13 days Last activity: 1 day |
| ||
fzero 2 does work on copiers. the problem is that there are multiple fzero 2 roms out there and there is always some confusion which rom works and wich one doesnt. the roms that only display the picture with the robot and the instructions are waiting for input from the satellaview system but this waitloop can be bypassed easily with the zsnes debugger(sorry, forgot the actual offset but i can track it down again if somebodys interested) wich makes the rom display some nifty 8bpp fullscreen images and a selfrunning demo, however, i wasnt able to enter gameplay-mode. plus, the fzero2 roms are practically the same as fzero1, with an added intro picture and slightly changed tracks. most offsets are even the same in both roms (car sprites, mode7 tiles etc). VL-Tone: your info is really great, saved me lots of time searching around. =) have you also searched for the pointertables to all the data sets? from what i saw, it used 2byte pointers. ok, the data isnt compressed, so there isnt any real need to move the data around or expand the rom, but you can atleast be sure you didnt miss any data if you have them. regarding the mode7 tiles: they are CERTANLY not in genesis format, the point here is that the snes mode7 format is (opposed to the usual tile-based graphics) a raw-bitmap format, relatively similar to the format the genesis uses. the 2byte you mentioned are most likely palette-information, thats used to expand the graphics to 8bpp in vram. (edited by d4s on 06-07-04 03:48 AM) |
|||
greeeg Micro-Goomba Level: 7 Posts: 9/15 EXP: 1320 For next: 128 Since: 06-03-04 From: France Since last post: 503 days Last activity: 339 days |
| ||
I'm quoting Nestea: "1633F - Practice 8 (White Land II) 16340 - Practice 9 (Fire Field)" These two levels can be played in practice !? I remember ten years ago in a magazine, there was an action replay code to play them... Anyone knows more about it ? |
|||
Nestea Goomba Level: 8 Posts: 14/20 EXP: 2185 For next: 2 Since: 03-15-04 Since last post: 85 days Last activity: 53 days |
| ||
They can be played in practice mode. Here are some codes: 7E005307 - Practice Level Selection Always White Land II 7E005308 - Practice Level Selection Always Fire Field EDIT: MAJOR BREAKTHROUGH! 16206 - Big Blue Starting Position X 16207 - Big Blue Starting Position Y 16211 - Sand Ocean Starting Position X 16212 - Sand Ocean Starting Position Y 1621A - Silence Starting Position X 1621B - Silence Starting Position Y In this information, the XY is for the actual code. If you're thinking about the ingame map, then it should be YX. Also, this effects the A.I. routes. (edited by Nestea on 06-07-04 04:55 AM) (edited by Nestea on 06-08-04 02:12 AM) |
|||
firemaker Level: 26 Posts: 41/247 EXP: 94178 For next: 8097 Since: 03-23-04 From: UK berkshire Since last post: 17 days Last activity: 11 days |
| ||
in what wayb does it affect the A.I??? Or is the actual A.I data stored somewhere else because even if we create a f-zero editor the A.I will b just like in mario kart which doesnt look so good. |
Pages: 1 2 3 4 5 6 | Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
Acmlm's Board - I2 Archive - Rom Hacking - f-zero track hack | | | |