splat64 0.34.0__tar.gz → 0.34.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. {splat64-0.34.0 → splat64-0.34.2}/CHANGELOG.md +15 -3
  2. {splat64-0.34.0 → splat64-0.34.2}/PKG-INFO +2 -2
  3. {splat64-0.34.0 → splat64-0.34.2}/README.md +1 -1
  4. {splat64-0.34.0 → splat64-0.34.2}/pyproject.toml +1 -1
  5. {splat64-0.34.0 → splat64-0.34.2}/src/splat/__init__.py +1 -1
  6. {splat64-0.34.0 → splat64-0.34.2}/src/splat/scripts/split.py +5 -2
  7. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/segment.py +20 -0
  8. {splat64-0.34.0 → splat64-0.34.2}/src/splat/util/log.py +12 -1
  9. {splat64-0.34.0 → splat64-0.34.2}/test.py +9 -10
  10. {splat64-0.34.0 → splat64-0.34.2}/.gitattributes +0 -0
  11. {splat64-0.34.0 → splat64-0.34.2}/.github/workflows/black.yml +0 -0
  12. {splat64-0.34.0 → splat64-0.34.2}/.github/workflows/mypy.yml +0 -0
  13. {splat64-0.34.0 → splat64-0.34.2}/.github/workflows/publish_docs_to_wiki.yml +0 -0
  14. {splat64-0.34.0 → splat64-0.34.2}/.github/workflows/pypi.yml +0 -0
  15. {splat64-0.34.0 → splat64-0.34.2}/.github/workflows/test_lib.yml +0 -0
  16. {splat64-0.34.0 → splat64-0.34.2}/.github/workflows/unit_tests.yml +0 -0
  17. {splat64-0.34.0 → splat64-0.34.2}/.gitignore +0 -0
  18. {splat64-0.34.0 → splat64-0.34.2}/LICENSE +0 -0
  19. {splat64-0.34.0 → splat64-0.34.2}/create_config.py +0 -0
  20. {splat64-0.34.0 → splat64-0.34.2}/docs/Adding-Symbols.md +0 -0
  21. {splat64-0.34.0 → splat64-0.34.2}/docs/Advanced.md +0 -0
  22. {splat64-0.34.0 → splat64-0.34.2}/docs/Configuration.md +0 -0
  23. {splat64-0.34.0 → splat64-0.34.2}/docs/Examples.md +0 -0
  24. {splat64-0.34.0 → splat64-0.34.2}/docs/General-Workflow.md +0 -0
  25. {splat64-0.34.0 → splat64-0.34.2}/docs/Home.md +0 -0
  26. {splat64-0.34.0 → splat64-0.34.2}/docs/Quickstart.md +0 -0
  27. {splat64-0.34.0 → splat64-0.34.2}/docs/Segments.md +0 -0
  28. {splat64-0.34.0 → splat64-0.34.2}/docs/VramClasses.md +0 -0
  29. {splat64-0.34.0 → splat64-0.34.2}/mypy.ini +0 -0
  30. {splat64-0.34.0 → splat64-0.34.2}/requirements.txt +0 -0
  31. {splat64-0.34.0 → splat64-0.34.2}/split.py +0 -0
  32. {splat64-0.34.0 → splat64-0.34.2}/src/splat/__main__.py +0 -0
  33. {splat64-0.34.0 → splat64-0.34.2}/src/splat/disassembler/__init__.py +0 -0
  34. {splat64-0.34.0 → splat64-0.34.2}/src/splat/disassembler/disassembler.py +0 -0
  35. {splat64-0.34.0 → splat64-0.34.2}/src/splat/disassembler/disassembler_instance.py +0 -0
  36. {splat64-0.34.0 → splat64-0.34.2}/src/splat/disassembler/disassembler_section.py +0 -0
  37. {splat64-0.34.0 → splat64-0.34.2}/src/splat/disassembler/null_disassembler.py +0 -0
  38. {splat64-0.34.0 → splat64-0.34.2}/src/splat/disassembler/spimdisasm_disassembler.py +0 -0
  39. {splat64-0.34.0 → splat64-0.34.2}/src/splat/platforms/__init__.py +0 -0
  40. {splat64-0.34.0 → splat64-0.34.2}/src/splat/platforms/n64.py +0 -0
  41. {splat64-0.34.0 → splat64-0.34.2}/src/splat/platforms/ps2.py +0 -0
  42. {splat64-0.34.0 → splat64-0.34.2}/src/splat/platforms/psp.py +0 -0
  43. {splat64-0.34.0 → splat64-0.34.2}/src/splat/platforms/psx.py +0 -0
  44. {splat64-0.34.0 → splat64-0.34.2}/src/splat/py.typed +0 -0
  45. {splat64-0.34.0 → splat64-0.34.2}/src/splat/scripts/__init__.py +0 -0
  46. {splat64-0.34.0 → splat64-0.34.2}/src/splat/scripts/capy.py +0 -0
  47. {splat64-0.34.0 → splat64-0.34.2}/src/splat/scripts/create_config.py +0 -0
  48. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/__init__.py +0 -0
  49. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/common/__init__.py +0 -0
  50. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/common/asm.py +0 -0
  51. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/common/asmtu.py +0 -0
  52. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/common/bin.py +0 -0
  53. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/common/bss.py +0 -0
  54. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/common/c.py +0 -0
  55. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/common/code.py +0 -0
  56. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/common/codesubsegment.py +0 -0
  57. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/common/cpp.py +0 -0
  58. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/common/data.py +0 -0
  59. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/common/databin.py +0 -0
  60. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/common/eh_frame.py +0 -0
  61. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/common/gcc_except_table.py +0 -0
  62. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/common/group.py +0 -0
  63. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/common/hasm.py +0 -0
  64. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/common/header.py +0 -0
  65. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/common/lib.py +0 -0
  66. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/common/linker_offset.py +0 -0
  67. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/common/pad.py +0 -0
  68. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/common/rdata.py +0 -0
  69. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/common/rodata.py +0 -0
  70. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/common/rodatabin.py +0 -0
  71. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/common/sbss.py +0 -0
  72. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/common/sdata.py +0 -0
  73. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/common/segment.py +0 -0
  74. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/common/textbin.py +0 -0
  75. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/linker_entry.py +0 -0
  76. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/n64/__init__.py +0 -0
  77. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/n64/ci.py +0 -0
  78. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/n64/ci4.py +0 -0
  79. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/n64/ci8.py +0 -0
  80. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/n64/decompressor.py +0 -0
  81. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/n64/gfx.py +0 -0
  82. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/n64/header.py +0 -0
  83. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/n64/i1.py +0 -0
  84. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/n64/i4.py +0 -0
  85. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/n64/i8.py +0 -0
  86. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/n64/ia16.py +0 -0
  87. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/n64/ia4.py +0 -0
  88. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/n64/ia8.py +0 -0
  89. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/n64/img.py +0 -0
  90. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/n64/ipl3.py +0 -0
  91. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/n64/mio0.py +0 -0
  92. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/n64/palette.py +0 -0
  93. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/n64/rgba16.py +0 -0
  94. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/n64/rgba32.py +0 -0
  95. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/n64/rsp.py +0 -0
  96. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/n64/vtx.py +0 -0
  97. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/n64/yay0.py +0 -0
  98. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/ps2/__init__.py +0 -0
  99. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/ps2/ctor.py +0 -0
  100. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/ps2/lit4.py +0 -0
  101. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/ps2/lit8.py +0 -0
  102. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/ps2/vtables.py +0 -0
  103. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/psp/__init__.py +0 -0
  104. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/psx/__init__.py +0 -0
  105. {splat64-0.34.0 → splat64-0.34.2}/src/splat/segtypes/psx/header.py +0 -0
  106. {splat64-0.34.0 → splat64-0.34.2}/src/splat/util/__init__.py +0 -0
  107. {splat64-0.34.0 → splat64-0.34.2}/src/splat/util/cache_handler.py +0 -0
  108. {splat64-0.34.0 → splat64-0.34.2}/src/splat/util/color.py +0 -0
  109. {splat64-0.34.0 → splat64-0.34.2}/src/splat/util/compiler.py +0 -0
  110. {splat64-0.34.0 → splat64-0.34.2}/src/splat/util/conf.py +0 -0
  111. {splat64-0.34.0 → splat64-0.34.2}/src/splat/util/n64/__init__.py +0 -0
  112. {splat64-0.34.0 → splat64-0.34.2}/src/splat/util/n64/find_code_length.py +0 -0
  113. {splat64-0.34.0 → splat64-0.34.2}/src/splat/util/n64/rominfo.py +0 -0
  114. {splat64-0.34.0 → splat64-0.34.2}/src/splat/util/options.py +0 -0
  115. {splat64-0.34.0 → splat64-0.34.2}/src/splat/util/palettes.py +0 -0
  116. {splat64-0.34.0 → splat64-0.34.2}/src/splat/util/progress_bar.py +0 -0
  117. {splat64-0.34.0 → splat64-0.34.2}/src/splat/util/psx/__init__.py +0 -0
  118. {splat64-0.34.0 → splat64-0.34.2}/src/splat/util/psx/psxexeinfo.py +0 -0
  119. {splat64-0.34.0 → splat64-0.34.2}/src/splat/util/relocs.py +0 -0
  120. {splat64-0.34.0 → splat64-0.34.2}/src/splat/util/statistics.py +0 -0
  121. {splat64-0.34.0 → splat64-0.34.2}/src/splat/util/symbols.py +0 -0
  122. {splat64-0.34.0 → splat64-0.34.2}/src/splat/util/utils.py +0 -0
  123. {splat64-0.34.0 → splat64-0.34.2}/src/splat/util/vram_classes.py +0 -0
  124. {splat64-0.34.0 → splat64-0.34.2}/test/Dockerfile +0 -0
  125. {splat64-0.34.0 → splat64-0.34.2}/test/README.md +0 -0
  126. {splat64-0.34.0 → splat64-0.34.2}/test/basic_app/.gitignore +0 -0
  127. {splat64-0.34.0 → splat64-0.34.2}/test/basic_app/Makefile +0 -0
  128. {splat64-0.34.0 → splat64-0.34.2}/test/basic_app/build/basic_app.bin +0 -0
  129. {splat64-0.34.0 → splat64-0.34.2}/test/basic_app/dummy_ipl3.s +0 -0
  130. {splat64-0.34.0 → splat64-0.34.2}/test/basic_app/expected/.splache +0 -0
  131. {splat64-0.34.0 → splat64-0.34.2}/test/basic_app/expected/asm/data/main.bss.s +0 -0
  132. {splat64-0.34.0 → splat64-0.34.2}/test/basic_app/expected/asm/data/main.data.s +0 -0
  133. {splat64-0.34.0 → splat64-0.34.2}/test/basic_app/expected/asm/data/main.rodata.s +0 -0
  134. {splat64-0.34.0 → splat64-0.34.2}/test/basic_app/expected/asm/handwritten.s +0 -0
  135. {splat64-0.34.0 → splat64-0.34.2}/test/basic_app/expected/asm/header.s +0 -0
  136. {splat64-0.34.0 → splat64-0.34.2}/test/basic_app/expected/asm/main.s +0 -0
  137. {splat64-0.34.0 → splat64-0.34.2}/test/basic_app/expected/asm/nonmatchings/main/D_80000510.s +0 -0
  138. {splat64-0.34.0 → splat64-0.34.2}/test/basic_app/expected/asm/nonmatchings/main/func_80000400.s +0 -0
  139. {splat64-0.34.0 → splat64-0.34.2}/test/basic_app/expected/asm/nonmatchings/main/func_800004A0.s +0 -0
  140. {splat64-0.34.0 → splat64-0.34.2}/test/basic_app/expected/assets/dummy_ipl3.bin +0 -0
  141. {splat64-0.34.0 → splat64-0.34.2}/test/basic_app/expected/basic_app.d +0 -0
  142. {splat64-0.34.0 → splat64-0.34.2}/test/basic_app/expected/build/test/basic_app/split/src/main.asmproc.d +0 -0
  143. {splat64-0.34.0 → splat64-0.34.2}/test/basic_app/expected/src/main.c +0 -0
  144. {splat64-0.34.0 → splat64-0.34.2}/test/basic_app/expected/undefined_funcs_auto.txt +0 -0
  145. {splat64-0.34.0 → splat64-0.34.2}/test/basic_app/expected/undefined_syms_auto.txt +0 -0
  146. {splat64-0.34.0 → splat64-0.34.2}/test/basic_app/handwritten.s +0 -0
  147. {splat64-0.34.0 → splat64-0.34.2}/test/basic_app/header.s +0 -0
  148. {splat64-0.34.0 → splat64-0.34.2}/test/basic_app/main.c +0 -0
  149. {splat64-0.34.0 → splat64-0.34.2}/test/test_gen_expected.sh +0 -0
