Kiwi Posted February 20, 2016 Share Posted February 20, 2016 I wanted to let you all know that I'm no longer bankswitch-impaired. I figured it out with the help with AlekMaul and also figured out how to use Cygwin instead of cci3 to compile my source code. Also used PkK tutorial on getting the cygwin and the stuff comes with it. I can plan my next project around bankswitching. Expect more animation, more levels, more FMV, and more of everything. I think BIOS os7 sound/music engine data might be the only thing that can't be bankswitched. 1 Quote Link to comment Share on other sites More sharing options...
digress Posted February 21, 2016 Share Posted February 21, 2016 Not completely accurate. You can't switch the bank while os7 sounds are playing but you can put all music & soundfx for any 1 level in the second bank that you switch in. Then assign that sound table to be current and play from it. You have to stop all sounds before bank switching os7 sounds. If you are constantly bank switching for routines no it definately won't work. what I've tried is putting all sound effects & music into the the permanent bank for the initial levels. For special levels which can run completly from 1 16kb bank including the os7 music or sound you can bank switch and play from the other bank. It works well enough for title screen & end game music where you can make a complete stop to sounds before the bank switch. I wanted to let you all know that I'm no longer bankswitch-impaired. I figured it out with the help with AlekMaul and also figured out how to use Cygwin instead of cci3 to compile my source code. Also used PkK tutorial on getting the cygwin and the stuff comes with it. I can plan my next project around bankswitching. Expect more animation, more levels, more FMV, and more of everything. I think BIOS os7 sound/music engine data might be the only thing that can't be bankswitched. 1 Quote Link to comment Share on other sites More sharing options...
Kiwi Posted February 27, 2016 Share Posted February 27, 2016 I'm running into an issue where the cvmkcart.exe haven't place the data into the right bank. I looked in hexedit to see where the data. Most of the data/function is in address 1C000 and up. The other banks had the word, "BANK1" "END OF BANK1" that I have placed into each other 7 source file to be filled later. I started at bank 7, made the title screen, story screen and etc. Then it exit that bank and the non switchable bank is intended to be more like a trampoline. So I can keep the sound, music and stuff in the first non swapable bank16KB and not have the main game in that bank. And the switch bank to run routine and pulling data from. Also, do multi directional level scroll because 16 KB bank is a good amount of memory and have the handler to handle levels that does wraparound. I can attach an image of what command I typed into Cygwin console and I run cvmkcart in window's run command. C:\sdcctest\BlackTiger\cvmkcart.exe -icrtcv.ihx -b6 BlackTiger.rom Yea... I am attempting making Black Tiger on the Colecovision... I wasn't sure if I type anything wrong or you're not allow to have functions in other banks, just data. I was able to build a 128KB banksw example with 4 added picture Quote Link to comment Share on other sites More sharing options...
digress Posted February 28, 2016 Share Posted February 28, 2016 I'm using tursi's method and make system so I guess alekmaul will know. I'm running into an issue where the cvmkcart.exe haven't place the data into the right bank. I looked in hexedit to see where the data. Most of the data/function is in address 1C000 and up. The other banks had the word, "BANK1" "END OF BANK1" that I have placed into each other 7 source file to be filled later. I started at bank 7, made the title screen, story screen and etc. Then it exit that bank and the non switchable bank is intended to be more like a trampoline. So I can keep the sound, music and stuff in the first non swapable bank16KB and not have the main game in that bank. And the switch bank to run routine and pulling data from. Also, do multi directional level scroll because 16 KB bank is a good amount of memory and have the handler to handle levels that does wraparound. I can attach an image of what command I typed into Cygwin console and I run cvmkcart in window's run command. C:\sdcctest\BlackTiger\cvmkcart.exe -icrtcv.ihx -b6 BlackTiger.romabank.jpg Yea... I am attempting making Black Tiger on the Colecovision... I wasn't sure if I type anything wrong or you're not allow to have functions in other banks, just data. I was able to build a 128KB banksw example with 4 added picture Quote Link to comment Share on other sites More sharing options...
Kiwi Posted February 28, 2016 Share Posted February 28, 2016 I should give an update. I made sure all the bank don't void function in it. The data, mostly graphic and text are in different banks. Bankswitch is working right with cvmkcart.exe. Kinda a trial and error for me to guess which banks is which. I have around 11KB left in the main bank and now working on controls and tile collusion. I think that should be enough for the game logic. I will have to read Tursi stuff and see his method in order to use functions in other banks. Quote Link to comment Share on other sites More sharing options...
Kiwi Posted March 4, 2016 Share Posted March 4, 2016 I fixed my issue.I used sdcc -c -mz80 --vs --no-std-crt0 --constseg bank7 --codeseg bank7 btbank7.cto compile the data and the code into 1 bank. I added --codeseg bank7 to the compile line and now the bank if flagged with seg for data and code. I linked and used cvmkcart to make a megacart ROM. I am able to use function while having data in a bank. 1 Quote Link to comment Share on other sites More sharing options...
Kiwi Posted November 11, 2021 Share Posted November 11, 2021 On 11/10/2021 at 8:30 AM, Milli Vee said: I didn't see it mentioned in the FAQ anywhere but does the MegaCart need any delay after setting the bank before actually accessing the bank? I never though of using delay. As soon as I use SWITCH_IN_BANK2 command in C, the following command immediately accessed the correct data. This is in C. If you're worried, after strobing(reading) the address, couple NOP's won't hurt. Quote Link to comment Share on other sites More sharing options...
Tursi Posted November 11, 2021 Share Posted November 11, 2021 I didn't have any need to use delays, even with asm. There's no good reason for a delay being needed. Quote Link to comment Share on other sites More sharing options...
Under4MHZ Posted December 22, 2021 Share Posted December 22, 2021 Am I able to buy megacarts? Who sells them, and how much do they cost? Quote Link to comment Share on other sites More sharing options...
+5-11under Posted December 22, 2021 Share Posted December 22, 2021 13 minutes ago, Under4MHZ said: Am I able to buy megacarts? Who sells them, and how much do they cost? I've got what I call "HalfMega" boards. The original Megacart went up to 1024 KB. Mine go up to 512 KB (half), so it works with 128 KB, 256 KB, and 512 KB. The price is $7 US each for the 128 KB, and probably $8 US each for 512 KB. These used to be about a dollar cheaper, but that was before the recent electronic supply and shipping issues. I don't have any 128 KB available at the moment, but should have some prepared toward the end of January. Quote Link to comment Share on other sites More sharing options...
Under4MHZ Posted December 25, 2021 Share Posted December 25, 2021 How do I order them? Do you have a website with the details? Do you supply just the PCBs or do they come complete with the components and casings? Do you ship internationally? Quote Link to comment Share on other sites More sharing options...
+5-11under Posted December 25, 2021 Share Posted December 25, 2021 15 hours ago, Under4MHZ said: How do I order them? Do you have a website with the details? Do you supply just the PCBs or do they come complete with the components and casings? Do you ship internationally? For now, send me a PM if you need any. These are fully assembled, without shells. They're easily programmable and reprogrammable with an EPROM programmer. International shipping is fine. Quote Link to comment Share on other sites More sharing options...
Under4MHZ Posted December 26, 2021 Share Posted December 26, 2021 Thanks, that's great. How about shells/casings? How do I get those? Quote Link to comment Share on other sites More sharing options...
Kiwi Posted January 1, 2022 Share Posted January 1, 2022 On 12/25/2021 at 10:14 PM, Under4MHZ said: Thanks, that's great. How about shells/casings? How do I get those? You can probably contact Collector Vision(Toby) for that one. Quote Link to comment Share on other sites More sharing options...
Under4MHZ Posted January 3, 2022 Share Posted January 3, 2022 On 12/26/2021 at 4:45 AM, 5-11under said: For now, send me a PM if you need any. These are fully assembled, without shells. They're easily programmable and reprogrammable with an EPROM programmer. International shipping is fine. Are the shells the standard ColecoVision cartridge size? Is there a 3d model for them? Getting the shells 3d printed appears to be fairly expensive. Quote Link to comment Share on other sites More sharing options...
+5-11under Posted January 3, 2022 Share Posted January 3, 2022 15 hours ago, Under4MHZ said: Are the shells the standard ColecoVision cartridge size? Is there a 3d model for them? Getting the shells 3d printed appears to be fairly expensive. Compared to a Coleco board, my boards have the same cut-outs on the side, and the same keep-out zones. If you open a Coleco game, you'll see what I mean. Here's my 32K and Halfmega boards: Quote Link to comment Share on other sites More sharing options...
artrag Posted January 9, 2022 Share Posted January 9, 2022 Sorry for asking here. I'm starting just now with SDCC on msx and I am trying to build a mega rom. Due to similarities between coleco megacart and msx megarom I am looking for a tutorial with examples for mega cart to adapt to the different memory map and page switching. My problem is SDCC and its linking system. I am used to Hitech-C for msdos that supports a large memory model up with addresses up to 24bits even for z80. The user has to provide the code for inter page jumps and for page swapping but everything is supported by the compiler and its libraries. Passing at SDCC, it seems to not support memory configurations larger than 64KB. I deduce that code and data have to be compiled separately in their rom pages and then the linker had to be configured to build the rom resolving addresses and (hopefully) page numbers. Is there any simple script with comments explaining what to do to build a megacart on colecovision? Quote Link to comment Share on other sites More sharing options...
Captain Cozmos Posted February 17, 2023 Share Posted February 17, 2023 (edited) Old thread but when I study this more it seems like this is exactly how the MSX runs large games by banking in 16k roms. I am curious because I may use something similar and an eyebrow was raised when I read that Opcode Games owns the property created by Bryan Edewaard. I have an objection when it is implied that bank switching is copyrighted whether it is 16K, which is clearly MSX, or 32k which is the norm in a Z80 environment. Is OPCODE saying that this only applies to their PCB or any cartridge that uses bank switching? Edited February 17, 2023 by Captain Cozmos Quote Link to comment Share on other sites More sharing options...
sdm Posted April 17 Share Posted April 17 (edited) Will ColEm work with this mapper? I made a test MegaCart code (using WLA-DX) and unfortunately something doesn't work. And will this Mapper work with e.g. SG-1000? Edited April 17 by sdm edit Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.