Jump to content

Recommended Posts

Hi @candle,

How is the RAM accessed from the Atari ?

Is there something like the MyIDE II KeyHole (RAM seen through 128 bytes mapped at $D580 to $D5FF) which is a quite clever way to access RAM without switching the whole 8KB ?

 

  • Like 1

Share this post


Link to post
Share on other sites

with current implementation it is 8/16k controlled with 2 window registers

having to access 2mbytes of ram through 128 byte wide window would be insane

why one would want that?

seriously - i'm curious what could be the use case here

RAM was added as a way to store cartridge data fast from SD card

with dma it should allow 1.6mbytes/s so you could keep flash for something more important than random cartridge images

 

  • Like 1

Share this post


Link to post
Share on other sites
55 minutes ago, candle said:

with current implementation it is 8/16k controlled with 2 window registers

having to access 2mbytes of ram through 128 byte wide window would be insane

why one would want that?

seriously - i'm curious what could be the use case here

RAM was added as a way to store cartridge data fast from SD card

with dma it should allow 1.6mbytes/s so you could keep flash for something more important than random cartridge images

Minimal footprint ram/flash disk for use with software that can't tolerate RAMTOP being lowered by the cartridge apertures. With the screen in that region the cartridge windows can't be enabled without either scrambling the display or very slowly only during vertical blank.

 

Share this post


Link to post
Share on other sites

ok, but for 2mbytes it would require 14 bit register

data port with autoincrement would be more efficient here, or not?

 

Share this post


Link to post
Share on other sites
19 minutes ago, candle said:

ok, but for 2mbytes it would require 14 bit register

data port with autoincrement would be more efficient here, or not?

 

More efficient for bulk data transfer. Probably less efficient for random access data like a sector lookup table and not viable for executing code directly from the cart. The last one is difficult with only one small window -- I'm not sure if anyone actually does it with the MyIDE-II keyhole window. If only the cartridge port had all the address bits. 😕

Share this post


Link to post
Share on other sites
7 hours ago, candle said:

with current implementation it is 8/16k controlled with 2 window registers

having to access 2mbytes of ram through 128 byte wide window would be insane

why one would want that?

seriously - i'm curious what could be the use case here

RAM was added as a way to store cartridge data fast from SD card

with dma it should allow 1.6mbytes/s so you could keep flash for something more important than random cartridge images

 

 

@phaeron already replied with the main advantages but I want to explain in more details what I did for MyIDE II

I made a special version of ENV.SYS, RAMDISK.SYS, DOSKEY.SYS, MyIDE.SYS and a new tool called HISTORY.

Take the RAMDISK for example, with 128 bytes per sectors, the 128 byte window is just perfect.

And the code to handle that is probably the most simple of any ramdisk.

No computation of memory address from the sector number and the data are always at $D580.

MyIDE has a myriad of small routines. I put each one in a different block of 128 bytes.

Huge work but once done, the memory footprint of the driver is sooo tiny.

My new tool HISTORY keeps the lines that are scrolled out of the screen so that you can come back in previous screens to read what is not on the current one anymore.

This is a perfect candidate:

When I store the 'almost' lost line (40 bytes - not compatible today with the 80 columns), I use the 128 byte keyhole to store it.

No perturbation of the whole 8K, the screen or whatever.

And when I want to show the previous screen, then I use the 8K bank to access the data of a previous screen.

 

With all these drivers rewritten, I can have a full featured SDX without extended memory.

With the 'stock' SDX, ENV.SYS, DOSKEY.SYS and RAMDISK can only run with extended memory.

 

Here is my tight integration of SDX with MyIDE II.

 

But forget the technical details one moment.

If you add it, many other guys will find a different purpose for it (me first).

I think the original Atari hardware designers could not imagine what could be done in software with their hardware (using ANTIC/GTIA/POKEY).

If the hardware is designed in an open way, software engineer can go further and innovate on top of the great hardware.

The Keyhole is in the same spirit.

The 'miracle' of the Keyhole is that, even if it is very small, it is located at a memory location which is never used AND it can be locked (make the RAM read-only)

So, no, this is not "insane" but this is just my opinion of course.

 

  • Like 4

Share this post


Link to post
Share on other sites

Hi Sebastian!

It's good to hear you here again!

 

I am not an hardware guy therefore I cannot give you techical advices.

 

At the moment a very good cart is AVGCart.

It would be nice if Side3 had its features.

Perhaps the ones missing on Side2 are

- CAR and limited ATR compatibility (without U1MB installed).

- two buttons (for reset and disk swap)

 

