Jump to content
ebiguy

AtariMax 8Mbit Flash cart with SDX 4.49c and all OSS languages

Recommended Posts

1 minute ago, Gunstar said:

a real-time clock w/battery

You get one point !

If only there was a clock in MyIDE II, it would have been THE cartridge !

  • Like 1

Share this post


Link to post
Share on other sites
1 hour ago, ebiguy said:

You get one point !

If only there was a clock in MyIDE II, it would have been THE cartridge !

I definitely agree that the MyIDE II with the keyhole is a great bit of good old American Ingenuity. Jay Miner would be impressed, I'm sure.

 

Maybe Steven could be convinced it's time for a MyIDE III revision that would have a RTC w/battery on-board, and maybe multiple OS slots too! What else would be a good upgrade to it? Oh, and a reset switch so there is no need to power-cycle the computer when using the Fat32 loader to get back to the MyIDE main menu. Maybe a more flexible MyIDE main menu so that larger rom images than 8K could be launched from there, and more. Assuming your rom is currently using the Fat32 loader (assuming you haven't already figured out a way to launch it from the main menu despite the usual 8K rom limit), with larger rom images allowed to be launched from the main menu, then your rom could be launched from there too. Doesn't the 8K rom limit from main menu have to do with not enough flash memory left after the firmware installs other things into flash memory?

Edited by Gunstar

Share this post


Link to post
Share on other sites
On ‎11‎/‎5‎/‎2019 at 12:07 AM, ebiguy said:

I don't know if there are any copyright on SDX but I think the minimum is to tell the original authors that I will be releasing a patched version of their creation.
 

So be patient...

Em(patient) is my middle name..  Just wondering if there is a time line for release.. I probably should have waited for a month before making this inquiry .

 

 

Share this post


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

Em(patient) is my middle name..  Just wondering if there is a time line for release.. I probably should have waited for a month before making this inquiry .

 

 

 

This will take a little time since I am working on a bug found in the RAMDISK and will publish a new version of Maxflash 8Mb before working on the MyIDE II version.

Maybe this month, maybe next month but, don't worry, you will get it before the end of the year.

  • Like 4

Share this post


Link to post
Share on other sites

Here is the second update.


The zip file still contains the MaxFlash 8Mbit image file and the Basic XE extension disk (this one has not changed since the first release).

 

Bug fix:
- The!Cart ramdisk do not crash anymore when an executable is launched using the X command (thanks to @janzh for finding the bug).


Changes and Features:
- The SELECT key is used to switch to OSRAM (instead of OPTION in the previous versions)
- The default boot drive has been reverted to D3:
- a GAME command has been added to launch the game menu without turning OFF and ON the computer (thanks to @a8isa1 for the idea)
- 3 languages have been added:
  + Atari Assembler Editor. Use ASM command then CAR
  + SynAssembler. Use SYN command then CAR
  + Altirra Basic. Use ATB command then CAR

 

With @phaeron's permission, the excellent ROM version of Altirra Basic has been included.

 

screen4.png.4e95d156e7b81b8a98b8a0330c65ee5a.png

 

I included SynAssembler without knowing if it is compatible with SDX. So this is experimental.

If I discover some issues, I may replace it with another language.

With this update, there is no more free banks so I won't be able to add something (another language for example) without removing something else.

 

The same technical notes still apply so please refer to the previous posts.

My8MbitFlash_SDX449c_OSS.zip

  • Like 7

Share this post


Link to post
Share on other sites
On 10/29/2019 at 6:09 PM, Roydea6 said:

Okay I ran Turbobasic and loaded a few programs and all was ok but crashed while trying to ENTER a program.  And I tried @drac030  basic program called UBI also using RAM under the OS.  and entering a basic listing caused the cart to crash need a power off/on.

 

 

I just downloaded UBI, then unARCed the archive, and ran UBI (with default UBI.CFG file).

It means that the standard ATARI FP package was used by UBI.

I had no problem entering a simple listing (4 lines of BASIC) and running it.

I had no problem loading the demo BASIC program named CTEST.BAS and running it.

Could you please describe your configuration so I can reproduce the problem?

- content of UBI.CFG

- BASIC listing you are typing in

Share this post


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

Could you please describe your configuration so I can reproduce the problem?

- content of UBI.CFG

ttime.lstubi.cfg

Also I was not typing in the listing I was Entering it ENTER "D:TTIME.LST , but since the latest update to the rom I no longer have the problem..

 

  • Thanks 1

