1
0
mirror of https://github.com/fadden/6502bench.git synced 2025-09-18 19:24:59 +00:00

Expand 20152-local-variables test

Added a compiled C implementation of strlen().  The most interesting
part about this is that it references a 16-bit value via direct-page
address $ff, which means you'd want a local variable with
address=$ff and width=2.  The current UI prevents this.
This commit is contained in:
Andy McFadden
2021-07-20 11:28:26 -07:00
parent e42bb2d262
commit bc7a225080
10 changed files with 422 additions and 5 deletions

View File

@@ -1181,6 +1181,17 @@ namespace SourceGen {
/// <returns>File data.</returns>
private byte[] FindValidDataFile(ref string dataPathName, DisasmProject proj,
out bool cancel) {
// TODO(someday):
// It would be nice to "fix" the length and CRC if they don't match while we're
// making manual edits to test files. We can pass "can fix" to the ChooseDataFile
// dialog, and have it return a "want fix" if they click on the "fix" button, and
// only enable this if the DEBUG menu is enabled. It's a little ugly but mostly
// works. One issue that must be handled is that "proj" has sized a bunch of data
// structures based on the expected file length, and will blow up if the actual
// length is different. So we really need to check both len/crc here, and if
// all broken things are fixable, return the "do fix" back to the caller so
// it can re-generate the DisasmProject object with the corrected length.
FileInfo fi = new FileInfo(dataPathName);
if (!fi.Exists) {
Debug.WriteLine("File '" + dataPathName + "' doesn't exist");