Jump to content

Photo

Channel F


136 replies to this topic

#51 Tom OFFLINE  

Tom

    Moonsweeper

  • 455 posts
  • Location:Switzerland

Posted Fri Oct 22, 2004 2:38 AM

nevermind, found it myself :)

http://www.datasynceng.com

#52 Bruce Tomlin OFFLINE  

Bruce Tomlin

    River Patroller

  • 3,570 posts
  • CD C9 01
  • Location:Austin, TX

Posted Fri Oct 22, 2004 9:14 AM

I was curious and I took a look at the specs at Sean's page (http://members.cox.n...chanfspecs.html) and I am confident that the system is not harder to program than the 2600.

If you're only going to run games on emulators, that's fine. But after looking at how the F8 CPU works, it's going to be significantly harder to make a cartridge than even the Intellivision. Nowadays, we take data and address busses for granted, but back then, people were still trying wierd things. (Similarly, we now take 8^n-bit words for granted, but lots of old mainframes and minicomputers used weird word lengths like 12, 18, 24, and 36.)

#53 Blackbird OFFLINE  

Blackbird

    Chopper Commander

  • 135 posts

Posted Fri Oct 22, 2004 9:37 PM

nevermind, found it myself :)

http://www.datasynceng.com

Yep, that'd be it. I think the one I have is the older version, Cross-16 (1995), so that's probably better than the one I've looked at.

#54 SeanRiddle OFFLINE  

SeanRiddle

    Combat Commando

  • 6 posts

Posted Sun Oct 24, 2004 8:07 PM

Hi- David Galloway asked me to check out this thread. Pretty cool! A few months ago I only knew about 4 other people who were interested in the Channel F system.

I created a multigame cart for the system by hacking a Schach (chess) cart. That cart has the dynamic memory interface that creates a real address bus. I had to patch the Maze game since that cart had a 2102 SRAM, and you can't put in your own words in Hangman since I didn't patch that one, but all the other known carts work. I built a cart dumper using a PIC microprocessor and sent it to a couple of guys to dump their hard-to-find carts.

I originally wrote my multigame code by hand-patching Demo Cart 1. There's an F8 disassembler in MESS, and I'd hex edit the binary then disassemble it to make sure I did it right. Someone sent me an F8 assembler, but I can't distribute it. That's what I used to write Lights Out, then to rewrite the multigame code.

I've got a ton of documentation on the 3850 CPU, 3851 PSU (program storage unit), 3853 dynamic memory interface, as well as the F8 system itself. I've disassembled a bunch of the games, and found 3 easter eggs.

What's the goal here? To create an entire system from scratch, or just create some carts? It really isn't too tough to write code when you have an assembler; you just have to think a little oddly. The Channel F doesn't have any RAM that you can read; you have to use the F8's 64 scratchpad registers, which are a little wacky to access.

Sean

#55 ~llama OFFLINE  

~llama

    Moonsweeper

  • Topic Starter
  • 496 posts
  • temporary like Achilles
  • Location:Memphis

Posted Sun Oct 24, 2004 9:10 PM

Hi-  David Galloway asked me to check out this thread.  Pretty cool!  A few months ago I only knew about 4 other people who were interested in the Channel F system.


Well, now there are... eight :D

I created a multigame cart for the system by hacking a Schach (chess) cart.  That cart has the dynamic memory interface that creates a real address bus.  I had to patch the Maze game since that cart had a 2102 SRAM, and you can't put in your own words in Hangman since I didn't patch that one, but all the other known carts work.  I built a cart dumper using a PIC microprocessor and sent it to a couple of guys to dump their hard-to-find carts.


Well... what exactly would creating new cartridges for the system entail? I'm not understanding what Bruce Tomlin means by "the program counter has to be on the ROM..." I know what a program counter is, but I just can't get my head around actually putting in on a cart...

I originally wrote my multigame code by hand-patching Demo Cart 1.  There's an F8 disassembler in MESS, and I'd hex edit the binary then disassemble it to make sure I did it right.  Someone sent me an F8 assembler, but I can't distribute it.  That's what I used to write Lights Out, then to rewrite the multigame code.


