Jump to content
IGNORED

Who's up to convert Time Pilot for the 5200???


BIGHMW

Recommended Posts

On 11/9/2020 at 3:26 AM, x=usr(1536) said:

Time Pilot requires 64K of RAM in order to run on the A8, the 16K that the 5200 has can't meet the minimum

Why would a game need so much RAM ? 

 

On a computer I can understand that this amount of RAM would be required to load the game, but why on a console (running the game code from ROM)?

 

 

 

Link to comment
Share on other sites

 

On 12/12/2020 at 7:24 PM, Lynxpro said:

 

That could be resolved with a 64K/128K+ board that plugs into the ANTIC socket and then the homebrew programmers decide to a standard mapping address for it. Like the XBoard for the 7800 but much popular due to the sockets on the 5200 mobo. It would be as easy as plugging in a Sofia board.

Wouldn't something that plugs into the expansion port potentially do the job as well?  I know I've seen variations on that idea mentioned on this forum a few times.  I'd think that ouold get a lot more users than something that requires taking apart the system would.  I mean, replacing a socketed chip is not hard since no soldering is involved, but would enough people want to do it?

  • Like 1
Link to comment
Share on other sites

On 11/9/2020 at 7:26 AM, x=usr(1536) said:

Not to burst your bubble, but given that Time Pilot requires 64K of RAM in order to run on the A8, the 16K that the 5200 has can't meet the minimum specs.

 

20 hours ago, Danjovic said:

Why would a game need so much RAM ? 

On a computer I can understand that this amount of RAM would be required to load the game, but why on a console (running the game code from ROM)?

Hi! Here's the one of the developers of A8 clone.

Our Time Pilot uses almost all available RAM because it has a lot of assets for all the levels. It does not need to be RAM. It can be placed in ROM easily. I roughly estimate that I would need for that a cartridge with about 64 kB of ROM with some banking. I'm not an expert in 5200 cartridge types, so is it possible to produce a cartridge with few 16kB banks?

 

 

  • Like 2
Link to comment
Share on other sites

5 hours ago, laoo said:

is it possible to produce a cartridge with few 16kB banks?

I don't know it the 5200 has a standard bank switch, but if I were going to design a BS cartridge with 16K chunks with minimum hardware I would use the chip select line for the low ROM to write to a latch and ran the bankswitch code from RAM. A latch with 8 bits would provide up to 256 banks of 16k. I can draw some schematics, so let me know if that makes sense to you.

  • Like 1
Link to comment
Share on other sites

On 11/9/2020 at 1:26 AM, x=usr(1536) said:

Not to burst your bubble, but given that Time Pilot requires 64K of RAM in order to run on the A8, the 16K that the 5200 has can't meet the minimum specs.

 

While it may be possible to do this via an Atarimax or similar, that device costs $130, which is a lot of money to spend to play just one game that can already be found on the A8.

 

I wouldn't expect to see a 5200 version anytime soon.

But how much of that 64K is static code?   It might be that the parts that need to be altered at runtime can fit in 16K, and the rest can go on a bank-switched cart.   Should also point out than in the 8-bit world, a 64K game isn't necessarily using all 64K,  but if it's messing in the upper 16K bank under the OS, then it will only run on systems that have 64K.    Someone would need to analyze the code to see if it's doable.

 

Edit:  I see one of the developers answered my question two posts above

Edited by zzip
Link to comment
Share on other sites

30 minutes ago, Danjovic said:

I don't know it the 5200 has a standard bank switch, but if I were going to design a BS cartridge with 16K chunks with minimum hardware I would use the chip select line for the low ROM to write to a latch and ran the bankswitch code from RAM. A latch with 8 bits would provide up to 256 banks of 16k. I can draw some schematics, so let me know if that makes sense to you.

Sorry I don't follow. 5200 has 16 kB of RAM space and 32 kB of cartridge ROM space. You mean that there should be some code in RAM and the whole 32 kB space would be banked? It's doable but somewhat harder to sqeeze essential code to RAM. From the programmer perspective it's much easier to have two independent ROM areas. For example addresses $4000-$7fff could be static and $8000-$bfff banked (or vice versa). Or both banked independently but it's not crucial. I was thinking a little about it and on A8 we did sprite preshifting between levels. It can't be done on cartridge so all data must be already preshifted in ROM, so I think that 8 * 16kB banks could be needed.

 

Link to comment
Share on other sites

I was thinking in terms of circuitry. The 5200 cartridge port have two chip select lines for two 16K address ranges, being /Y1 for $4000..$7FFF and /Y2 for $8000 to $BFFF.

 

