Jump to content
IGNORED

the official Channel F thread!


Recommended Posts

@e5frog

Yeah, I've got no issues with the CHIP packets. Good idea with the padding for header alignment! I have two minor changes I'd make, then I think we're good to go ?:

  1. If we could add a Flashcart cartridge type into the cartridge types list (say cartridge type #6 for example), then I'm good with the way you describe. This lets me add any ports/hardware features unique to the flashcart
  2. I would still include the 1-byte title length, so that I can distinguish where the title ends, and the extra data begins. Then, since the header length is 4-bytes, there's plenty of space for extra data.

I've updated the summary here with everything we've said so far. Let me know if there's any inaccuracies, or if things need to be reordered, changed, etc. I'll touch it up later (more explanations, graphics, etc.) to better sell the idea, but this should at least contain all the basic info. Once we've finalized the format, I'll work on a little bin to chf converter script too

  • Like 1
Link to comment
Share on other sites

No, problem, add as many types as you like, preferrably existing ones as there COULD be carts using other chips as well, and combinations. https://channelf.se/veswiki/index.php?title=F8

 

In the file overview it could be worth mentioning the cartridge name is inside the file (like tags in various media files) so no matter what the system filename is the title is included anyway (unless stripped). 

Then there's the handy detail with distinguishing the file in for example windows, double click and MESS/MAME/whatever is opened with no fuzz.
I have a added a batch-file starting MESS/MAME if double clicking .chf-files, which in that case are just renamed .bin files. 

 

"Cartridge version" should be called "File format version", I believe that is what they mean in the .CRT description, the version of the .CHF file format.

 

Length of the title would simply be "header length - 0x20", why add more bytes? Don't get it, it's redundant, it's another detail to handle, it could also be a non wanted limitation. 


The Multi-Cart doesn't have FRAM but I have released a couple of Pac-Man carts that have it, Multi-Cart is just banked ROM+RAM (up until now at least).

 

I like it, look forward to seeing an update of the nice colorful images as well. 
Good job!


 

  • Like 2
Link to comment
Share on other sites

I do hope there is going to be a dumbed down version of all this technical jargony stuff so idiots like me can still make games in this new fantastic orchestrated system ? I'm assuming this would simply be a case of getting an updated version to assemble the file to include these header info into the new type? 

  • Like 1
Link to comment
Share on other sites

53 minutes ago, Mikebloke said:

I do hope there is going to be a dumbed down version of all this technical jargony stuff so idiots like me can still make games in this new fantastic orchestrated system ? I'm assuming this would simply be a case of getting an updated version to assemble the file to include these header info into the new type? 

 

Haha, honestly I was just going to make a simple .bin converter script. That way the converter would do all the work for ya. You would:

  1. write the program as normal, using the I/O devices you expect and acting like the memory is what you want (writing to 0x2800-0x3000 as if it were FRAM for example)
  2. produce the .bin file as normal
  3. run the converter selecting the appropriate template (you can make your own too), like below. It would ask for a title as well, but that's it.

So it's only 2 extra steps that'd take a few extra seconds to do (command-line arguments are also available). These are just my thoughts so far! I'll make a proper writeup on how to use it once I've thought it all through. If it could be implemented into whatever you're using as an assembler that'd probably be better, but it's also more complicated to do, so I'll leave that task to somebody else. Also, the flashcart will probably still be made to work with .bin files just for backwards compatibility (though it'd just be the simple ROM+SRAM). As always, any thoughts or ideas are welcome!

 

image.thumb.png.d8caf854397f23f12bd6ceb69223eb9c.png

 

Note: this image is just an example, so ignore the names/addresses/sizes shown

 

Edited by 3DMAZE
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Yup, you'd need to select a hardware type, type of memory and location. 

Perhaps a suggestion could be made scanning the bin. 

I think the .crt converter for command line something like:

conv filein.bin fileout.crt -hardwaretype 2 -title "GAMENAME" 

Unless setting hardware type for all configurations the CHF converter needs the memory locations as well. 

In theory you could have ROM, FRAM, RAM, ROM... etc

  • Like 2
Link to comment
Share on other sites

  • 1 month later...

And that ladies and gentlemen is why we don't set dates for things, haha. Anyway, I'm back in the US, hope your summer's going well, here's a little update. Firstly, I got Mad Genius.bin fixed! I implemented the XDC instruction, and fixed an address bug. Sounds a little better I think :) 

 

 

 

I've also tested the 29 official games I have ROMS for (1-26, Chess, Demo 1/2), which gives a compatibility of 28/29 official games. I can go into details on each game if anyone's interested, but I'll leave that out to shorten this post. Here's a playlist showing some of the games though: https://www.youtube.com/playlist?list=PLM5Gy0Kaxf9awAAN3LGhUGmw-B-ikVZjd

 

image.thumb.png.2827abd69382b490d2376f5f6c0e0506.png

  • Green 16/29 = no issues
  • Yellow 7/29 = A graphics error is present when the flashcart (not the console) is first powered on, but the game still works 100%. A single reset fixes the issue.
  • Orange 5/29 = These games generally freeze after game selection when the flashcart is first powered on. A single reset fixes the issue.
  • Red 1/29 (#18 Hangman) = Similar to yellow, a graphical issues is present, but disappears on the first reset. However, entering custom words always freezes the game, even after a reset. Everything else works though.

This is probably some cache issue. Luckily it seems to be the same bug affecting everything, so it should be a single fix (and ideally a simple one). I've ordered the new PCBs that include a full SD card slot and an FRAM chip. They should be here in less than a week. Then I can build the prototype flashcarts, give them a quick test and send them out. @e5frog @Mikebloke, if yall want to PM me a shipping address sometime in the next week I can send them out ASAP.

 

That leaves the following on the TODO list:

  • Fix this bug so I can get 100% compatibility with no issues (ideally done before the PCBs arrive)
  • Multimenu
  • .chf file support
  • 3D case (buy screws, label, make a hole for the SD card)
  • Lower power consumption (currently: ~130 ma, goal: ~80 ma)

Stretch goals would include save files, interrupts, and timers

 

Updating the firmware's as simple as drag and drop, or you can build from source since it's public (though I need to update the github code). Either way, this'll let me fix and add things without having to send out new boards and whatnot. Pretty similar to most other flashcarts I'd imagine.

 

That's all for now I think? Have a good one!

Edited by 3DMAZE
  • Like 4
  • Thanks 1
Link to comment
Share on other sites

5 hours ago, 3DMAZE said:

And that ladies and gentlemen is why we don't set dates for things, haha. Anyway, I'm back in the US, hope your summer's going well, here's a little update. Firstly, I got Mad Genius.bin fixed! I implemented the XDC instruction, and fixed an address bug. Sounds a little better I think :) 

 

 

 

I've also tested the 29 official games I have ROMS for (1-26, Chess, Demo 1/2), which gives a compatibility of 28/29 official games. I can go into details on each game if anyone's interested, but I'll leave that out to shorten this post. Here's a playlist showing some of the games though: https://www.youtube.com/playlist?list=PLM5Gy0Kaxf9awAAN3LGhUGmw-B-ikVZjd

 

image.thumb.png.2827abd69382b490d2376f5f6c0e0506.png

  • Green 16/29 = no issues
  • Yellow 7/29 = A graphics error is present when the flashcart (not the console) is first powered on, but the game still works 100%. A single reset fixes the issue.
  • Orange 5/29 = These games generally freeze after game selection when the flashcart is first powered on. A single reset fixes the issue.
  • Red 1/29 (#18 Hangman) = Similar to yellow, a graphical issues is present, but disappears on the first reset. However, entering custom words always freezes the game, even after a reset. Everything else works though.

This is probably some cache issue. Luckily it seems to be the same bug affecting everything, so it should be a single fix (and ideally a simple one). I've ordered the new PCBs that include a full SD card slot and an FRAM chip. They should be here in less than a week. Then I can build the prototype flashcarts, give them a quick test and send them out. @e5frog @Mikebloke, if yall want to PM me a shipping address sometime in the next week I can send them out ASAP.

 

That leaves the following on the TODO list:

  • Fix this bug so I can get 100% compatibility with no issues (ideally done before the PCBs arrive)
  • Multimenu
  • .chf file support
  • 3D case (buy screws, label, make a hole for the SD card)
  • Lower power consumption (currently: ~130 ma, goal: ~80 ma)

Stretch goals would include save files, interrupts, and timers

 

Updating the firmware's as simple as drag and drop, or you can build from source since it's public (though I need to update the github code). Either way, this'll let me fix and add things without having to send out new boards and whatnot. Pretty similar to most other flashcarts I'd imagine.

 

That's all for now I think? Have a good one!

Wow! Congratulations! Actually you did say June and we're still in it! 

 

I'll send you a PM. 

 

Regarding the carts with issues, do you have a list? I'm wondering if we check out the disassembled files if we find anything in common with them given the issue seems the same. The additional issue with hangman, could that be something to do about where the data for custom words go? 

 

I've got a couple of other projects started, but not quite ready to show off yet. Although I said I would feature bloat Boxing, I haven't done it yet! To try and get a bit better I've branched out to some CPC coding which I'm testing on a. Gx4000, it's still assembly and it's generalising some of the skills I've used. Some of those skills can then come back to making better channel F games! 

  • Like 1
Link to comment
Share on other sites

I bet the Gx4000 is a breath of fresh air. Slightly more powerful than the Channel F I believe :). I've made some GBA games before, and the amount of features it provides was phenomenalAnyway, the games with freezing issues are as follows:

  • Chess = restarts itself after loading the board the first time you play

  • 16 Dodge-It = restarts itself after loading the map the first time you play

  • 21 Bowling = restarts itself after hitting the pin the first time you play

  • 10 Maze = gets stuck on the first generated maze and needs a reset

  • Democart 1 = gets stuck on the first word "PLEASE" and needs a reset

I think you're right! I'd assume Hangman stores custom words in the 2102 SRAM. Given the fact that Maze (which uses the same SRAM code) works, I think it might be a symptom of the other issue. Who knows. I recently compiled the code with -Os which makes the code smaller (and slower) than the current -Ofast. It breaks a bunch of things due to the slowdown, but I noticed it was no longer freezing. This (together with the fact it only happens once on boot) leads me to further believe it's a cache issue, since the smaller code would fit in cache or have less misses overall. I believe there's some way to copy the firmware into SRAM and bypass the cache entirely, so I'm going to try and figure that out today. I'll keep ya posted on the results!

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

I've got a bit further with my 'mystery game', I've documented more about it here:

 

https://acebloke.wixsite.com/deremakemake/post/blogs-productive-or-distracting

 

Essentially, its Billiards, its getting there! Another crack at it another day and I might have a demo to show off.

 

0035.png.b39ed9e0a9f10fc54cd3ec6b1dda936d.png Keep forgetting to increase the size of pictures, its dead small of course being the Channel F...

  • Like 1
Link to comment
Share on other sites

I just finally got my hands on a Grandstand Channel F, a bit rough around the edges but not bad at £66 for a console missing one controller holder, one controller knob(not broken off, missing, might need to design and 3D print one), and 2 carts.

 

Interested to hear about a possible flash cart, was thinking of getting an e5frog multicart, but a flash cart sounds more future proof.

Link to comment
Share on other sites

12 hours ago, siccoyote said:

Interested to hear about a possible flash cart, was thinking of getting an e5frog multicart, but a flash cart sounds more future proof.

Also looking forward to a flashcart, the kinks should be solved eventually. 

 

Regarding "future proof" in my experience, as long as you keep a computer for running the OS the flashcart software uses it should last a couple decades. That's why I keep a Windows 98 computer for GameBoy flash carts and a Windows XP computer for a couple of other ones. 

The multis for GameBoy, VIC-20, C64, NES, Vectrex has a basic set of trouble free gaming - the flash carts cover most of the rest (not all as there's always some specials). 

I try and get both types myself. 

Link to comment
Share on other sites

I had a problem with my Channel F. It was in black and white and the screen was rolling. After I tried a few things, I tried plugging it into my VCR instead of my TV. That fixed it. It was in color and the screen wasn't rolling any more. Why did that fix it?

Also, I haven't been into the Channel F "scene" lately. I worked on Elevator Events until I was happy with what I had. I would really like a flashcart as well so I can test my creations on it.

  • Like 2
Link to comment
Share on other sites

1 hour ago, atari2600land said:

I had a problem with my Channel F. It was in black and white and the screen was rolling. After I tried a few things, I tried plugging it into my VCR instead of my TV. That fixed it. It was in color and the screen wasn't rolling any more. 

More forgiving tuner in the VCR. 

Maybe you need to tweak the frequency setting a bit to make it work directly with the TV. 

Link to comment
Share on other sites

The adventures of the stalk of celery.

level 1 - "I herd it"

Mr. Celery finds himself in the middle of a huge elephant herd stampede. His job is to dodge the oncoming elephant herd without being trampled to death.

 

I found that it's better to make the stalk of celery normal sized instead of 50 foot tall. Because those would be huge elephants if he were!

iherdit.png.cef9abf85543c108a57dd1aea1145033.png

Things to add:

  • score
  • lives
  • elephant speed variations.

Just want to know what you think so far.

celery5.bin

  • Thanks 1
Link to comment
Share on other sites

10 hours ago, atari2600land said:

The adventures of the stalk of celery.

level 1 - "I herd it"

Mr. Celery finds himself in the middle of a huge elephant herd stampede. His job is to dodge the oncoming elephant herd without being trampled to death.

 

I found that it's better to make the stalk of celery normal sized instead of 50 foot tall. Because those would be huge elephants if he were!

iherdit.png.cef9abf85543c108a57dd1aea1145033.png

Things to add:

  • score
  • lives
  • elephant speed variations.

Just want to know what you think so far.

celery5.bin 8 kB · 2 downloads

The elephant is looking good, the movement looks natural like its actually walking! Exciting on the Channel F! The brick effect on the sides is also nice looking with the other colours contrasting it.

 

Is there any potential for Pac Man like intermissions between levels? We lack many games with interludes between gameplay, feels like it might fit here, even if its simple.

 

Also I did make some comments on your Burger GB game when you swing round to working on that again.

 

In terms of my own billiards games, I'm about half way through the final gameplay element of ball collisions, I've got a few bugs to iron out, and have to do scoring, but getting closer to a first release.

Link to comment
Share on other sites

I added those three things: score, lives, and elephant speed variations. But I fear the game might be too easy. But it's okay because it's only level 1. I want Level 2 to be like the 2600 homebrew Vault Assault (or my Odyssey² homebrew called "Walls"). I'll work on that tomorrow.

After thirty elephants go by, the game will stop. This is where the game will transition to level 2. We all know elephants travel in packs of 30, right?

 

As for intermissions, I don't think there will be any.

 

celery6.bin

iherdit6.png

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...