Well I think we can use Bruce's F8 assembler for now, the only issue I see with it is that it doesn't produce binary output... what tools would I use to turn the hex file into a raw binary? Also... I propose we take the code to either Bruce's F8 assembler or another custombuilt assembler and have it be our DASM, our default assembler... maybe we can call it Fate (get it? a pronunciation of "Feight")

I've got a ton of documentation on the 3850 CPU, 3851 PSU (program storage unit), 3853 dynamic memory interface, as well as the F8 system itself.  I've disassembled a bunch of the games, and found 3 easter eggs.


Is this documentation available anywhere for me to look at? That'd be wonderful...

What's the goal here?  To create an entire system from scratch, or just create some carts?  It really isn't too tough to write code when you have an assembler; you just have to think a little oddly.  The Channel F doesn't have any RAM that you can read; you have to use the F8's 64 scratchpad registers, which are a little wacky to access.


Well, the goal here is to start a homebrew development community, get some working games, some fun and exciting stuff made, fun to play... and maybe if it's not too ridiculous AtariAge could sell new homebrew Channel F carts? sounds like that might be a stretch but at least some new games to play in emulation and a better understanding of the limits of the Channel F and exactly what it can do :D

Thanks! it was really good to hear from you, hopefully you'll stick around? Join the mailing list if you want :D

#56 ~llama OFFLINE  

~llama

    Moonsweeper

  • Topic Starter
  • 496 posts
  • temporary like Achilles
  • Location:Memphis

Posted Sun Oct 24, 2004 9:46 PM

Can someone PM me the ROMs I need to emulate the Channel F in MESS?

Thanks :D

#57 SeanRiddle OFFLINE  

SeanRiddle

    Combat Commando

  • 6 posts

Posted Sun Oct 24, 2004 10:07 PM

Kevin- The 3850 has two 8-bit ports built-in, so to make things fit into a 40-pin package, there is no address bus. The 3851 PSU is more than just ROM- it takes 5 signals from the CPU and generates its own internal address bus. The 3853 static memory interface (I typoed in my last message) takes those 5 signals and creates an address bus for you. So you either need a 3853 or a functional equivalent in a cart. Those 5 signals allow for 32 different states, some of which change the address bus, and others that don't, so it's pretty complicated to make your own. I hacked an existing cart that has the 3853 and uses standard ROM and RAM. Some other, more common, carts also have a 3853, but it is just the die bonded to a printed circuit board, so it would be tough to work with.

Bruce also has makerom.c on his site, which converts the Intel hex format into straight binary.

I will gather the documentation together and put it on a web site. Check out my website for some info if you haven't already: http://members.cox.n...ddle/chanf.html.

Channel F systems and carts sell pretty well on ebay. I'm not sure if new carts would sell, but probably a few. It is fun to write a new program for a long-dead platform. Do you call that anachrogramming?

Sean

#58 NovaXpress OFFLINE  

NovaXpress

    Skeet Shooter

  • 10,745 posts
  • Still Smokin'
  • Location:Dark Side of the Moon

Posted Sun Oct 24, 2004 10:16 PM