Share this post


Link to post
Share on other sites

Here is the third update.

 

What's new in this version?

Instead of explaining everything in the post, I added a README.TXT file in the ZIP file.

Please read it to get the feature list and also the complete list of available languages.

 

Bug fix:
- launching an executable from the ramdisk (The!Cart only) could garbage the screen during the loading.

- the GAME command was not working (a last minute modification before releasing the previous version!)


New features or enhancements:
- 4 new languages have been added! See the readme.txt file for the complete list.

 

screen5.png.bb22d47b3360df92c31796b98623479b.png

 

To be able to add languages, some games have been removed from the ROM file:
- Gorf
- Astro Chase
- Demon Attack
- Embargo

 

screen6.png.31d733a36b958ef5f876b3bbed9b7ad1.png

 

Please, report any issue in this thread.

 

My8MbitFlash_SDX449c_OSS.zip

  • Like 6

Share this post


Link to post
Share on other sites

This is the fourth update.

 

@a8isa1 suggested to embed a romdisk (an ATR file formatted with SpartaDos file system in read-only mode).

I developed a driver to map this romdisk as drive N: (D14:).

This is a great idea because it lets you:

- customize the files in the ROM. You still can not change the CAR: device but now you can add files in the ATR and include the ATR in the ROM before flashing.

- build a directory structure and add files bigger than 8KB.

 

So, from now on, there will be 2 ROM included in the package:

- My8MbitFlash_SDX449c_OSS_games.bin which contains the menu full of games (almost identical to the previous releases). There is no way to customize this ROM.

- My8MbitFlash_SDX449c_OSS_romdisk.bin where all the games have been replaced by an ATR file. Customization is performed using the following procedure.

 

Both ROMs contain the same SpartaDos X tools and the same languages (OSS, Atari,...)

 

The process is quite simple to customize My8MbitFlash_SDX449c_OSS_romdisk.bin:

- Use the tool of your choice to add folders and files in romdisk.atr.

- execute build_SDX449c_OSS_romdisk.bat and voila: you have a new My8MbitFlash_SDX449c_OSS_romdisk.bin.

 

There is another change with My8MbitFlash_SDX449c_OSS_romdisk.bin about the boot drive:

- The boot drive is set to D3:. It will boot from D3: only if this drive seems available (reading sector 1 succeeds)

- If D3: is not available, then the system looks at the BOOT variable (which is usually D1:). It will boot from D1: only if this drive seems available (reading sector 1 succeeds)

- if D1: is not available, then the system looks for the romdisk (drive D14:). If found, it will boot from there.

The boot drive is displayed in the boot sequence.

 

Let me know if you think the boot priority is not the good one.

 

If the system ends up booting on the romdisk, it means that one of the *.CFG files will be executed followed by the AUTOEXEC.BAT.

So you can customize romdisk.atr to define additional  drivers to load.

 

The Basic XE extension disk is no longer in the package because all the files found in this disk have been added to romdisk.atr

 

The readme file has been updated.

My8MbitFlash_SDX449c_OSS.zip

  • Like 6
  • Thanks 2

Share this post


Link to post
Share on other sites

I believe the answer is probably NO but is it possible make what is commonly called the *MEM.SAV* feature work between multiple language cartridges and across cycling power OFF/ON?

 

I tried to do the following:

 

In CONFGI.CFG

 

SET BASIC=F:BASIC.SAV ; for Atari BASIC

 

then I created batch files like the following:

 

; for Action! cartridge

SET CAR=F:ACT.SAV

ACT

CAR

 

and 

 

; for OSS Integer BASIC cartridge

SET CAR=F:INT.SAV

INT

CAR

 

However each time I invoke a batch file the language boots with a clean session instead of restoring an old one.

 

This ability isn't terribly important.   It only occurred to me to try it some minutes ago.   Something fun to do (if it worked).

 

 

-SteveS

 

[EDIT]

Oh! The ACT.BAT file does work!  The INT.BAT doesn't.   I wonder why.

Edited by a8isa1
  • Like 1

Share this post


Link to post
Share on other sites
1 hour ago, a8isa1 said:

However each time I invoke a batch file the language boots with a clean session instead of restoring an old one.

That is very interesting !

In all the commands to switch to another cartridge (ACT, BXL, BXE...), I delete the file pointed to by the CAR variable.

This was to prevent loading a CAR.SAV in BXE although it was created by M65.

By doing this, I was assuming that the filename would remain the same (CAR.SAV).