@@ -1,14 +1,26 @@
1
1
  # splat Release Notes
2
2
 
3
+ ### 0.34.2
4
+
5
+ * Emit an error if a top-level segment containing bss sections does not specify a `bss_size` value.
6
+ * Emit an error if a bss section is outside the address space of its parent segment.
7
+
8
+ ### 0.34.1
9
+
10
+ * Deprecate `--stdout-only` cli flag. Changed output such that errors and warnings go to stderr and all other output goes to stdout.
11
+
3
12
  ### 0.34.0
4
- * Added new global option `is_unsupported_platform`. If enabled, disable checks on platform option.
5
- * Added new global option `allow_segment_overrides`. If enabled, allows to take precedence over the splat builtin platform segments via splat extension.
13
+
14
+ * Add new global option `is_unsupported_platform`. If enabled, disable checks on platform option.
15
+ * Add new global option `allow_segment_overrides`. If enabled, allows to take precedence over the splat builtin platform segments via splat extension.
6
16
 
7
17
  ### 0.33.2
18
+
8
19
  * Change `make_full_disasm_for_code` to output other sections for the TU in addition to .text.
9
20
 
10
21
  ### 0.33.1
11
- * Fix `hasm` segments overwriting files already on disk
22
+
23
+ * Fix `hasm` segments overwriting files already on disk.
12
24
 
