Jump to content
IGNORED

Editor support for SAMS?


Vorticon

Recommended Posts

Hi. Is there a text editor out there that has support for the SAMS card? The EA editor or the PReditor both are severely limited in the length of source code you can have within a single file, and it would make my life a lot easier if I was allowed larger files...

Link to comment
Share on other sites

Hi. Is there a text editor out there that has support for the SAMS card? The EA editor or the PReditor both are severely limited in the length of source code you can have within a single file, and it would make my life a lot easier if I was allowed larger files...

 

Actually there are many. FunnelWeb, FirstDraft and the failed Asgard app PRESS. Before my SCSI drive died I had a EA module one that used the AMS someone wrote and sent it to me.

It may have been Richard Bell. There was also a TI Writer version too.

 

Also never released but I was told a TI Artist version was being worked on using AMS. Pretty pointless now adays.

Link to comment
Share on other sites

Hi. Is there a text editor out there that has support for the SAMS card? The EA editor or the PReditor both are severely limited in the length of source code you can have within a single file, and it would make my life a lot easier if I was allowed larger files...

 

Actually there are many. FunnelWeb, FirstDraft and the failed Asgard app PRESS. Before my SCSI drive died I had a EA module one that used the AMS someone wrote and sent it to me.

It may have been Richard Bell. There was also a TI Writer version too.

 

Also never released but I was told a TI Artist version was being worked on using AMS. Pretty pointless now adays.

Funnelweb? How do I configure it to recognize and use the SAMS card? My copy only sees 32K...

Link to comment
Share on other sites

Hi. Is there a text editor out there that has support for the SAMS card? The EA editor or the PReditor both are severely limited in the length of source code you can have within a single file, and it would make my life a lot easier if I was allowed larger files...

 

Actually there are many. FunnelWeb, FirstDraft and the failed Asgard app PRESS. Before my SCSI drive died I had a EA module one that used the AMS someone wrote and sent it to me.

It may have been Richard Bell. There was also a TI Writer version too.

 

Also never released but I was told a TI Artist version was being worked on using AMS. Pretty pointless now adays.

Funnelweb? How do I configure it to recognize and use the SAMS card? My copy only sees 32K...

 

I lost a ton of stuff when my SCSI drive died. Someone used the Source code Tony McGovern released and sent me a copy of a AMS version of Funnelweb. I do not think it was Tony.

I am sure with the source code on the FTP site someone could do it again.

Link to comment
Share on other sites

Hi. Is there a text editor out there that has support for the SAMS card? The EA editor or the PReditor both are severely limited in the length of source code you can have within a single file, and it would make my life a lot easier if I was allowed larger files...

 

Actually there are many. FunnelWeb, FirstDraft and the failed Asgard app PRESS. Before my SCSI drive died I had a EA module one that used the AMS someone wrote and sent it to me.

It may have been Richard Bell. There was also a TI Writer version too.

 

Also never released but I was told a TI Artist version was being worked on using AMS. Pretty pointless now adays.

Funnelweb? How do I configure it to recognize and use the SAMS card? My copy only sees 32K...

 

 

This info is kind of spotty but I believe there is an AEMS E/A package on WHT that could be run from Funnelweb or if you have a RAM disk then Menu surely could fire it up almost instantly. Jaques (SP?) would know.

 

I also have a SAMS card but have failed to find a reason to use it. Maybe you could design a game that would change my perspective ;-).

Link to comment
Share on other sites

 

 

This info is kind of spotty but I believe there is an AEMS E/A package on WHT that could be run from Funnelweb or if you have a RAM disk then Menu surely could fire it up almost instantly. Jaques (SP?) would know.

 

I also have a SAMS card but have failed to find a reason to use it. Maybe you could design a game that would change my perspective ;-).

That's the idea. One obvious application would be the ability to store large amounts of graphics data such as whole bitmap screens that will allow relatively smooth scrolling over large areas. I definitely would like my next wargame to have that kind of capability :) Another one is multimedia with possibly animation and music data (think SID card ;) ) stored in the SAMS. Afterall, the bulk of current megabyte games is multimedia content...

