Guest User

Untitled

a guest
Sep 8th, 2026
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.81 KB | None | 0 0
  1.  
  2. CRT V3 working draft v0.0
  3. -------------------------
  4.  
  5. WARNING: this is unfinished WOK IN PROGRESS
  6.  
  7.  
  8. why?
  9. ----
  10.  
  11. After adding support for all the CBM machines to the format (and creating
  12. v2 in the process) it was obvious we also should solve some other long
  13. standing problems.
  14.  
  15. TODO: identify problems other than the ones listed below
  16.  
  17.  
  18. support "extra ICs"
  19. -------------------
  20.  
  21. So far the CRT format has only supported one "type" of memory (*). IE even
  22. when the physical cartridge contained several ROM chips, the CRT file would
  23. typically contain multiple "chip" chunks to represent logical banks instead
  24. of physical chips. This becomes a problem with cartridges that contain
  25. more than one type of memory, which have to be treated differently (eg ROM
  26. and EEPROM).
  27.  
  28. (*) this is indeed questionable, and one could argue different types were
  29. always supported by the specs. But the specs were (ab)used in different ways
  30. in practise, which we need to deal with now.
  31.  
  32. GOAL: define a way to include "extra ICs" in the format cleanly
  33.  
  34. This should be as generic as possible, work for any amount of extra ICs (and
  35. of various types), without inventing special cases for each cartridge type.
  36.  
  37. * support any (reasonable) number of "extra ICs"
  38. * "extra ICs" can be any of the memory types
  39. * deviate as little as possible from how the format was used before
  40.  
  41. TODO: identify and document all the already existing hacks in the wild (eg
  42. 1541U supports some Gmod2 with embedded EEPROM). We might gather some ideas
  43. and/or need it for future workarounds
  44.  
  45. TODO: list missing, not yet implemented, cartridges (or better yet, implement
  46. them :))
  47.  
  48. TODO: come up with a format extension
  49.  
  50. TODO: try to define an artificial scheme that breaks the new format :)
  51.  
  52. Comment: It might indeed be questionable to save the RAM of certain (or even
  53. most) cartridges into the CRT file - however, that does not mean it shouldn't
  54. be a valid option that we need to consider. It is also one of the reasons for
  55. why we must support multiple "extra ICs".
  56.  
  57.  
  58. Already defined cartridges that we need to consider:
  59.  
  60. Name CRTID
  61.  
  62. * C64
  63.  
  64. Action Replay V5 1 RAM
  65. KCS Power 2 RAM
  66. Atomic Power 9 RAM
  67. Magic Formel 14 RAM
  68. Super Snapshot v5 20 RAM
  69. Easy Flash 32 RAM
  70. Capture 34 RAM
  71. Retro Replay 36 RAM
  72. MMC Replay 38 RAM EEPROM
  73. Super Snapshot V4 40 RAM
  74. Pagefox 53 RAM
  75. Gmod2 60 EEPROM
  76. MAX BASIC 61 RAM
  77. REX RAM-Floppy 67 RAM
  78. SD Box 69 RAM
  79. MultiMAX 70 RAM
  80. LT Kernal 72 RAM
  81. CMD Ramlink 73 RAM
  82. Partner 64 78 RAM
  83. Universal Cartridge 1 80 RAM
  84. Universal Cartridge 1.5 81 RAM
  85. Universal Cartridge 2 82 RAM
  86. Magic Desk Plus 87 RAM EEPROM
  87.  
  88.  
  89. * C128
  90.  
  91. Gmod C128 5 EEPROM
  92.  
  93.  
  94. * VIC20
  95.  
  96. Mega Cart 1 RAM NVRAM
  97. VIC Flash Plugin 3 RAM
  98. Ultimem 4 RAM
  99. Final Expansion 5 RAM
  100. Super Expander 7 RAM
  101. Mikro Assembler 8 RAM
  102.  
  103.  
  104. Proposal:
  105.  
  106. - define position $08 in the CHIP header as "IC number" (that limits $09,
  107. ie "IC type" to 256 cases, but we only use 4 anyway :))
  108.  
  109. - make $08 and $09 being filled in correctly mandatory
  110.  
  111.  
  112.  
  113. "legalize" RAM-Only Cartridges
  114. ------------------------------
  115.  
  116. So far we have refrained from assigning CRT IDs to cartridges which do not
  117. contain some kind of ROM.
  118.  
  119. Well, with one exception, which was kind of an oversight in the old days :)
  120.  
  121. Expert Cartridge 6 RAM
  122.  
  123. Comment: It totally makes sense to assign CRT IDs also for some of the
  124. cartridges in this category (REU, GeoRAM etc). However, doing so requires
  125. no changes to the format, other than assigning new CRT IDs (Memory size can
  126. be implemented as sub-IDs). BUT this also means that RAM is a totally legit
  127. type for the primary image in a CRT file, and any extension created for the
  128. "extra IC" case above can not violate this (eg assume RAM is always extra).
  129.  
  130.  
  131.  
  132. "no memory" Cartridges
  133. ----------------------
  134.  
  135. Another ongoing discussion was about being able to create .crt files for
  136. cartridges that do not even contain a memory image (Example: an RS232 interface).
  137.  
  138. Comment: While this is entirely doable, the benefit seems low - in particular
  139. this would only increase the amount of work for everyone IMHO, so i am not
  140. considering it right now. In any case, this would not require changes to the
  141. format either.
  142.  
  143.  
  144.  
  145.  
  146.  
Advertisement
Add Comment
Please, Sign In to add comment