Jump to content
  • entries
    4,944
  • comments
    2,718
  • views
    1,808,431

Awakening


atari2600land

374 views

So I finally fell asleep at 2 a.m. I purposely wanted to wake up at 10:00 a.m. for eight hours of sleep (Instead of my normal 12-14). Eight hours later, I awaken, and I'm sleepy. But now that I've been awake for half an hour, I'm not as sleepy, but it's still hard. I guess I really didn't need half a days' worth of sleep. But if not, why did I not wake up?

 

One of the things I worked on last night was Quest of the Cranberry for the Channel F. I added two more digits to the passcode. I also discovered the largest game I can make is 62k. Which seems odd. The last byte's position is $ffff, which when divided by 1,028, yields 63. I don't know what's going on. Oh well. At least the thing works. I looked at the size of previous versions of Trimerous and they are all 62k.

 

Now that I have two extra digits in the passcode, I can make the game bigger with more levels. But ideas seem sparse at the moment. Right now the game is sort of like "Frank the Fruit Fly" on the Channel F, complete with health %. One of the things I can't do is keep the health % when the player enters a passcode, so it begins with 99%, even when the player has, say, 2% health. I guess that is a way to cheat with the game, but I would like it to be somewhat finishable, so I'm going to make it stay like that. Or, I guess I could make an extra six digits for the health.

 

Say the health is at 92%. Nine in binary is %1001. I could make it so nine equals pressing button one, four, one at the end. The extra one would have to be there because of the three buttons needed for 7, which is %0111. Then, for the two, the player presses buttons 2, 1, and 1 (two extra button presses, again, in case the number is 7.)

  • Like 1

2 Comments


Recommended Comments

Without knowing the Channel F by heart, I would assume either you have some small BIOS, other form of memory or I/O somewhere in the memory space, so out of the theoretical 65536 addresses, you can only use 64512 = 63K (one kilobyte is 1024 bytes, not 1028 as you calculated with).

 

Regarding your numbers and keypresses, I'll admit I don't understand a word of what you write, but in your subsequent blog entry you tried to work with duplets of bits. I think working with nibbles of four bits each make more sense, just like you mention here that 9 equals %1001. With duplets you can only represent digits 0-3. Of course %10 %01 should be read as 2 * 4 (one more than the base can represent) + 1. In a similar fashion, %10 %10 %01 would be 2 * 4 * 4 + 2 * 4 + 1 = 41. It means for each duplet reading from let to right, you shift twice times how many duplets you are supposed to read. Now I don't know if what I'm writing will make any sense neither. ?

Link to comment

Built in reset routine and games are 2KiB hardwired at the start of the address space, so only $0800-$FFFF is available to the user. Free space to the user, with no tricks, is 62KiB which means 62*1024 = 63488, which is probably why someone came up with "Ki" or "K" as 62kB could be (correctly) interpreted as 62000 bytes .


Trimerous actually has 42009 unused bytes, there's a gap because MAME/MESS has a fixed "Chess RAM" area, so to be able to test it in said emulator it needs to be skipped, no data is loaded there (for some odd reason) even if binary file has it. Almost all of the second half of trimerous is unused space.

It's quite possible someone editing MAME/MESS could allow loading data into the "Chess RAM" area, that would help a lot, ideally it should allow configurable RAM in any area, like some other systems. 


If more than 62KiB (63488 Bytes) is needed, you can add more using a bank switch configuration - like the Multi-Cart has. It will however not be possible to test the entire thing in MESS/MAME though as it only emulates the normal address space and no special bank switching methods - unfortunately.

Maybe if we present a fileformat like .chf that is based on .crt or similar with a header and where you can set type and blocks in the file - that would solve the problem as soon as it would be supported by emulator(s). 
Channel F programming community isn't as large as other formats though...   ;-)

 

 

 

 

Link to comment
Guest
Add a comment...

×   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...