There should always be ROM on $8000 to $BFFF (16K games), but the range $4000 to $7FFF is optional (for 32 K carts).
Then, it might be possible to use the low addressing chip select to activate a latch that would then switch the upper bank. Such scheme should be possible to be implemented with 1 logic chip plus some passive components (and of course the ROM chip).

 

A bank-switch with a fixed bank and  switchable chunks would require you to implement a decoding scheme, and that would raise the logic chip count to 3 or 4 (let alone the ROM), which is not something so bad, but as I've said I don't know the schemes for bank-switch on 5200 system.

 

Either way though it is possible to perform bank switch without involving RAM, just like the 2600 did, it is also possible to copy a few bytes to perform a bank-switch to RAM area, then you have freedom to jump everywhere in your ROM bank, and that might allow you to call subroutines anywhere on the banked slices.

 

 

 

  • Like 1
Link to comment
Share on other sites

Do I understand you correctly that you are talking about a scheme where there is banked ROM at $8000-$7fff and nothing at $4000-$7fff and to switch the bank one needs to write a bank number to for example $4000?

If so I would need a loooot of such banks because there need to be massive duplication of data between banks. What would be cheaper? Smaller ROM with 3-4 logic chips or 1 logic chip with a bigger ROM?

 

 

Link to comment
Share on other sites

3 hours ago, laoo said:

Do I understand you correctly that you are talking about a scheme where there is banked ROM at $8000-$7fff and nothing at $4000-$7fff and to switch the bank one needs to write a bank number to for example $4000?

That's what I had in mind. A single latch with power up reset addressed by /Y1 and reset by a RC-network on startup

 

image.thumb.png.14c43fe8679d6887ba745562832c67b3.png

3 hours ago, laoo said:

If so I would need a loooot of such banks because there need to be massive duplication of data between banks. What would be cheaper? Smaller ROM with 3-4 logic chips or 1 logic chip with a bigger ROM?

A latch with 6 bits (LS174) would render up to 64*16K=1Megabyte. Using 8 bits (LS273) would render 4Mbytes. In either case It would be a single ROM chip. If PDIP chips are required the 39SF040 can be found relatively cheap and it can provide 512Kbytes.

 

I will think about a cheap hotspot that would provide fixed bank at $8000-BFFF and switchable at $4000-7FFF, but as you can see there are other alternatives.

 

 

 

Link to comment
Share on other sites

And that would constitute a cheap 512K bank-switch cart, with last 16K of the ROM fixed at $8000-BFFF and all full 32 slices available at $4000-7FFF.

 

Hotspot address have a range of 32 addresses with base address set by address lines A12-A5 depending upon the state set (hardwired) on inputs Q0-Q7 of the comparator (LS688). In practice it is possible to set the base address in the range of $8000 to $DFE0. A small RC network was added to guarantee that the address lines are stable at the moment the latch will capture the slice address.

Rom chip is active whenever /Y1 or /Y2 is active, which means from $4000 to $BFFF

Whenever /Y2 is active(low), the Latch output is disabled (3 state) and the upper address lines are pulled up by the resistor network (fixed bank)

 

image.thumb.png.eec8f50a5960206472dc06fdc1fdaf3a.png

 

 

Link to comment
Share on other sites

23 hours ago, A Black Falcon said:

 

Wouldn't something that plugs into the expansion port potentially do the job as well?  I know I've seen variations on that idea mentioned on this forum a few times.  I'd think that ouold get a lot more users than something that requires taking apart the system would.  I mean, replacing a socketed chip is not hard since no soldering is involved, but would enough people want to do it?

 

The 5200 Expansion Port doesn't have enough bandwidth to get the job done with extra RAM or other intense upgrades. It was designed to plug a musical keyboard into and not much else.

Link to comment
Share on other sites

A cartridge with fixed 16kB in one block and banked 16kB in other block would be perfect. I'm not sure how much ROM should be enough, because when there are more space available one could employ faster algorithms. The sprite drawing on A8 isn't super fast as I had to squeeze it to 64kB. With more memory some code could be unrolled to maximize drawing speed, so in essence the game could be much faster on such cartridge. There are 5 levels so there are 3 banks per level on 256 kB cart and 6 on 512 kB and I don't know yet whether there could be any gain with doubling the number of banks.

Now it's a matter whether enough people could be interested with such cartridge to invest the time and effort to produce the cartridge and to port the game - from programming perspective it's not trivial as the code must be redesigned to use the banks instead of flat memory.

 

Link to comment
Share on other sites

On 12/15/2020 at 1:00 PM, laoo said:

Now it's a matter whether enough people could be interested with such cartridge to invest the time and effort to produce the cartridge and to port the game - from programming perspective it's not trivial as the code must be redesigned to use the banks instead of flat memory.

 

No interest, no port, no problem. ;) 

  • Haha 3
  • Confused 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...