And of course you can not share a CAR.SAV between 2 different languages. Hence the deletion.

 

But here you give me a very good idea:

I could create a new variable called CARPATH (for example CARPATH=C:>TEMP>) that could be changed by the user (in its AUTOEXEC.BAT or anywhere else).

Then each command like ACT, BXE, M65... would set the CAR variable with the path from CARPATH and a filename depending on the command:

For M65 it would concatenate C:>TEMP> with M65.SAV giving C:>TEMP>M65.SAV

 

What do you think ?

 

EDIT: or maybe just use the variable TEMP instead of CARPATH. TEMP is set automatically by ramdisk. Give me some feedback, please.

 

PS: Thank you for all your suggestions (in public and in private). It is really appreciated as it allows me to deliver a more and more advanced SDX packaging.

Edited by ebiguy
TEMP alternative
  • Like 4

Share this post


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

That is very interesting !

In all the commands to switch to another cartridge (ACT, BXL, BXE...), I delete the file pointed to by the CAR variable.

This was to prevent loading a CAR.SAV in BXE although it was created by M65.

By doing this, I was assuming that the filename would remain the same (CAR.SAV).

And of course you can not share a CAR.SAV between 2 different languages. Hence the deletion.

 

But here you give me a very good idea:

I could create a new variable called CARPATH (for example CARPATH=C:>TEMP>) that could be changed by the user (in its AUTOEXEC.BAT or anywhere else).

Then each command like ACT, BXE, M65... would set the CAR variable with the path from CARPATH and a filename depending on the command:

For M65 it would concatenate C:>TEMP> with M65.SAV giving C:>TEMP>M65.SAV

 

What do you think ?

 

EDIT: or maybe just use the variable TEMP instead of CARPATH. TEMP is set automatically by ramdisk. Give me some feedback, please.

 

PS: Thank you for all your suggestions (in public and in private). It is really appreciated as it allows me to deliver a more and more advanced SDX packaging.

Sounds workable, though I know nothing of the inner functioning of SDX or any of the languages.   

 

I hope you can make it work.  The ability to pop to the SDX CLI and back would be quite convenient. 

 

-SteveS

Share this post


Link to post
Share on other sites
On 11/27/2019 at 2:50 PM, a8isa1 said:

I believe the answer is probably NO but is it possible make what is commonly called the *MEM.SAV* feature work between multiple language cartridges and across cycling power OFF/ON?

 

I tried to do the following:

 

In CONFGI.CFG

 

SET BASIC=F:BASIC.SAV ; for Atari BASIC

 

then I created batch files like the following:

 

; for Action! cartridge

SET CAR=F:ACT.SAV

ACT

CAR

 

and 

 

; for OSS Integer BASIC cartridge

SET CAR=F:INT.SAV

INT

CAR

 

However each time I invoke a batch file the language boots with a clean session instead of restoring an old one.

 

This ability isn't terribly important.   It only occurred to me to try it some minutes ago.   Something fun to do (if it worked).

 

 

-SteveS

 

[EDIT]

Oh! The ACT.BAT file does work!  The INT.BAT doesn't.   I wonder why.

I came up with a workaround.  It's a bit laggy but it does what I want.

 

Example:

File ACT.BAT

ACT
ECHO RESTORING                        
COPY F:ACT.SAV O:                     
SET CAR=O:ACT.SAV                     
CAR                                   
ECHO ARCHIVING              
COPY O:ACT.SAV F:

 

-SteveS

  • Like 1

Share this post


Link to post
Share on other sites

Another update for The!Cart users.
Guys using the real MaxFlash 8Mb cartridge don't need this update. It does not add any features.
But of course these flash images work both in MaxFlash 8Mb and in The!Cart so feel free to get them anyway.

 

So, what's new in this release? A driver. A driver to mount other ATR files located elsewhere in The!Cart.
The!Cart flash is quite huge so you can put many 16MB ATR files in it.
When you boot your SpartaDos X, it would be cool to be able to mount other ATR in The!Cart as a drive (D4:, D5: or whatever).
This is the goal of this new driver. Its nick name is MATR.

 

Note that these ATR files are mounted as READ-ONLY !

 

The cool thing is that the list of mounted ATR is kept in the Flash (in the User Space of The!Cart).
It means that each time you reboot the computer (or power it on), the driver restores all mounted ATR drives.

 