13
25
  ### 0.33.0
14
26
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: splat64
3
- Version: 0.34.0
3
+ Version: 0.34.2
4
4
  Summary: A binary splitting tool to assist with decompilation and modding projects
5
5
  Project-URL: Repository, https://github.com/ethteck/splat
6
6
  Project-URL: Issues, https://github.com/ethteck/splat/issues
@@ -76,7 +76,7 @@ The brackets corresponds to the optional dependencies to install while installin
76
76
  If you use a `requirements.txt` file in your repository, then you can add this library with the following line:
77
77
 
78
78
  ```txt
79
- splat64[mips]>=0.34.0,<1.0.0
79
+ splat64[mips]>=0.34.2,<1.0.0
80
80
  ```
81
81
 
82
82
  ### Optional dependencies
@@ -21,7 +21,7 @@ The brackets corresponds to the optional dependencies to install while installin
21
21
  If you use a `requirements.txt` file in your repository, then you can add this library with the following line:
22
22
 
23
23
  ```txt
24
- splat64[mips]>=0.34.0,<1.0.0
24
+ splat64[mips]>=0.34.2,<1.0.0
25
25
  ```
26
26
 
27
27
  ### Optional dependencies
@@ -1,7 +1,7 @@
1
1
  [project]
2
2
  name = "splat64"