Sean, your webpage is what kicked off this little Channel F fan club. It was your discovery of the first easter egg (now we know it wasn't Adventure) that started all this conversation. Now the old Fairchild fans are coming out of the woodwork. I remember the system well and it has the same kind of historical and nostalgic fascination for me that the 2600 does. I hope that more people will come to understand the importance of the first programmable system ever made.

#59 ~llama OFFLINE  

~llama

    Moonsweeper

  • Topic Starter
  • 496 posts
  • temporary like Achilles
  • Location:Memphis

Posted Sun Oct 24, 2004 10:22 PM

Kevin- The 3850 has two 8-bit ports built-in, so to make things fit into a 40-pin package, there is no address bus.  The 3851 PSU is more than just ROM- it takes 5 signals from the CPU and generates its own internal address bus.  The 3853 static memory interface (I typoed in my last message) takes those 5 signals and creates an address bus for you.  So you either need a 3853 or a functional equivalent in a cart.  Those 5 signals allow for 32 different states, some of which change the address bus, and others that don't, so it's pretty complicated to make your own.  I hacked an existing cart that has the 3853 and uses standard ROM and RAM.  Some other, more common, carts also have a 3853, but it is just the die bonded to a printed circuit board, so it would be tough to work with.


So basically it's impossible to make a new cartridge playable for the Channel F without hacking up an old cartridge with a 3853 on it? That sucks...

I'm not sure if new carts would sell, but probably a few.


Well... I'd buy one of my own games :)

It is fun to write a new program for a long-dead platform.  Do you call that anachrogramming?

Well... you could call it anachroprogramming, retroprogramming, im-a-really-big-nerd-programming, or... Channel F-icizing.

#60 SeanRiddle OFFLINE  

SeanRiddle

    Combat Commando

  • 6 posts

Posted Sun Oct 24, 2004 10:37 PM

OK, here's a page with links to a bunch of info: http://members.cox.n.../chanfinfo.html

Kevin- I know one guy who is thinking about programming an FPGA to replace the 3853. I considered it, but it seemed too tough for me. I think I could do it with a small FPGA and a PIC microcontroller, or maybe just a big PIC.

NovaXpress- so are you saying that the Easter egg in the demo cart predates any other known egg? That's pretty cool!

Sean

#61 ~llama OFFLINE  

~llama

    Moonsweeper

  • Topic Starter
  • 496 posts
  • temporary like Achilles
  • Location:Memphis

Posted Sun Oct 24, 2004 10:51 PM

OK, here's a page with links to a bunch of info: http://members.cox.n.../chanfinfo.html

Kevin- I know one guy who is thinking about programming an FPGA to replace the 3853.  I considered it, but it seemed too tough for me.  I think I could do it with a small FPGA and a PIC microcontroller, or maybe just a big PIC.


Well... thanks for the documentation :) I'll look over it- I'm about to go work on other stuff for the rest of the night so I'll check in tomorrow. Join the list! you'd be the only guy there who's actually written a game for the system (which, btw, is really challenging in "torus" mode :D)... sorry if it seems like i'm badgering you into the list but your site, like NovaXPress said, is the whole reason this movement is beginning to exist...

#62 Tom OFFLINE  

Tom

    Moonsweeper

  • 455 posts
  • Location:Switzerland

Posted Mon Oct 25, 2004 2:37 AM

Well I think we can use Bruce's F8 assembler for now, the only issue I see with it is that it doesn't produce binary output... what tools would I use to turn the hex file into a raw binary?


srecord is neat to convert between intel-hex, motorola s-record and the likes.

http://srecord.sourceforge.net

#63 djmips OFFLINE  

djmips

    Dragonstomper

  • 608 posts
  • scrolling
  • Location:Seattle

Posted Mon Oct 25, 2004 4:26 AM

There has been some talk about various assemblers. Tasm with a custom table, Bruce's F8 or writing one from scratch, and even of having 'our DASM'. After looking at DASM, it turns out that DASM is actually a multi CPU cross assembler (now that's why I have to put processor 6502 at the top of my 2600 files). Judging from the source it seems like it supports 6303, 6502, 6811 and 68705. Now I have not done the analysis but I'm betting that it could be adapted to handle the F8. Just to be clear, DASM is available as source. Then all we'd have to do is put processor F8 at the top of our files.

David G.

#64 Andrew Davie OFFLINE  

Andrew Davie

    Stargunner

  • 1,583 posts
  • Dr.Boo
  • Location:Tasmania

Posted Mon Oct 25, 2004 6:37 AM

There has been some talk about various assemblers. Tasm with a custom table, Bruce's F8 or writing one from scratch, and even of having 'our DASM'. After looking at DASM, it turns out that DASM is actually a multi CPU cross assembler (now that's why I have to put processor 6502 at the top of my 2600 files). Judging from the source it seems like it supports 6303, 6502,  6811 and 68705. Now I have not done the analysis but I'm betting that it could be adapted to handle the F8. Just to be clear, DASM is available as source. Then all we'd have to do is put processor F8 at the top of our files.

