Moved discussion from 'MSR is finished" to here.
................
Stuff I would want to see:
-Fix array access (as above)
Dunno about that. No really good way to do indexing, especially with the need to manage pages....
But I'll think on it some more.
-"Auto-backpacking" (as above too)
Please explain. Are we talking about packing the code pages better? It should be doable, but I haven't checked out how pceas (yes, that's where it's done) decides which page to use. I -think- it just uses the current one; to pack them, it might have to insert some mapping code, which could be a nightmare..
-Remove the utterly useless gfx plotting routines (already did this here)
-Remove the broken sound code that just wastes space in hucard building
I'll go one farther. Split the library up so if you need something, you can turn it 'on', and if you don't, you can turn it 'off'. So when you don't need the gfx stuff, you don't get it included.
-Optimize scroll()
I'm shooting for integrating the new magickit scroll first. Optimization is a pita. But possibly we can write a tool to do something like that. (ie, optimizations)
-Better mapper functions that support more than 256 unique tiles
-Getting rid of scan_map_table() and making the mapper support height/width greater than 256
I'm not even touching that, except to possibly make it optional. It should be doable, though.
-Add ACD and SGX capabilities to hulib (Tom did this already)
-Modify compiler/assembler to take advantage of the extra 24KB of SGX work RAM
Don't know anything about the sgx. Probably would be better to clone Huc/Magickit for it, though.
-More intelligent verbose code output (backslashes screw it up at present)
-struct support
Yeah. Not likely, the way the code is set up. Would take some fairly serious work for structs....
-C++ style comments (would help with verbose output, I think)
Have that.
-goto keyword (being forced to do this in assembly is lame)
But then you run into problems jumping to different pages. Besides, my CS professors always told me you don't need to use gotos... and so far, I haven't.
-Expansion of the overlay table (50 is fine until you get serious)
-The addition of a 24 bit variable type for addressing (there's one internally but it's not exposed)
-Much more intelligent use of zero page
-ADPCM streaming (Tom coded one, so I have it in my hulib)
The expanded pointer, I could see. Expanding the overlay table would require a complete re-write of the cd init stuff. (Believe it or not, parts of it have to be in specific places. Especially the overlay stuff, which has a minor bug in it.)
I probably have more but this is about all I can think of for now. I've tried to fix things myself but it's just a nightmare... the code is a mess and things aren't done optimally.
LOL. It started out as a student project, so I don't expect much from it. I would like to do some re-naming of the functions, just so I can figure out wtf is going on.