Jump to content
IGNORED

Supernotes


GDMike
 Share

Recommended Posts

31 minutes ago, GDMike said:

Received an error using xdt99 Cross compiler.

Source or -l not correct/found...

I was thinking  I'm  supposed to call the compiler from within my work source files. Not sure. But that's where I received the error.

Am I supposed to enter a complete path? Not sure.

I read the online GitHub docs and see that the call for "ASHELLO.ASM" doesn't look for the source subfolder, "example". So I'm a bit confused.

I'm wondering if the TI source files  path has to be specified in windows?

 

“Cross compiler”??? Perhaps you mean “Cross assembler”, which would be xas99.

 

You assemble source files with a command line—not from within a source file (unless that source file is a batch file containing the assembler command). This command line is issued within a Command-prompt window and, typically, in the directory/folder where the source files are so you don’t need to proliferate complete paths all over the place. You can certainly include paths to your files, but it gets complicated really fast. You can, of course, use relative paths for any files.

 

...lee

 

  • Like 1
Link to comment
Share on other sites

3 minutes ago, Lee Stewart said:

 

“Cross compiler”??? Perhaps you mean “Cross assembler”, which would be xas99.

 

You assemble source files with a command line—not from within a source file (unless that source file is a batch file containing the assembler command). This command line is issued within a Command-prompt window and, typically, in the directory/folder where the source files are so you don’t need to proliferate complete paths all over the place. You can certainly include paths to your files, but it gets complicated really fast. You can, of course, use relative paths for any files.

 

...lee

 

this is my error from the command line batch

Clipboard-2.jpg

Edited by GDMike
Link to comment
Share on other sites

Making headway on my New page insert routine.

It took 10 seconds to move page 2 to page 3, page 3 to page 4.. up to page 400, about 800K of data.

Of course my routine works from page 400 downward.

I've still got another section of code to add, so it's going to affect the time.

But I was thrilled to see it working somewhat.

Lol

 

 

  • Like 1
Link to comment
Share on other sites

Something to think about...

 

What if you didn't have to copy all that data?

If you have room for an array of 400 page numbers, you could keep the list of pages in that array in any order that you want and never need to move that actual data.

Array elements marked with 0 are empty.

 

Getting a page would be just one lookup using indexed addressing. :)

User would still reference page 1,2,3 but they would be the index of the array.

You would need code for:

  • find the next empty page (search array for zero)
  • mark page as erased. (set array element to zero) 

Just a thought.

 

  • Like 3
Link to comment
Share on other sites

I see what you're saying. But I think the code would be enormous because I have other elements in the program that access the addresses of the two pages of each bank.  If I were to look at a pointer to a specific address then the actual address data would be wrong for the other routines.. unless I changed that too.

 

The routine I just made is very short and uses subs that are already made in order to complete it's task. 

Oh, and btw. Each page, whether showing empty or not do have additional info in the page headers for screen colors and something else..I can't remember at the moment.. so there not really empty..so to speak. I mean, a user can set any page to a color like a marker, and not include text.

BUT...I'll keep this idea on hand and try working in that direction as it's pretty powerful to have. Thx

 

 

 

 

 

 

Link to comment
Share on other sites

8 minutes ago, GDMike said:

I see what you're saying. But I think the code would be enormous because I have other elements in the program that access the addresses of the two pages of each bank.  If I were to look at a pointer to a specific address then the actual address data would be wrong for the other routines..

You don't. You look at a pointer to a specific page. So it's just a way of getting to the page via a list, not directly.

  • Haha 1
Link to comment
Share on other sites

Right. But 2 things happen.. maybe 3.

1. I have a GOTO page that processes in a split second. Moving between any page 1 to 400.

So I saw no value in a change.

 

2. I didn't make an index early on because everything was performing.

 

And 3. This latest routine is faster when the page requesting change is closer to the high bank of

 S.A.M.S. memory because I start my changes at high sam's.

now with that said. Im still going to review this process.