David G.



I'm the current maintainer of DASM, and I would be happy to assist in getting this assembler up to speed for you F8 fans. DASM is indeed a multi-processor assembler! Contact me privately if you wish to proceed this route.

Cheers
A

#65 NovaXpress OFFLINE  

NovaXpress

    Skeet Shooter

  • 10,745 posts
  • Still Smokin'
  • Location:Dark Side of the Moon

Posted Mon Oct 25, 2004 6:46 AM

NovaXpress- so are you saying that the Easter egg in the demo cart predates any other known egg? That's pretty cool!

Yes indeed. I found your page while looking for Video Whizball information and was shocked to see your discovery. Everyone thought that Warren Robinett did it first so you've helped to rewrite video game history.

Here's the thread that discusses your find:
http://atariage.com/...pic.php?t=59087

#66 MrRetroGamer OFFLINE  

MrRetroGamer

    River Patroller

  • 2,366 posts
  • Location:NYC, NY

Posted Mon Oct 25, 2004 10:27 AM

NovaXpress- so are you saying that the Easter egg in the demo cart predates any other known egg? That's pretty cool!

Yes indeed. I found your page while looking for Video Whizball information and was shocked to see your discovery. Everyone thought that Warren Robinett did it first so you've helped to rewrite video game history.

Here's the thread that discusses your find:http://atariage.com/forums/viewtopic.php?t=59087


Actually I posted info in a thread earlier this year (April) about much of this: 8)

http://atariage.com/...?t=44963#596297

#67 Bruce Tomlin OFFLINE  

Bruce Tomlin

    River Patroller

  • 3,570 posts
  • CD C9 01
  • Location:Austin, TX

Posted Mon Oct 25, 2004 12:26 PM

Well... what exactly would creating new cartridges for the system entail? I'm not understanding what Bruce Tomlin means by "the program counter has to be on the ROM..." I know what a program counter is, but I just can't get my head around actually putting in on a cart...

That's because the F8 bus is completely different from anything you've ever seen before. There is no program counter in the CPU. They decided that a separate program counter should be contained in every memory chip, all keeping track of the same states.

Well I think we can use Bruce's F8 assembler for now, the only issue I see with it is that it doesn't produce binary output... what tools would I use to turn the hex file into a raw binary?

If you look at the next line on the same web page, you'll see something called "makerom". This will convert the .hex file to a binary image.

#68 SeanRiddle OFFLINE  

SeanRiddle

    Combat Commando

  • 6 posts

Posted Mon Oct 25, 2004 2:00 PM

NovaXpress- so are you saying that the Easter egg in the demo cart predates any other known egg? That's pretty cool!

Yes indeed. I found your page while looking for Video Whizball information and was shocked to see your discovery. Everyone thought that Warren Robinett did it first so you've helped to rewrite video game history.

Here's the thread that discusses your find:http://atariage.com/forums/viewtopic.php?t=59087


Actually I posted info in a thread earlier this year (April) about much of this: 8)
http://atariage.com/...?t=44963#596297



Well, the Channel F demo cart is copyrighted 1977, but it wasn't a game, and it wasn't for sale. Video Whiz Ball is copyrighted 1978; wasn't Adventure also 1978? So which was first? Also, there were a whole lot more Adventure carts sold than Video Whiz Ball!

Fredric Blaholtz (the supreme Channel F collector) wrote the author of Video Whiz Ball and Alien Invasion a couple of times. Brad ReidSelth responded with some information: Video Whizball was written for Fairchild. The game idea was the result of a contest- the winner got a color TV. Alien Invasion was written in 1981 for Zircon.

Brad says that he hid the egg code as data statements within graphics tables to avoid detection. The programmers knew that hidden things were being put into games at Atari and Activision (he did not mention Adventure), and his superiors told the Fairchild programmers not to do that. He didn't know about the egg in the demo cart, but he knew the programmer.