AVGCart has an excellent loader with search functions too.

Share this post


Link to post
Share on other sites
10 hours ago, candle said:

having to access 2mbytes of ram through 128 byte wide window would be insane

why one would want that?

seriously - i'm curious what could be the use case here

 

The keyhole feature of MyIDE hardware is one of the smartest and most unique features ever seen on an a8 add-on. One of the powerful sides of this is that it gives you more flexibility when it comes to run a 'hacked' cart on MyIDE 2 (or in your case SIDE3 if it had this feature). Why? You could use this 128 bytes window to have 'bankswitching code' so it does not have to stay somewhere in RAM where it probably will be overwritten. Some existing carts do not have space in the DATA-block to make an easy 'hack' for bankswitching, but you could easily hack a cart to JMP to this keyhole RAM window, where you put your bankswitching code and do a JMP back to the cart. There is no 'unexpected' bankswitching needed, keyhole can be switched independently from any active bank. 

 

Another use could that you could do a 'live' change of code in the cart data, without the need of bankswitching. 

 

Please try to listen to requests from users. That could make your product really awesome. Have seen enough hardware people not doing that, ending up with another device that has 90% of the features everybody wants and 10% lacking them. Let's talk a bit more about MyIDE 2. MyIDE is (for me) one of the best devices. Especially the fact that it runs a lot of carts (in stead of XEX). It is a very versatile device, sometimes called a swiss army knife. Although I am very enthusiastic about MyIDE 2, it lacks a reset button (a real dealbreaker... no reset buton argh?) and it lacks a real time clock (not a real dealbreaker, but still pity). MyIDE 2 comes with a FLASH-RAM based menu, which let you store all kind of other stuff. It can be programmed with the AtariMax programmer. It is a nice system, in a very nice cartridge case.

 

SIDE2: fabulous device. It has the button, it has the RTC, but it doesn't do the carts like MyIDE 2 does. SIDE2 is even more powerful with U1MB installed, but I am always looking for solutions that run best on stock a8. The loader FJC created really adds something to SIDE2. It has some very powerful and unique features which makes it very hard for me to decide which device is most suitable for my needs. When I had to stick with one (non U1MB) atari, I would pick MyIDE though. 

 

And besides that... a lot of people were (in the past) picking on custom OS's like MyBIOS. I do not understand that. I wished there was a very good custom OS for SIDE2.  You can say whatever you want about it, but thanks to MyBIOS in flash one is even able to boot a lot of ATR's on a stock Atari. One can boot several non SDX DOS types and do read/write on those disks and partitions. Of course it is not 100% compatible, and I wished Mr. Atari moved to the more standard APT, but so far I haven't seen any other device with a replacement OS (which you do not need to use of course).

 

So to be short. My advice is: listen to the users, talk to them, investigate what they want/need. Another important part in projects like this is: work together with people who write software. Take that outstanding U1MB bios or SIDE2 loader FJC wrote. If I was creating a SIDE3 I would let FJC in the project from the beginning. I am sure he did run into some limitations of the hardware, so if there is anyone who can tell what improvements are needed, it is him. Another wizards are Hiassoft and Peter Dell (Jac!). Jac! and his The!Cart team are doing another excellent job on both hardware and software side. 

 

The reason for this post is that I am extremely interested in new a8 development, but also see people not working together, but staying on their own island too long. I do not say that is the case with you candle, but your response on the question about the keyhole did worry me just a little. 

 

And now I am talking about wishes and ideas... the ultimate a8 device would be this:

A Turbo Freezer 2011 (which is external, which is good) with a built in Ultimate 1MB (I am sure 99-100% of U1MB can be an external device) and a built in SIDE2. That would make a fabulous device. 

1. It would give external XE compatible RAM expansion
2. It would give Freezer
3. It would give external custom OS feature

4. It would give external (and real) PBI 

5. It would give SDX, with external cart port so stacked cart is possible.

6. It would give external realtime clock

7. It would not give the need of modify atari 8bit computer (except for +5V on 800xl)

8. It would give external HD 

9. and more....

 

But hey... someone has to have wishes right ;) Haha.

Greetz

Marius

 

  • Like 4

Share this post


Link to post
Share on other sites
2 hours ago, ebiguy said:

 

@phaeron already replied with the main advantages but I want to explain in more details what I did for MyIDE II

I made a special version of ENV.SYS, RAMDISK.SYS, DOSKEY.SYS, MyIDE.SYS and a new tool called HISTORY.

Take the RAMDISK for example, with 128 bytes per sectors, the 128 byte window is just perfect.