But I want to get the insert/delete page function completed in this form because it's going to be a big change in converting to an indexed array.

 And I have to answer the question, is it worth making the changes for just the performance of 1-2 routines? I do know that the function would be used more often than not by a user but nothing like the comparison of a delete line or insert line function use.

I'll finish these up and ask lee for his take since he's seen the code up to this point already and go from there. 

 

I understand, it's probably how I should of started out beforehand. Again, I saw absolutely no response loss until now..

Thx for your input and thoughts. 

 

 

Edited by GDMike
Link to comment
Share on other sites

9 minutes ago, GDMike said:

But I want to get the insert/delete page function completed in this form because it's going to be a big change in converting to an indexed array.

 

And I have to answer the question, is it worth making the changes for just the performance of 1-2 routines?

I think you just answered the question since inserting a page at page 1, by copying 399 blocks of data, could take 10's of seconds.

Inserting a SAMS page into a list of page numbers will be < 1 second. 

 

It's not too tricky:

- block move all the page numbers 1 cell to the right, to open up a space in the table. (you probably have a MOVE/COPY sub-routine already)

Then something like this:

- MOV  @INDEX,R1                        *  page # goes to R1 

- MOV  @SAMSPG,@TABLE(R1)       * put the new SAMS page into the table 

  • Like 1
Link to comment
Share on other sites

I'll look at reworking the relevant areas 

As suggested.

Thx 

 

But you're missing the mapping function. 

And you're missing the data.

This example just moves the index. 

I guess what I failed to mention. 

It's my mapper that's taking the time, switching, and moving a bank of data then switching again for 400 times( depending on which page gets an insert).

I have to move the data in order for the rest of the program to function.

 

Rt now, I can move any page to another in less than a second. That's already happening with the mapper operation.

 

What would have to happen, is to set an index between 1-400.

Any new page created would take index 1.

Any next created page would take index 2,3,4 etc...as new pages are created and no matter what bank or page # (1 or 2) of a Bank.

 

The difference though would be that it would not matter what actual page that data was occupying, as it would remain in order on the index as the page was created? I'm assuming here, or like you said, just move the index to the right and insert the page.

But..

I'd have to track ACTUAL page and index page both AND the mapper.

 

Rt now I'm tracking bank and page in bank. And then call the mapper depending on which bank I need to pull up.

Info.

There's 2 ea 1764 bytes of screen data per bank.

Defined as addr1 and addr2

And something like 213 banks in total.

 

Oh, and I forgot to mention.

If I did use an index then I'd have to change my  page up/down routines to match the new construction.

And my copy/paste routines as well as as my GOTO routine.

Hehe...it goes on..I'd also have to change my filing methods too.

All of those BTW are pretty fast.

 

I guess what I'm saying is that I'm not sure I can set an index for 1 section of the program without major side affects.

It's always sumpin'

I've been stuck in bed for most of the day with a bad back so I've had time to use my phone here.

So maybe tomorrow I can get more done. LoL

 

 

 

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

Right. I was just trying to overcome my issue that the rest of the program has good performance, and to justify the changes at this stage.

BUT...it would be beneficial indexed because I'll probably want a search routine and rework the filling for speed along with correcting the new / delete page option.

 

I'm out of my comfort zone with how much rework might have to occur. We'll see.

Thx

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

Yes, planning for everything before you start is always a good thing.

 

On pages 6-7 of this magazine scan from Programbiten you can see a simple phone register, where all access to the different records go via an index array called PEK. "Pek" means "point" in Swedish.

Look at lines 1330 and 1350 hos simple an exchange of position of two records is.

 

I thought you could calculate the memory bank number from your page number, so you didn't have to keep a record of the bank number separately?

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

50 minutes ago, apersson850 said:

I thought you could calculate the memory bank number from your page number, so you didn't have to keep a record of the bank number separately?

Sure can. But knowing it and adding a 1 or -1 for page movement is quicker and easier when writing the code.  

 

I never said the code didn't need a makeover.

 🤪

 

  • Like 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...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...