Jump to content
IGNORED

the official Channel F thread!


Recommended Posts

You can't know for sure what RAM is unless you fill it yourself - but, yes, it's possible it uses a different filler, I'm at v0.235. If emulating properly RAM could be various values even though some values are more likely than others. 

Same goes for startup screen, VRAM could be anything, it would most likely not show up black/white.

 

...seems the counter adds 25000 at a reset - to what was there already. That would explain the odd character on the most significant digit.

 

I'm very very impressed though - don't get me wrong. 

 

Does it start with the same word or is it a total (pseudo) randomization?

 

 

 

Edited by e5frog
Link to comment
Share on other sites

Just on the school run, will upload version with bug fixes later.

 

EDIT: new version up which should prevent the score going below 0, handle soft reset, and use an actual blank char instead of randomly targeting ROM....

 

Also now shows you the answer when you fail to find it in six guesses.

 

I'm sure there'll be other little bugs, I didn't really want to spend more than a day on this!

Edited by Arlasoft
Link to comment
Share on other sites

Darnit, you're fast.... 

When it passes 000000 it continues from 999999 - so for high scores, be cool.  ;)

Anyway, impressive speed programming, if you don't want to spend time on it perhaps you want to share the code so "people" can fix it. 

  • Like 1
Link to comment
Share on other sites

https://github.com/1888games/Wrdl-F/

 

By the way I came across a weird bug, when switching to the next word I was just going to clrscrn and redraw the screen. But whenever I called clrscrn it would clear 85% of the screen in the correct colour, and then revert to black and white for the last 10-ish rows.....ever seen that before?

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

6 hours ago, Arlasoft said:

I honestly thought about doing this, about starting it today. I come home and what do I see, its already done XD. I thought I could manage most of it, just not the database of words which I'm still getting my head round how exactly I would have done that. I had an idea but not great at pulling through with it. Glad you did it though, I think people would have been waiting a long time for me to get it working!

 

Well done, bugs or not, showing even the Channel F can achieve it is a great achievement in itself. The colours work, the layout is fine, it does the job. micro SD card cart so we can play this when???? ;) can't keep salvaging old carts for new games surely? ??

 

Really cool, even with the smaller list, that's a lot even with 8k.

  • Like 1
Link to comment
Share on other sites

2 minutes ago, Mikebloke said:

I honestly thought about doing this, about starting it today. I come home and what do I see, its already done XD. I thought I could manage most of it, just not the database of words which I'm still getting my head round how exactly I would have done that. I had an idea but not great at pulling through with it. Glad you did it though, I think people would have been waiting a long time for me to get it working!

 

Well done, bugs or not, showing even the Channel F can achieve it is a great achievement in itself. The colours work, the layout is fine, it does the job. micro SD card cart so we can play this when???? ;) can't keep salvaging old carts for new games surely? ??

 

Really cool, even with the smaller list, that's a lot even with 8k.

Haha, let me know what you're working on next and I'll steer clear :)

 

In the end what I did was group words with the same starting letter into groups of 32 (or less). Not only did it save about 1KB, it meant I could:

- Get a random number between 0 and 49 to determine the group....i.e. A2, H1, S3.

- Used that index to look up the first letter from a table, store that as letter 0.

- Have a table of words pointing at the label for each group of 32 words.

- Double the group index to get the address for the group.
- Get a random number between 0 and the number of words in the group - 1.

- Multiply by 4 to get the index of the first letter, read off the four remaining letters as letters 1-4.
 

  • Thanks 1
Link to comment
Share on other sites

7 hours ago, Mikebloke said:

micro SD card cart so we can play this when???? ;) can't keep salvaging old carts for new games surely? ??

On that topic, I've actually been looking into making one as a fun side project. I figure with a modified version of e5frog's 3D Videocart files, a microcontroller on a custom PCB, and a micro SD card module, one could be made without having to salvage parts. Probably not the most efficient way to go about it, but I have limited electronics experience, so whatever's easier, haha. I can handle the software side though :) 

 