The archive still contains 2 rom files:
- My8MbitFlash_SDX449c_OSS_games.bin
- My8MbitFlash_SDX449c_OSS_romdisk.bin

 

The readme.txt file has been updated to explain everything about it.
But here is the extract about MATR:

 

matr.png.309e6302e8535794714982be5512ec38.png

 

Both Rom files contain a way to mount ATR files located inside The!Cart.
The command used to list, mount and unmount ATR files is MATR.COM.
Use the following command to list the ATR files in The!Cart:

 MATR I


Standard ATR files are not visible by MATR.
To be able to mount an ATR file, the file must be transformed using prepare_atr_for_thecart.bat and then added into The!Cart workbook.
The file type must be set to Binary file in The!Cart studio.
The tool prepare_atr_for_thecart.bat is very easy to usse. Its purpose is to concatenate a header at the beginning of your ATR file.
The header is named atr_padding.bin. So if you want to prepare the file MyGames.ATR, simply run the following command:

  prepare_atr_for_thecart.bat MyGames.ATR


Or drag and drop the file MyGames.ATR on prepare_atr_for_thecart.bat.
A new file named MyGames.ATR.bin will be created and can be added in The!Cart studio.
The command MATR I displays all the ATR found in The!Cart with the starting bank number.
Here is an example of the output:

  Bank  Filename
  ===== ========
  $0020 RealDos.atr
  $0820 MyGames.atr


To mount a drive with an ATR, the following command can be used:

  MATR M G: $0820

The bank number is used to identify which ATR file you want to mount.
In this example the ATR file MyGames.atr (bank $0820) is mounted as drive G: (D7:).
Of course you can mount several ATR files:

  MATR M H: $0020

This second command mounts a second ATR file RealDos.atr (bank $0020) as drive H: (D8:).
An option is used to activate a noise when reading sectors:

  MATR /N M H: $0020

Another option is used to mark a drive as the boot drive for the next coldstart:

  MATR /B M H: $0020

You can combine both options in the same command (activate I/O noise and set the boot flag):

  MATR /BN M H: $0020


To unmount a drive, use the following command:

  MATR U G:

 

To get a list of the mounted drives, use the following command:

  MATR L

The display looks like this:

  Drv Fl Bank  Filename
  === == ===== ========
  D7:    $0820 MyGames.atr
  D8: NB $0020 RealDos.atr

 

The mount table, displayed above, is saved each time a MATR M (mount) or MATR U (unmount) command is issued.
For example, if you mount an ATR file and set it as the boot drive, this configuration will be flashed in The!Cart.
So, the next time you power on the computer and select the AtariMax Maxflash 8MB, all the drives will be restored.
At the end of the CONFIG.SYS execution, the boot process will continue on the drive which has been marked as the boot drive.

 

Warning: The configuration is stored in the last 128KB of The!Cart.
To be sure that this space does not conflict with any other information (like The!Cart menu), you should reserve it.
To do that, select "Workbook Options..." in "Edit" menu in The!Cart studio.
A dialog box appears. Enter "128 KB" in the field named "User Space Size".

 

My8MbitFlash_SDX449c_OSS.zip

Edited by ebiguy
  • Like 7

Share this post


Link to post
Share on other sites
50 minutes ago, Roydea6 said:

MATR I

 

Missing ATR_IDX

 

154 Symbol not defined

 

MATR is a tool to mount ATR files found in The!Cart workbook.

If you are using the ROM images in a real MaxFlash 8Mb cartridge (or in Altirra), MATR will not work and is of no use!

 

MATR.COM displays the error message you saw when:

- The!Cart is not found (for example you are using these ROM in a real MaxFlash 8Mb cartridge) or

- The!Cart is locked. You forgot to press SHIFT when launching the ROM in The!Cart menu.

 

Do you have The!Cart ?

Edited by ebiguy
  • Like 1

Share this post


Link to post
Share on other sites

Some years ago I took Hias Reichl's I2C driver (for PIA pins), patched it to pass pin data, pin mask, and buffer information and appended it to some utilities which I wrote in the Action! language.  This allowed me to connect an Arduino add-on DS1307 RTC module to my Atari and use it with SpartaDOS, SpartaDOS X and Bewedos. 

 

Perhaps some will find the utilities of use. 

 

Notes:

 

SETDS7.COM takes the time and date from the DOS system clock and sets the RTC. Only DS1307 or DS3231 RTCs are supported.

DS7TIME3.COM performs the reverse function.  Sets the system time from the RTC.