Link to comment
Share on other sites

Hi. Is there a text editor out there that has support for the SAMS card? The EA editor or the PReditor both are severely limited in the length of source code you can have within a single file, and it would make my life a lot easier if I was allowed larger files...

 

Just for fun check out my GPLHOW2C.

Link to comment
Share on other sites

It's really not necessary. Just split your source files up according to their function:

 

* initialization

* title screen logic

* game engine

* game over sequence

* graphic data

* utility functions (key scanning, VDP access, disk io)

 

Then you can assemble each one individually. If you change code in one module, you only have to re-assemble that one. Load them as compressed option 3's for performance.

 

The loading of the option 3's can be automated with BatchIt :)

Link to comment
Share on other sites

Hi. Is there a text editor out there that has support for the SAMS card? The EA editor or the PReditor both are severely limited in the length of source code you can have within a single file, and it would make my life a lot easier if I was allowed larger files...

 

Actually there are many. FunnelWeb, FirstDraft and the failed Asgard app PRESS. Before my SCSI drive died I had a EA module one that used the AMS someone wrote and sent it to me.

It may have been Richard Bell. There was also a TI Writer version too.

 

Also never released but I was told a TI Artist version was being worked on using AMS. Pretty pointless now adays.

Funnelweb? How do I configure it to recognize and use the SAMS card? My copy only sees 32K...

 

 

This info is kind of spotty but I believe there is an AEMS E/A package on WHT that could be run from Funnelweb or if you have a RAM disk then Menu surely could fire it up almost instantly. Jaques (SP?) would know.

 

I also have a SAMS card but have failed to find a reason to use it. Maybe you could design a game that would change my perspective ;-).

To my knowledge you cannot run Funnelweb from a SAMS card, but you can access a SAMS card from Funnelweb by initially running ABOOT and subsequently ASHOE. There is a package on the swpb site under FILES that contains a number of programs that can be accessed from the SAMS card. These include an editor program, an assembler program, a linker program and a few others.

 

Jacques

Link to comment
Share on other sites

With all the talk about SAMS I really think I should get myself one.

 

I've always kinda been "resistant" to additional expansion box cards, because they are either hard to get or you'r like the second person in the world owning

such card. So if you develop software for it, who's gonna run it?

 

 

However for this card there is emulator support and it seems they are still available for sale.

 

EDIT: just checked Tex'n*Treasures, and they are still for sale. :thumbsup:

 

Do the SAMS cards come in different configurations or are they all the same memory size?

 

By the way: nice seeing you here jacques :)

Link to comment
Share on other sites

It's really not necessary. Just split your source files up according to their function:

 

* initialization

* title screen logic

* game engine

* game over sequence

* graphic data

* utility functions (key scanning, VDP access, disk io)

 

Then you can assemble each one individually. If you change code in one module, you only have to re-assemble that one. Load them as compressed option 3's for performance.

 

The loading of the option 3's can be automated with BatchIt :)

Yes, I already do this to some extent (I have a main game master file, 3 subroutine files (and counting) and a data file). What I still don't understand from you is what do you do when a certain file refers to a subroutine in another file? How do you get it to compile independently in this situation?

Link to comment
Share on other sites

With all the talk about SAMS I really think I should get myself one.

 

I've always kinda been "resistant" to additional expansion box cards, because they are either hard to get or you'r like the second person in the world owning

such card. So if you develop software for it, who's gonna run it?

 

 

However for this card there is emulator support and it seems they are still available for sale.

 

EDIT: just checked Tex'n*Treasures, and they are still for sale. :thumbsup:

 

Do the SAMS cards come in different configurations or are they all the same memory size?

 

By the way: nice seeing you here jacques :)

I've had my SAMS card for a few years now, and I have yet to use it once, which is a shame. I'm pretty sure that my next game will make use of it in some form or another though, especially now that it's fully supported by Classic 99. As Marc mentioned earlier, you really need a nice application to jump start its use by the community.

Link to comment
Share on other sites

It's really not necessary. Just split your source files up according to their function:

 

* initialization

* title screen logic

* game engine

* game over sequence

* graphic data

