Jump to content
IGNORED

Supernotes


GDMike

Recommended Posts

SNP currently takes about 20-25 seconds to do  a read / write for a 1mb SAMs card using Tipi.

Any slower probably wouldn't be justified.

I haven't tested with a RAM disk, would be an interesting test though, but I bet would shave about 5 seconds.

 

Giving an option to export/import a page to dv80 would be a nice addition.

And remember, the windows clipboard import option already exists.

 

 

Edited by GDMike
Link to comment
Share on other sites

It's 2 SNP pages. Some is wasted.

An SNP page is 1760 bytes.

But I also use 10 bytes for header info for each SNP page, so that's actually 3540 bytes per SAMs bank data .

And I've still got some space left over.. reserved for future high quality programming! Like, tactical encryption or AI ripper grabber.. that hasn't been created yet ..

But I think I'm Using 208 banks because I have some reusable code in 1 bank plus I can't touch the base ram, I think that's 8 banks..

And, I can't remember why at the moment, but yeah I've stuck to the 208 banks for snp storage pages, maybe I can open that up since it might have had something to do with the database portion that I'm not using now.

 

Edited by GDMike
Link to comment
Share on other sites

I was curious how long it would take to do this in Forth.

I had noticed that reading binary images the 99 was super fast.

 

Using the LOADSAVE library, I read a font file (1Kb) into VDP RAM 3 times to simulate an SNP data block.

Then I copied 3540 bytes of VDP RAM into a SAMS page.

 

I stayed out of the lower 64K (pages 0 to 15) because that's where the normal machine lives.

So only 240 SAMS pages filled with VDP data. It took 10.7 seconds.

 

This was a  bit of a surprise to me but I guess we can take it as info that something like SNP would be doable in Forth without a big speed penalty.

To be fair VREAD is assembler and BLOCK (for SAMS not disk) is also all assembler code. 

 

Spoiler

\ reading file data into sams pages.
NEEDS ELAPSE    FROM DSK1.ELAPSE
NEEDS DUMP      FROM DSK1.TOOLS
NEEDS LOAD-FONT FROM DSK1.LOADSAVE
NEEDS BLOCK     FROM DSK1.SBLOCKS

DECIMAL 3450 CONSTANT SNPSIZE

HEX
: GETFILE ( -- Vaddr len )  S" DSK1.FONT0230"  LOAD-FONT  ;