I was thinking a "Raspberry Pi Pico" with 2x 74LVC245 (5V -> 3.3V) and a 74HCT541 (3.3V -> 5V) for level conversion could work as a proof of concept (264K & up to 133MHz ought to do it, lol). I'd need to finish the code first to actually test it, but the Pico can draw up to 100ma worst case scenario, and I'm not sure if the Channel F would like that? Any advice there is appreciated!

  • Like 2
Link to comment
Share on other sites

  • 3 weeks later...
43 minutes ago, poppalarge said:

Is this the part where I reactivate my FB account solely to join the Channel F group?

Nah... not worth it, stay away from FB, cosumes too much time.  ;)

 

Couldn't find it... maybe it was here somewhere - or I might just need to do it again.  

Edited by e5frog
  • Like 1
  • Haha 1
Link to comment
Share on other sites

Here's some of the stuff I've been working on recently:

 

0025.png.1aed3da7b6cb20dbc1c04d1019d43d63.png Auto Slalom - ok I haven't touched this since November and it shows! I do want to finish it though

 

0024.png.63c554bbd0d5b542cc27e747fb73164e.png This was the attempt at a platformer, I haven't tried messing with it again yet, which is also why its so small (plan is to make it bigger - it was reading the big amount of data that was a problem, another 'todo')

 

0023.png.7fc29e7a1f07d504d0bc9a4d6e5dd59d.png Tennis for two, some issues with getting it to serve, sometimes it works and other times it doesn't, then its about rebound mechanics. I'm currently struggling with managing this in different circumstances

 

0022.png.72ee4e7355da29697721b332b99c5c2a.png 'Minecraft' This is the game I'm working with my 5yo, silly little project but you never know, something might come out of it at some point

 

0021.png.0400e93580ed43833928ab7cec72a75a.png Space Race. This is nearly done. I can get collision detection working for 2 of my 8 'stars' but the second I try and get any others working it messes up. Collision detection is an issue for me.

 

0020.png.d49b220e8e80f865c58259fe5c2793f0.png Boxing, Most of it is done - started it yesterday. Probably won't get any chance to work on it today. Guess what my issue is... you've guessed it, collision detection! I also need to adjust some animation mechanics.

  • Like 3
Link to comment
Share on other sites

Spent another couple of hours on it today, the v1 is complete!

 

Today I sorted out collision detection by copy pasting my code from Clay Pigeon Shooting - it seems I fail a lot at doing the same thing from scratch... copy paste code for the win....

Boxers now stop so they don't pass each other

Boxers punches now animate correctly and blocks moving while punching