* utility functions (key scanning, VDP access, disk io)

 

Then you can assemble each one individually. If you change code in one module, you only have to re-assemble that one. Load them as compressed option 3's for performance.

 

The loading of the option 3's can be automated with BatchIt :)

Yes, I already do this to some extent (I have a main game master file, 3 subroutine files (and counting) and a data file). What I still don't understand from you is what do you do when a certain file refers to a subroutine in another file? How do you get it to compile independently in this situation? Another issue I have is when I need to hunt and fix bugs that span more than one file, which is a frequent occurrence with large programs, as this usually means opening a file, editing it, saving it, closing it, opening another file and repeat... And I'm not even mentioning the awkwardness of copying code from one file to another and the risk of running out of space in the target file... I guess this part of the charm (?) of retrocomputing, but sometimes a little less charm and a little more efficiency is helpful :D

Edited by Vorticon
Link to comment
Share on other sites

 

To my knowledge you cannot run Funnelweb from a SAMS card, but you can access a SAMS card from Funnelweb by initially running ABOOT and subsequently ASHOE. There is a package on the swpb site under FILES that contains a number of programs that can be accessed from the SAMS card. These include an editor program, an assembler program, a linker program and a few others.

 

Jacques

Thanks for the info Jacques. You are truly a master librarian! I will have a look at it today.

Link to comment
Share on other sites

What I still don't understand from you is what do you do when a certain file refers to a subroutine in another file? How do you get it to compile independently in this situation?

 

That's what REF and DEF are for.

 

DEF defines a label in a file which makes that label globally available to any other file. The label can be anything - a memory address, a function, a table, it's just an address.

 

REF tells the assembler that this file needs to look for the specified label in that global space.

 

REFs are not resolved by the assembler, they use a special syntax to link. The E/A#3 loader handles resolving all the addresses and patching in the correct values when the files are loaded.

 

That's why, to use the E/A utilities, you can just "REF VSBW" without knowing where in memory VSBW is. The cart pre-loads the global REF/DEF table with its own utilities.

 

Another issue I have is when I need to hunt and fix bugs that span more than one file, which is a frequent occurrence with large programs, as this usually means opening a file, editing it, saving it, closing it, opening another file and repeat... And I'm not even mentioning the awkwardness of copying code from one file to another and the risk of running out of space in the target file... I guess this part of the charm (?) of retrocomputing, but sometimes a little less charm and a little more efficiency is helpful :D

 

This one is a little harder. Ideally individual files are kept small enough to reduce the issue of running out of space, but you still have the loading issues. Large projects may be easier handled on the PC, where you can use an IDE to keep all the files open at once.

 

Incidentally, you can also do a "poor-man's" batching in Classic99 to load all the files. The "paste" function just sends keystrokes, so if you need to load, say, four E/A#3 files and run them, you can type the following into a notepad window:

 

123DSK1.FILE1
DSK1.FILE2
DSK1.FILE3

START

 

Then when you want to launch, reset Classic99 (FCTN-= or File->Reset). Switch to the notepad, Control-A to select all, Control-C to copy. Switch back to Classic99, select Edit->Paste, and your program will be loaded (in Overdrive!) then start normally. (Naturally, use your actual filenames and start program name).

 

The '1' clears the master title page.

The '2' selects Editor/Assembler

The '3' selects Load and Run

Then the filenames are typed with an enter at the end of each.

The blank line sends just an enter to get the PROGRAM NAME prompt.

And the program name is typed with an enter at the end. If you'd rather it wait for you, end the file without the "enter" after 'START'.

Link to comment
Share on other sites

What I still don't understand from you is what do you do when a certain file refers to a subroutine in another file? How do you get it to compile independently in this situation?

 

That's what REF and DEF are for.

 

DEF defines a label in a file which makes that label globally available to any other file. The label can be anything - a memory address, a function, a table, it's just an address.

 

REF tells the assembler that this file needs to look for the specified label in that global space.

 

REFs are not resolved by the assembler, they use a special syntax to link. The E/A#3 loader handles resolving all the addresses and patching in the correct values when the files are loaded.

 