: FONT2SAMS  ( blk# -- )  800  SWAP BLOCK  SNPSIZE VREAD ;

DECIMAL
: FILE2SAMS
        256 16
        DO
           GETFILE GETFILE GETFILE  ( Read 1k file 3 times )
           I DUP . FONT2SAMS
        LOOP ;

 

 

 

 

 

  • Like 2
Link to comment
Share on other sites

Not sure, but is getfile a 3-4K buffer and are you saving to disk thru incrementing bank calls?

Of course, I'm stamping each SNP page with a screen color code, before writing to disk.

Using Tipi to write and read..

Ok .I see your block of 1k in loops of 3.  Gotcha 

 

I'm also displaying a counter of pages written/read to the screen, and I've got a kscan interrupter checking for escape before eof..

But even with that known, I think you're still a couple seconds ahead with that, but stamping each page header might be killing the time for me.

Possibly I might have to move that somewhere prior to filing, Better yet, at init start might be better.

Thx for the test 

 

 

 

 

 

 

 

 

 

 

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

I was playing around with this non working ti disk controller card and I think I've got it working by touching up the solder point on a regulator. I got no LED activity when I powered up but after reflowing the solder I now get an LED and it Acts like it's working again.

But I noticed that the regulator is extremely hot, so after reading herei learned that it needs the case as a heat shield. So I'll be putting that clamshell back on it and see if it works in my good PEB box.

 

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

I'm thinking that it was probably run too long without the case as the Case in this case Acts like a heat shield and probably helped with unsoldering that one pin on that regulator that I saw. Because when I touched that regulator with my hand, unlike others I've messed with, it was extremely hot.. so I looked online for some sort of measurement regarding it and saw that someone else also experienced this and said you definitely need it mounted into the case. 

So yup it's fine now..I'll need to get an edge connector for the gotek cable as the only cables I have don't connect to it. But works with the floppy drive.

I noticed that I get an error if trying to save from SNP to the Floppy drive, I/o error 7. But again, I didn't test with floppy in mind. Just with classic 99 and tipi. And I'm ok with that.

IMG_20220730_093140241_HDR.jpg

  • Like 1
Link to comment
Share on other sites

* note This has been removed in snp. It has changed to a command using F5.

----------

Old info follows

 

A new Menu has been added to SNP.

 

It's key press is function 10.

 

The MENU asks the user to press 1 to save the current SNP page(1) as DV80 file.

Press 2 to LOAD a DV80 file and place it into the current SNP page(1) and Press 3 to cancel.

 

No changes for the current system load and

 save routines.

No more displaying SAMs pages being initialized at startup, to save boot time, instead you will just see "Wait..." Then a beep sound when SNP is ready.

I'm still iffy about this as some May think the program has locked due to wait time with no action on the screen. I may have to visit this again..

 

Once these menu item routines are in place, received from Lee and tested I'll upload the new file and changes..

I know a couple people have asked for this and I'm super happy to get it done, and thanks again to Lee Stewart for working through all this with me.

 

 

 

 

 

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

SNP 2.2 can now import  DV80 text into the current SNP page that is open. The amount of data that can be imported is roughly 22 lines of the begining of a DV80 file.

Thx to Lee Stewart for assisting me!

We're still working through the export option.

Once completed, I'll upload the latest.

 

 

  • Like 4
Link to comment
Share on other sites

I've been busy with working on a car lately and working on software placing the user manual into a database, with 1990 pages is a lot. 

I'm also helping a friend with building his PEB, changing to quiet fan, Adding floppies, adding tipi, an 838 speech adapter, f18A in a console, and more. I hope to be back here soon. 

  • Like 3
Link to comment
Share on other sites

  • 3 weeks later...

SNP can now IMPORT 1 SNP screen of a DV80 file as well as  EXPORTING 1 SNP screen to a DV 80 file.

 

Thank you Lee Stewart for this add on, it really gives some basic text utility and functionality to SNP.

It won't be available until next week while I do some additional housecleaning on the program, but look for it soon.

 

What we did. We removed the F0 menu option completely and added into the existing F5 command library the new commands, EXPORT and IMPORT, (no "CALL" preceding), as the new commands are just, export dsk.filename and import dsk#.filename.

Meaning import from DV80 file 1840 bytes of the first part of the file into current SNP page and overwriting anything present prior.

As well as writing the current SNP Page to a DV80 filename of your choice,(not merging), keeping with the standard naming conventions and TIPI compatible BUT strict "DSK" use only.

 

 

 

 

 

 

 

 

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

  • 2 weeks later...

I've got to learn more about how VDPWA and ...WD work. 

My issue is, I've got 2K of data in CPU RAM, (CRAM), and I want to temporarily move it into VDP RAM.

Looking at the memory map, >1000 looks like where I'd like to point a buffer at, not too sure on how large an area though.

I think these 2 assembly words will help do this, but I'm not sure if I'm supposed to EQU a label to an address yeah...I'm stuck.

This evening when I get time, I'll be researching the EA manual and try to see how to approach this.

 

Link to comment
Share on other sites

3 hours ago, GDMike said:

I've got to learn more about how VDPWA and ...WD work. 

My issue is, I've got 2K of data in CPU RAM, (CRAM), and I want to temporarily move it into VDP RAM.

Looking at the memory map, >1000 looks like where I'd like to point a buffer at, not too sure on how large an area though.

I think these 2 assembly words will help do this, but I'm not sure if I'm supposed to EQU a label to an address yeah...I'm stuck.

This evening when I get time, I'll be researching the EA manual and try to see how to approach this.

 

 

You already have a way to do that with VMBW and VMBR. Those two functions, indeed, use addresses, VDPWA, VDPRD, VDPWD, so you do not need to mess with them for the above. There are certainly times when it saves CPU time to use them (clearing a VRAM block comes to mind), but this is not one of them.

 

When you must use those addresses, you must initialize them with EQU (best) or use them directly.

 

...lee

  • Like 1
Link to comment
Share on other sites

3 hours ago, GDMike said:

I've got to learn more about how VDPWA and ...WD work. 

My issue is, I've got 2K of data in CPU RAM, (CRAM), and I want to temporarily move it into VDP RAM.

Looking at the memory map, >1000 looks like where I'd like to point a buffer at, not too sure on how large an area though.

I think these 2 assembly words will help do this, but I'm not sure if I'm supposed to EQU a label to an address yeah...I'm stuck.

This evening when I get time, I'll be researching the EA manual and try to see how to approach this.

An EQU is just a way to assign a label to a number, so you can use the label in the source code instead of the number. You never have to use an EQU. 

If you want to copy 2K of data to VDP RAM >1000.

li r0,>1000
li r1,address in CPU RAM
li r2,>800                       ; 2K
bl @vmbw                         ; Or blwp, depending on which version of the VDP functions you use

 

 

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