Points now restricted so you have to take key off (so you can't hold button down to win)

Successful punches now knock the hit player back (if not against the ropes) and play a sound

 

Hopefully this is a bit of fun, 2 player only at the moment.

 

0026.png.93c4f0a1e97af329cbcd96167c016894.png

 

Controls

 

Use Up down left right to move your boxer. 

Use Clockwise Twist to punch with your boxers left hand

Use Counter-Clockwise Twist to punch with your boxers right hand

 

Goal is to punch the opponent boxer in the face to score points.

 

There is no end game in this just yet, but the score is good until you hit 999.

I'll likely add a timer and an end screen next time I work on this.

Wife wants me to do a "single player game with a storyline" so that might bloat it at some point!

The twists are done to "simulate" twisting your body, that's why right twist is left punch and left twist is right punch... get it?

Currently 2kb file.

 

boxingv1.bin

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

Damn, fantastic work as always Mike! It's been about a month since I mentioned the SD card Flashcart project. Life's been busy so not much progress I'm afraid. So far I have a working Videocart PCB that can input and output data with a 5V device using the 3.3V Pico. Made a 3D shell using e5frog's 3D Videocart files too. It seems to respond the same as a regular Videocart PCB when hooked up to an Arduino Due for testing. Unfortunately it's still got a few software bugs that prevent it from running on the real Channel F just yet. Problem with the F8 is that everything has to work to stay in sync with all the counters, so debugging it is going to be fun!

 

Some pics of the current Paperweight Videocart

 

Flashcartv0.thumb.png.844d7fcc3cebd88148b00e803d701420.png

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

12 hours ago, 3DMAZE said:

Damn, fantastic work as always Mike! It's been about a month since I mentioned the SD card Flashcart project. Life's been busy so not much progress I'm afraid. So far I have a working Videocart PCB that can input and output data with a 5V device using the 3.3V Pico. Made a 3D shell using e5frog's 3D Videocart files too. It seems to respond the same as a regular Videocart PCB when hooked up to an Arduino Due for testing. Unfortunately it's still got a few software bugs that prevent it from running on the real Channel F just yet. Problem with the F8 is that everything has to work to stay in sync with all the counters, so debugging it is going to be fun!

 

Some pics of the current Paperweight Videocart

 

Flashcartv0.thumb.png.844d7fcc3cebd88148b00e803d701420.png

Thanks 3DMaze, and wow, looks like the beginnings of something! My brain is fried understanding what is needed to do this hardware, I'll stick to slowly burning it learning assembly instead ? I wish you the best of luck given I would benefit greatly from any future SD card solution!

0030.png.a29b25be11e51ede2279ba1b0324879a.png

I have worked on Boxing again today making some massive amounts of improvements for v2:

 

A bug where blue player was hidden while red player held punch is fixed

A bug where blue players punch was one square visible still is fixed

Adjusted boundaries of the ring so its more square and compact, not technically square, but suitable I think for the gameplay. It also makes it compliant for tv's that don't show the full 102x62. Players start in equal positions on the screen as well. Corners are now coloured too.

Titlescreen added, woo! push fire button down to play on either controller.

A round now lasts 3 minutes with a timer onscreen, just as a heads up this is still just tick based on running a loop of the code - you can speed it up by shortening the code loop (holding punch down) or delaying it by pressing buttons (lazy code, I know, I need to work on that timer solution e5frog mentioned awhile ago now)

At the end of 3 minutes a bell sound plays.

You can restart the game after a finished round by pushing fire button down on either controller.

 

Game is now 4kb thanks to the extra features and the title screen. I did try to do a four colour version, but the converter wouldn't play nice with my 16 colour bmp! Arghhh!

 

I would appreciate any comments on this, anything they'd like to see changed, or new features, or bugs. I think this is my most "complete" game on the Fairchild Channel F yet.

 

boxingv2.bin

 

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

Very nice, I'm impressed!

 

There's a minimal amount of flicker when hitting but a lot of flicker when moving around. Is there anything you can do about that?
Sometimes it's enough to erase with a frame around the object (or just behind the direction you move) and draw over the previous image instead of erasing and then draw.


If hitting the other players fist they don't seem to redraw properly.

 

 

Converter uses the first eight colors in the bmp file, there are various types of bmp files, which makes things more difficult. The type it's programmed for is the one my paint program calls "Windows or OS/2 Bitmap", which is the one I found documentation for and I assume is the "normal" version. A GUI would have been cool but I tend to finish up in my drawing program and just convert it.


The order in the palette is black (background), blue, green, red, lt green, lt blue, lt grey and white. 

https://channelf.se/veswiki/index.php?title=Graphics_converter

All the background colors and the other eight colors will simply translate to bkg (%11). The white and blue to %10, red %01 and green %00.

 

 

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

11 hours ago, e5frog said:

Very nice, I'm impressed!

 

There's a minimal amount of flicker when hitting but a lot of flicker when moving around. Is there anything you can do about that?
Sometimes it's enough to erase with a frame around the object (or just behind the direction you move) and draw over the previous image instead of erasing and then draw.


If hitting the other players fist they don't seem to redraw properly.

 

 

Converter uses the first eight colors in the bmp file, there are various types of bmp files, which makes things more difficult. The type it's programmed for is the one my paint program calls "Windows or OS/2 Bitmap", which is the one I found documentation for and I assume is the "normal" version. A GUI would have been cool but I tend to finish up in my drawing program and just convert it.


The order in the palette is black (background), blue, green, red, lt green, lt blue, lt grey and white. 

https://channelf.se/veswiki/index.php?title=Graphics_converter

All the background colors and the other eight colors will simply translate to bkg (%11). The white and blue to %10, red %01 and green %00.

 

 

Yes, definitely some lazy code there from when I started it, I've redrawn it so it only does the edge of the moving space rather than emptying the whole player icon for movement.

I have kept it in for the hits for "effect"

 

Not sure about the hitting other fists... I wanted to maybe have a sound for hitting other boxers gloves, so might be able to sort it out when I do that.

 

I've tried a few programs, MS paint, Graphics Gale, BYOND and a couple of others. I can sort of get it working in Graphics Gale I think but it adds an extra header that I need to delete - except even then it doesn't appear right. MS Paint is a problem because it wants to decide my colours for me... I've tried a few things but it just keeps setting any other colour (for green and red on Channel F) to blue!

 

I've gone through it by hand and fixed it for now, so now the title is also in 4 colour glory.

 

Thanks for the comments!

 

0031.png.fd2764721777869435797fc8662c36b9.png

 

Download for latest version here:

boxingv3.bin

 

Also I produced a PDF file for a manual. I managed to print this with a double sided printer on A4 paper, that can be guillotined and stapled together. If anyone wants to know the settings to do so... just let me know!

INSTRUCTIONS FOR BOXING.pdf

Edited by Mikebloke
  • Thanks 1
Link to comment
Share on other sites

On 4/2/2022 at 4:44 AM, Mikebloke said:

Here's some of the stuff I've been working on recently:

 

0025.png.1aed3da7b6cb20dbc1c04d1019d43d63.png Auto Slalom - ok I haven't touched this since November and it shows! I do want to finish it though

 

0024.png.63c554bbd0d5b542cc27e747fb73164e.png This was the attempt at a platformer, I haven't tried messing with it again yet, which is also why its so small (plan is to make it bigger - it was reading the big amount of data that was a problem, another 'todo')

 

0023.png.7fc29e7a1f07d504d0bc9a4d6e5dd59d.png Tennis for two, some issues with getting it to serve, sometimes it works and other times it doesn't, then its about rebound mechanics. I'm currently struggling with managing this in different circumstances

 

0022.png.72ee4e7355da29697721b332b99c5c2a.png 'Minecraft' This is the game I'm working with my 5yo, silly little project but you never know, something might come out of it at some point

 

0021.png.0400e93580ed43833928ab7cec72a75a.png Space Race. This is nearly done. I can get collision detection working for 2 of my 8 'stars' but the second I try and get any others working it messes up. Collision detection is an issue for me.

 

0020.png.d49b220e8e80f865c58259fe5c2793f0.png Boxing, Most of it is done - started it yesterday. Probably won't get any chance to work on it today. Guess what my issue is... you've guessed it, collision detection! I also need to adjust some animation mechanics.

Great stuff and keep up the great work.

  • Like 2
Link to comment
Share on other sites

1179373940_200(1).gif.ca003f2f1a2077865fb9587ca852920b.gif

 

Finally got the damn thing to run, so now I have a working Videocart (that can be flashed) made from all new parts! @Mikebloke I hope you don't mind me using your boxing game to test my Videocart on a real Channel F. I thought it'd be cool to get some homebrew running. Also tested it with CCtro from the wiki. You can ignore any graphical glitches. I have two Channel Fs and my fully working one is currently disassembled, so I'm using the other one that's in need of repairs*. The games occasionally restart or glitch out on boot but pressing on the cartridge itself or reinserting it seems to fix it so it's most likely the janky Channel F. I'll be doing a lot more testing anyways.

 

Once I get this hardcoded version working satisfactorily I'll move on to making it work with an SD card. I'll probably do a hardcoded filename first, then move on to the far more difficult part of making a hot patching multi-menu (may God have mercy on my soul). I've never programmed Channel F games before so it'll be a bit of a learning curve.

 

* Speaking of repairs, anyone seen this before. It starts off with normal graphics, but they slowly get "eaten" starting from the right, leaving the screen in black or white. Possibly a bad socket/joint being affected by the Channel F heating up as it runs?

 

Apologies for the wall of text, lol. Any advice on repairs / how I'm going about this are always appreciated!

 

 

image.thumb.png.b6a4a4085c4cfcafe669d8907f5fa26a.png 

 

 

  • Like 2
  • Thanks 1
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...