Jump to content
IGNORED

Accessing the drive?


Recommended Posts

12 minutes ago, Harry Potter said:

Parts of the file are to be loaded into sections of low memory as per my Cubby-hole optimization technique.

I have an optimization technique called theCubby-Hole technique. This puts code and data in locations used by the BASIC and OS but not needed by the program.

 

This probably is the reason for the bizzarre behaviour you are observing: you are overwriting vital system areas then are wondering why the system does not work.

 

Just post a binary file you are trying to run, it will probably get clear quickly, why it does not work.

Link to comment
Share on other sites

If the AUTORUN.SYS is extracted and run in Altirra you see this:

EXE: Loading program 0006-0196 to 2E00-2F90
EXE: Loading program 019B-019C to 02E2-02E3
EXE: Jumping to 2EA3
EXE: Loading program 01A1-03FB to 2508-2762
EXE: Loading program 0400-0401 to 02E2-02E3
EXE: Jumping to 2508
EXE: Loading program 0406-0686 to 0480-0700
WARNING: Invalid Atari executable: bad start/end range.
EXE: Loading program 068B-0AB7 to 0349-1ED0
EXE: Launching at 2E00

so maybe correct that first

 

[Edit] along with the entry point at $2E00 being just a string

 

[Edit2] feels like there's no MAIN block which would be super weird, so please generate and attach a MAP file for us

Edited by Wrathchild
Link to comment
Share on other sites

30 minutes ago, Wrathchild said:

Loading program ... to 0349-1ED0

No wonder. Everything from $0349 onwards deemed "locations used by BASIC and OS but not needed by program". Including the IOCB #1 MyDOS binary loader uses, along with the MyDOS binary loader itself and the entire MyDOS.

Edited by drac030
Link to comment
Share on other sites

Just now, Harry Potter said:

I will have to experiment to see which sections are really usable.

Just stick to $80-$FF and $0400-$06FF, if you really really need. Otherwise just use the regular and extended memory. By loading stuff into the OS locations you are only praying for problems. Experimenting may lead to obscure problems which will get difficult to debug in the future.

 

Also, the golden rule: write a working program first, optimize later.

  • Like 4
Link to comment
Share on other sites

39 minutes ago, Harry Potter said:

I don't really need this memory.  I just think using this memory will save main memory.  BTW, I like optimizing and am looking for ways to optimize MadLibAtari.

Then please go on with your experiments and have the fun while tracking down problems. But I wouldn't expect that anybody else likes to waste time on that.

Your compression improvements/experiments are also "interesting": You publish new compression "records" and find later bugs which prevent the better numbers.

Could it be, that you don't develop a decompression program in parallel for verification (which seems to be essential for me)?

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

1 hour ago, Harry Potter said:

I just think using this memory will save main memory.

A second-rate male who lacks self-confidence may try to meet the unrealistic standards of the CIO interface, but a true and seasoned coder does not allow himself such chicanery and uses resources as he pleases. If you want to use any range of addresses - including those under ROM then you should be interested in xBIOS as an alternative.

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

On the other hand, those who don't need to employ contrarianism to compensate for a lack of male vigour can code for the CIO and get read/write access to GB of storage using software which will happily run with any DOS, hard disks, etc.

 

84000047_longdirectory.thumb.png.36e673b29778cdf7946b123821a663f8.png

 

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

Harry, what of

 

On 9/27/2021 at 2:28 PM, sanny said:

And, if you would post a complete project with source code and how you are building it, please might be better able to help. Giving always just pieces of information leaves to much of guesswork to the others.

 

didn't you understand?

Edited by sanny
Link to comment
Share on other sites

The resulting binary is still Fubar, looks like MEMSAVM is your own invention? What purpose it is serving?

 

Basically there is a header for it but this is using the actual memory 'size', however there is no content (naturally) and so that is not the area's content's size. 

 

So, either the header isn't needed and the area doesn't go to the output file, or you add a 'fill' to the MEMSAVM_ area.

 

You removing the AUX related stuff is just a red-herring.

 

Link to comment
Share on other sites

Why do you think you need to? This would refer to 'memory under the OS' which, in a similar way to the C64, a register (PORTB) is used to toggle the OS in/out but of course you have caveats such as needing to set replacement $FFFx vectors for potential interrupt handling. So best avoided and can only be used on XL/XE targets.

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