So unless he is misremembering, it sounds like his egg in Video Whiz Ball came after the Adventure egg. But possibly VWB was released before Adventure? I'm not up on my Atari history, but Activision wasn't created until '79, right? That's after VWB was released, so I think he must be confusing some of the timeline (it was over 20 years ago!)

Sean

#69 NovaXpress OFFLINE  

NovaXpress

    Skeet Shooter

  • 10,745 posts
  • Still Smokin'
  • Location:Dark Side of the Moon

Posted Mon Oct 25, 2004 3:19 PM

Adventure was released in 1980, so it looks like Video Whizball gets the crown.

As far as anyone knows, there were never any easter eggs in Activision carts because they gave credit to their programmers.

#70 ~llama OFFLINE  

~llama

    Moonsweeper

  • Topic Starter
  • 496 posts
  • temporary like Achilles
  • Location:Memphis

Posted Mon Oct 25, 2004 7:19 PM

That's because the F8 bus is completely different from anything you've ever seen before.  There is no program counter in the CPU.  They decided that a separate program counter should be contained in every memory chip, all keeping track of the same states.


Ah. Upon reading the 3851 documentation and the F8 programmer's guide I get it. I guess we'll just have to work that one out later.

#71 Classic Pac OFFLINE  

Classic Pac

    River Patroller

  • 3,078 posts
  • Location:Chicago,IL

Posted Tue Oct 26, 2004 10:40 AM

I may not be in the Channel F but I've heard plunty from those who actually programmed those games. According to them the F doesn't stand for fun is stood for **** (you fill in those 4 letters). They simply hated it. One of them I think became a monk.

#72 Bryan ONLINE  

Bryan

    Quadrunner

  • 8,510 posts
  • Cruise Elroy = 4DB7
  • Location:Puriscal, Costa Rica

Posted Tue Oct 26, 2004 6:40 PM

So how much CPU time do you actually get with the Channel F? The games I've seen seem pretty slow. Also, is there any mechanism to determine when vertical blank is?

-Bry

#73 SeanRiddle OFFLINE  

SeanRiddle

    Combat Commando

  • 6 posts

Posted Tue Oct 26, 2004 10:41 PM

So how much CPU time do you actually get with the Channel F? The games I've seen seem pretty slow. Also, is there any mechanism to determine when vertical blank is?

    -Bry


Bryan-

It's not super-fast, but some of the games are pretty snappy. If you've only used the old MESS emulator, it was running too slow until a few months ago. Now it seems to be pretty close to actual speed.

I don't think there's any way to detect vertical blank. Just plotting points on the screen requires jumping through some hoops for timing reasons. Check out the Tetris and Lights Out code on my page.

Sean

#74 Bryan ONLINE  

Bryan

    Quadrunner

  • 8,510 posts
  • Cruise Elroy = 4DB7
  • Location:Puriscal, Costa Rica

Posted Wed Oct 27, 2004 6:42 AM

Sean,

Thanks, and I'm really glad to see you here. I used to really be into the classic arcade scene, and always enjoyed your website. I had to quit lugging all that stuff around for a while, but I really miss my Q*Bert and my Joust. :)

-Bry

#75 ~llama OFFLINE  

~llama

    Moonsweeper

  • Topic Starter
  • 496 posts
  • temporary like Achilles
  • Location:Memphis

Posted Wed Oct 27, 2004 9:16 PM

Just a quick update, this discussion about assemblers and such lives on in the [channelf] list... and at the moment Thomas Mathys has almost completed adding F8 support to DASM, which is a big boost because all of you Atari hackers already know all the DASM directives and macro declaration syntax and such... he says that at this point his F8-icized DASM is assembling Sean's lights.asm to the exact same binary as the f8tool used by Sean for his downloadable binary... No word yet on when this all will be finished but soon we will have a wonderfully powerful assembler to use for Channel F development.

Stay tuned for a probably public release of DASM/F8 and then lots of cool Channel F stuff :D




0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users