And the code to handle that is probably the most simple of any ramdisk.

No computation of memory address from the sector number and the data are always at $D580.

MyIDE has a myriad of small routines. I put each one in a different block of 128 bytes.

Huge work but once done, the memory footprint of the driver is sooo tiny.

My new tool HISTORY keeps the lines that are scrolled out of the screen so that you can come back in previous screens to read what is not on the current one anymore.

This is a perfect candidate:

When I store the 'almost' lost line (40 bytes - not compatible today with the 80 columns), I use the 128 byte keyhole to store it.

No perturbation of the whole 8K, the screen or whatever.

And when I want to show the previous screen, then I use the 8K bank to access the data of a previous screen.

 

With all these drivers rewritten, I can have a full featured SDX without extended memory.

With the 'stock' SDX, ENV.SYS, DOSKEY.SYS and RAMDISK can only run with extended memory.

 

Here is my tight integration of SDX with MyIDE II.

 

But forget the technical details one moment.

If you add it, many other guys will find a different purpose for it (me first).

I think the original Atari hardware designers could not imagine what could be done in software with their hardware (using ANTIC/GTIA/POKEY).

If the hardware is designed in an open way, software engineer can go further and innovate on top of the great hardware.

The Keyhole is in the same spirit.

The 'miracle' of the Keyhole is that, even if it is very small, it is located at a memory location which is never used AND it can be locked (make the RAM read-only)

So, no, this is not "insane" but this is just my opinion of course.

 

You are another soul who understands exactly how powerful the MyIDE 2 hardware is. You are very creative in finding a way of using the hardware in a different, but extremely handy way. My compliments for that. Tucker and Mr. Atari came from far with their MyIDE + Flash experiment, so they knew very well what their new MyIDE would need to be awesome. And it is. I wished they added a hardware-reset button to their MyIDE 2 and I wished they added a RTC like SIDE2 had. If Mr. Atari would embrace APT for his partition layout, it would be the best (for me). 

 

  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites

Marius, if a sole reason of keyhole space is to use it as a place to have patch for various cartridges to work out their banking schemes, then my answer would be - you don't need that. side3 will provide universal bank switching theme, so instead user picking one of possible kinds, as this is done in avgcart, user describes through side3 registers how banking works, and it emulates that banking scheme until a button is pressed and things going back to their default state

so you don't need to patch any cartridge to work

i'll leave that keyhole buffer open to discuss futher, maybe some other use cases pop up

it will require revision of pcb though, but i need to make it anyways since i've forget to connect buffer enables to cpld

 

as for patched os - it all comes to someone that would write one, and then end user to make a use of it

if this would require replacing stock os - by novadays standard this is not that good - chips required to do that are obsolete, and not available through normal distribution channels - i think you have few years left when you'll be able to buy something new in a DIP package, but this is my opinion

i won't provide custom os, because i'm not that much of a programmer, and i wouldn't know where to start, but you're free to do that if that is your call

 

also, please bear in mind that i don't have whole d500-d5ff area to my disposal

right now i have to share it with side2 and melody cartridges i've designed some time ago

side2 has fixed address space range, from d5e0-d5ff, with side3 i try to squeez into 16 bytes, and that 16 bytes can be moved by a single write anywhere in d5xx page, melody cartridges are configurable too, having their sound chips base address configurable, but basic interface fixed at one location

 

another thing that needs to be sorted is partition remapping

i often find myself going to a friend who has kmk/jz ide+ interface and we would like to copy files from one device to another

it's a bumpy road to do just that

 

 

Share this post


Link to post
Share on other sites
4 hours ago, Marius said:

The reason for this post is that I am extremely interested in new a8 development, but also see people not working together, but staying on their own island too long. I do not say that is the case with you candle, but your response on the question about the keyhole did worry me just a little. 

 

Oh yes !!! That is so true...

The best hardware is not the one with the greatest capabilities (more megabytes, more this, more that) but the one that software developers desperately want to work on.

  • Like 3

Share this post


Link to post
Share on other sites

Great update, Jon! If/when this thing goes on sale, I'm buying it ASAP, maybe more than one of 'em. It sounds just about perfect.

Share this post


Link to post
Share on other sites

I currently don’t own a cartridge storage device.   Was thinking of pulling the trigger on a SIDE2 then saw SIDE3.  Now I can’t bring myself to get the SIDE2.   
 

I’ve been waiting over 35 years I guess I can wait a little longer.   
 

Apologies to anyone when sees this bump as an actual update.  

  • Like 1

Share this post


Link to post
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.

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