TylerBarnes 183 Member · Posted December 20, 2019 Share Posted December 20, 2019 (edited) So I'm working on learning more about the NES and at the same time like talking about what I'm working on. In this case it's compression for a single screen. Made this as a sort of 'get my thoughts in order' video to help myself learn. As well as, I hope someone else at the same sort of level of learning as I am could get some help from it. Furthermore, I am also hoping that by talking about what I am doing, I could get corrected by more experienced coders if I'm doing stuff poorly. I plan on making more regarding decoding uncompressed strings and special cases. Edited December 20, 2019 by TylerBarnes 1 Link to comment Share on other sites More sharing options...
TylerBarnes 183 Member · Posted December 22, 2019 Author Share Posted December 22, 2019 (edited) Part 2 - Turning it into a valid NROM format, debugging, and testing the decoder. Edited December 22, 2019 by TylerBarnes Link to comment Share on other sites More sharing options...
TylerBarnes 183 Member · Posted December 22, 2019 Author Share Posted December 22, 2019 Part 3 - Adding in extra decoding directives for reading uncompressed data Link to comment Share on other sites More sharing options...
TylerBarnes 183 Member · Posted December 22, 2019 Author Share Posted December 22, 2019 Part 4 - Refactoring, and adding in another exception to compress repeating patterns instead of leaving them as uncompressed strings. Link to comment Share on other sites More sharing options...
Vectrex28 324 Member · Posted December 27, 2019 Share Posted December 27, 2019 Ooooh RLE is a good first compression scheme. You can then try making it fancy I did one where a 3-bit value selects either one of the 6 most common tiles, another tile, or raw data, and the 5 remaining bits determine the length of the data to copy. Tho I think I added something to make it possible for the game to write 64 bytes at once instead of the maximum of 32 in a 5-bit value 1 Link to comment Share on other sites More sharing options...
Kiro_RCR_ 1 Member · Posted February 6, 2020 Share Posted February 6, 2020 What did you use for the encoder? Did you write your own c++/python encoder or use something else? I'm looking for a tool that can do it before I set about writing my own encoder in c++. Link to comment Share on other sites More sharing options...
TylerBarnes 183 Member · Posted February 6, 2020 Author Share Posted February 6, 2020 21 hours ago, Kiro_RCR_ said: What did you use for the encoder? Did you write your own c++/python encoder or use something else? I'm looking for a tool that can do it before I set about writing my own encoder in c++. I wrote my own encoder in 6502 assembly. It is an NES rom that take a single screen .nam file and stores the encoded hex in RAM. I unfortunately don't know any other programming languages. 1 Link to comment Share on other sites More sharing options...
MachineCode 159 Member · Posted February 16, 2020 Share Posted February 16, 2020 On 2/6/2020 at 6:36 PM, TylerBarnes said: I wrote my own encoder in 6502 assembly. It is an NES rom that take a single screen .nam file and stores the encoded hex in RAM. I unfortunately don't know any other programming languages. Now that's something. Writing your NESDev tools to run on the NES itself. Awesome. 1 Link to comment Share on other sites More sharing options...
Recommended Posts