That's why, to use the E/A utilities, you can just "REF VSBW" without knowing where in memory VSBW is. The cart pre-loads the global REF/DEF table with its own utilities.

You know, I figured that one out shortly after typing in my message :ponder: Sorry about my little brain fart here...

Another issue I have is when I need to hunt and fix bugs that span more than one file, which is a frequent occurrence with large programs, as this usually means opening a file, editing it, saving it, closing it, opening another file and repeat... And I'm not even mentioning the awkwardness of copying code from one file to another and the risk of running out of space in the target file... I guess this part of the charm (?) of retrocomputing, but sometimes a little less charm and a little more efficiency is helpful :D

 

This one is a little harder. Ideally individual files are kept small enough to reduce the issue of running out of space, but you still have the loading issues. Large projects may be easier handled on the PC, where you can use an IDE to keep all the files open at once.

 

Incidentally, you can also do a "poor-man's" batching in Classic99 to load all the files. The "paste" function just sends keystrokes, so if you need to load, say, four E/A#3 files and run them, you can type the following into a notepad window:

 

123DSK1.FILE1
DSK1.FILE2
DSK1.FILE3

START

 

Then when you want to launch, reset Classic99 (FCTN-= or File->Reset). Switch to the notepad, Control-A to select all, Control-C to copy. Switch back to Classic99, select Edit->Paste, and your program will be loaded (in Overdrive!) then start normally. (Naturally, use your actual filenames and start program name).

 

The '1' clears the master title page.

The '2' selects Editor/Assembler

The '3' selects Load and Run

Then the filenames are typed with an enter at the end of each.

The blank line sends just an enter to get the PROGRAM NAME prompt.

And the program name is typed with an enter at the end. If you'd rather it wait for you, end the file without the "enter" after 'START'.

Very cool.

Link to comment
Share on other sites

It's really not necessary. Just split your source files up according to their function:

 

* initialization

* title screen logic

* game engine

* game over sequence

* graphic data

* utility functions (key scanning, VDP access, disk io)

 

Then you can assemble each one individually. If you change code in one module, you only have to re-assemble that one. Load them as compressed option 3's for performance.

 

The loading of the option 3's can be automated with BatchIt :)

Yes, I already do this to some extent (I have a main game master file, 3 subroutine files (and counting) and a data file). What I still don't understand from you is what do you do when a certain file refers to a subroutine in another file? How do you get it to compile independently in this situation?

You want REF and DEF. Here's an example

 

File 1 calls a routine in file 2, called VSBWM

 

In file 1 you will REF VSBWM. This says "hey, I want to use VSBWM but its defined elsewhere"

 

Then, in file 2 you do a DEF VSBWM - this says "hey guys, if you need VSBWM then here it is."

 

You then write your routine anywhere in file 2 and give the entry point the label VSBWM.

 

At load time, the ea3 loader will patch/match REFs to DEFs. Simple!

 

Now, you only need to assemble a file if you change it, and you can load them in any order.

 

There should be no need to copy code from one file to another at all. Sounds like you're doing something wrong there.

 

However, the best approach is classic99 with asm994a and multi file projects. I can do a video to show how to do it if that would help.

 

Mark

Link to comment
Share on other sites

 

There should be no need to copy code from one file to another at all. Sounds like you're doing something wrong there.

 

However, the best approach is classic99 with asm994a and multi file projects. I can do a video to show how to do it if that would help.

 

Mark

Copying code between files is sometimes necessary when I add code to a large file which makes it too big to fit in the editor buffer, and so I have to transfer some code to another file to make some room in the original file. It is a cumbersome process at best.

I have already shifted the development of Ultimate Planet to Classic 99/asm994a/Kate running under Ubuntu Linux :) However, I am in the process of upgrading my console with 32K on 16bit bus and a faster crystal, and so my next project will likely be again done on real hardware :D

Link to comment
Share on other sites

One of my future projects is to make a EA Cart that uses the AMS memory. So no EDIT1 file needed to us it.

 

As the whole thing will be GPL or Assembly inbedded in GPL you just need a AMS and the AMSEA cart.

Link to comment
Share on other sites

  • 2 years later...

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