3
3
  # Should be synced with src/splat/__init__.py
4
- version = "0.34.0"
4
+ version = "0.34.2"
5
5
  description = "A binary splitting tool to assist with decompilation and modding projects"
6
6
  readme = "README.md"
7
7
  license = {file = "LICENSE"}
@@ -1,7 +1,7 @@
1
1
  __package_name__ = __name__
2
2
 
3
3
  # Should be synced with pyproject.toml
4
- __version__ = "0.34.0"
4
+ __version__ = "0.34.2"
5
5
  __author__ = "ethteck"
6
6
 
7
7
  from . import util as util
@@ -452,7 +452,8 @@ def main(
452
452
  make_full_disasm_for_code=False,
453
453
  ):
454
454
  if stdout_only:
455
- progress_bar.out_file = sys.stdout
455
+ log.write("--stdout-only flag is deprecated", status="warn")
456
+ progress_bar.out_file = sys.stdout
456
457
 
457
458
  # Load config
458
459
  global config
@@ -538,7 +539,9 @@ def add_arguments_to_parser(parser: argparse.ArgumentParser):
538
539
  help="Skips the disassembler's version check",
539
540
  )
540
541
  parser.add_argument(
541
- "--stdout-only", help="Print all output to stdout", action="store_true"
542
+ "--stdout-only",
543
+ help="Print all output to stdout (deprecated)",
544
+ action="store_true",
542
545
  )