CLOCK2.COM is a digital clock display.  It reads data directly from the RTC .

CLOCK3.COM is the same but adds a temperature reading.  This is a feature of the DS3231 only.

I2CSCAN.COM is a general purpose utility.  It looks for I2C slaves connected to Port A I/O pins.  Any pin can be SDA and any other pin can be SCL. Only 7-bit I2C slave addresses are supported. 

 

Hopefully I'll re-find the sources soon. 

 

Here's a quick demonstration.  Sorry for the poor quality of the video.  I was holding the phone with one hand and typing with the other.

 

 

 

Files

 

 

SETDS7.COM CLOCK2.COM CLOCK3.COM I2CSCAN.COM DS7TIME3.COM

Edited by a8isa1
  • Like 4
  • Thanks 2

Share this post


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

Some years ago I took Hias Reichl's I2C driver (for PIA pins), patched it to pass pin data, pin mask, and buffer information and appended it to some utilities which I wrote in the Action! language.  This allowed me to connect an Arduino add-on DS1307 RTC module to my Atari and use it with SpartaDOS, SpartaDOS X and Bewedos. 

 

Perhaps some will find the utilities of use. 

 

Notes:

 

SETDS7.COM takes the time and date from the DOS system clock and sets the RTC. Only DS1307 or DS3231 RTCs are supported.

DS7TIME3.COM performs the reverse function.  Sets the system time from the RTC.

CLOCK2.COM is a digital clock display.  It reads data directly from the RTC .

CLOCK3.COM is the same but adds a temperature reading.  This is a feature of the DS3231 only.

I2CSCAN.COM is a general purpose utility.  It looks for I2C slaves connected to Port A I/O pins.  Any pin can be SDA and any other pin can be SCL. Only 7-bit I2C slave addresses are supported. 

 

I forgot to mention that I don't have a proper driver for SDX.  For this reason JIFFY.SYS is a prerequisite and should be installed in your CONFIG.SYS (or in CONFGI.CFG or in CONFIG.CFG for ebiguy's Atarimax 8mbit cartridge build).

 

-SteveS

Edited by a8isa1

Share this post


Link to post
Share on other sites

Since the lockdown I thought of picking up Assembly again after the wonderfull course last year at Fujiama 2019.
Thus trying to following this tutorial https://www.youtube.com/watch?v=_uYc1cdB-mY using MAC/65 on Real HW.

So I thought of giving these .bin image a try , it works in Altirra without issues but not on real hardware.
But running the bin is a no-go on my U1MB and 800XE with SIO2SD , AVG , UnoCart .
Am I doing something stupid again of should I just beg someone to burn this onto a FlashCart :)

 

Share this post


Link to post
Share on other sites
19 hours ago, tmp said:

did you convert that bin to car first?

Yes I did but in the meanwhile I found it, looks I have to apply the "try it tomorrow" rule on myself.

SIO2SD cannot load the CAR file, it gets stuck whilst loading.
My AVG cart didn't work with CAR file on my 800XE neither ( will have to check later) , and on my U1MB machine AVG wouldn't show a menu.

So the culprit is the cartridge port on the U1MB 1030XE, now that I've added something to support the AVG cart , I was able to load the CAR file via AVG.
And the diskimage with the source file via SIO2SD , assigned to D1

  • Like 1

Share this post


Link to post
Share on other sites
1 hour ago, Lastic said:

Yes I did but in the meanwhile I found it, looks I have to apply the "try it tomorrow" rule on myself.

SIO2SD cannot load the CAR file, it gets stuck whilst loading.
My AVG cart didn't work with CAR file on my 800XE neither ( will have to check later) , and on my U1MB machine AVG wouldn't show a menu.

So the culprit is the cartridge port on the U1MB 1030XE, now that I've added something to support the AVG cart , I was able to load the CAR file via AVG.
And the diskimage with the source file via SIO2SD , assigned to D1

what version firmware on the AVG cart? the question mark should bring the info up for you

Edited by _The Doctor__

Share this post


Link to post
Share on other sites
1 hour ago, _The Doctor__ said:

what version firmware on the AVG cart? the question mark should bring the info up for you

0017

And I must have been in a really bad place yesterday because I just tried again on my 800XE also and the car image boots from the AVG cart now ???
Guess sleeping a bit more does the job :D

Edited by Lastic

Share this post


Link to post
Share on other sites

could be lack of sleep or timing or clean cart edge or clean cart port or    ah maybe I need more sleep too!

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