543
546
  parser.add_argument(
544
547
  "--disassemble-all",
@@ -414,6 +414,26 @@ class Segment:
414
414
 
415
415
  ret.parent = parent
416
416
 
417
+ # Import here to avoid circular imports
418
+ from .common.code import CommonSegCode
419
+ from .common.bss import CommonSegBss
420
+
421
+ if options.opts.ld_bss_is_noload and isinstance(ret, CommonSegBss):
422
+ # We need to know the bss space for the segment.
423
+ if isinstance(parent, CommonSegCode):
424
+ if parent.bss_size <= 0:
425
+ log.error(
426
+ f"Top-level segment '{parent.name}' is missing a `bss_size` value.\n A non-zero `bss_size` value must be defined on the top-level segments that contain '{ret.type}' sections (produced by the '{ret.name}' section)."
427
+ )
428
+ if (
429
+ isinstance(ret.vram_start, int)
430
+ and isinstance(parent.vram_end, int)
431
+ and ret.vram_start >= parent.vram_end
432
+ ):
433
+ log.error(
434
+ f"The section '{ret.name}' (vram 0x{ret.vram_start:08X}) is outside its parent's address range '{parent.name}' (0x{parent.vram_start:08X} ~ 0x{parent.vram_end:08X}).\n This may happen when the specified `bss_size` value is too small."
435
+ )
436
+
417
437
  ret.given_section_order = parse_segment_section_order(yaml)
418
438
  ret.given_subalign = parse_segment_subalign(yaml)
419
439
 
@@ -18,7 +18,12 @@ def write(*args, status=None, **kwargs):
18
18
  print("")
19
19
  newline = True
20
20
 
21
- print(status_to_ansi(status) + str(args[0]), *args[1:], **kwargs)
21
+ print(
22
+ status_to_ansi(status) + str(args[0]),
23
+ *args[1:],
24
+ **kwargs,
25
+ file=output_file(status),
26
+ )
22
27
 
23
28
 
24
29
  def error(*args, **kwargs) -> NoReturn:
@@ -44,3 +49,9 @@ def status_to_ansi(status: Status):
44
49
  return Style.DIM
45
50
  else:
46
51
  return ""
52
+
53
+
54
+ def output_file(status: Status):
55
+ if status == "warn" or status == "error":
56
+ return sys.stderr
57
+ return sys.stdout
@@ -456,11 +456,11 @@ class InitializeSpimContext(unittest.TestCase):
456
456
 
457
457
  all_segments: List["Segment"] = [
458
458
  CommonSegCode(
459
- rom_start=0x0,
460
- rom_end=0x200,
459
+ rom_start=0x1000,
460
+ rom_end=0x1140,
461
461
  type="code",
462
462
  name="main",
463
- vram_start=0x100,
463
+ vram_start=0x80000400,
464
464
  args=[],
465
465
  yaml=yaml,
466
466
  )
@@ -472,7 +472,7 @@ class InitializeSpimContext(unittest.TestCase):
472
472
  symbols.initialize_spim_context(all_segments)
473
473
  # spim should have added something to overlaySegments
474
474
  assert (
475
- type(symbols.spim_context.overlaySegments["overlay"][0])
475
+ type(symbols.spim_context.overlaySegments["overlay"][0x1000])
476
476
  == spimdisasm.common.SymbolsSegment
477
477
  )
478
478
 
@@ -485,22 +485,21 @@ class InitializeSpimContext(unittest.TestCase):
485
485
  "name": "boot",
486
486
  "type": "code",
487
487
  "start": 0x1000,
488
- "vram": 0x80000400,
488
+ "vram": 0x100,
489
489
  "bss_size": 0x80,
490
- "exclusive_ram_id": "overlay",
491
490
  "subsegments": [
492
491
  [0x1000, "c", "main"],
493
492
  [0x10F0, "hasm", "handwritten"],
494
493
  [0x1100, "data", "main"],
495
494
  [0x1110, ".rodata", "main"],
496
- {"start": 0x1140, "type": "bss", "vram": 0x80000540, "name": "main"},
495
+ {"start": 0x1140, "type": "bss", "vram": 0x240, "name": "main"},
497
496
  ],
498
497
  }
499
498
 
500
499
  all_segments: List["Segment"] = [
501
500
  CommonSegCode(
502
- rom_start=0x0,
503
- rom_end=0x200,
501
+ rom_start=0x1000,
502
+ rom_end=0x1140,
504
503
  type="code",
505
504
  name="main",
506
505
  vram_start=0x100,
@@ -513,7 +512,7 @@ class InitializeSpimContext(unittest.TestCase):
513
512
  assert symbols.spim_context.globalSegment.vramEnd == 0x80001000
514
513
  symbols.initialize_spim_context(all_segments)
515
514
  assert symbols.spim_context.globalSegment.vramStart == 0x100
516
- assert symbols.spim_context.globalSegment.vramEnd == 0x380
515
+ assert symbols.spim_context.globalSegment.vramEnd == 0x2C0
517
516
 
518
517
 
519
518
  if __name__ == "__main__":
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes