Jump to content
IGNORED

Distance Learning


budz2355

Recommended Posts

Hi Everyone,

 

My kids start home schooling next week with the lovely global health crisis going around.  I already have all the school platforms setup for official teaching on my end, but I thought it would be fun to revist some old classics from the TI.  My kids are 2nd grade, Kindergarten, Pre-K so 8,6,5 years old.  The oldest two are beyond Early Learning Fun at this point (they loved it when they were younger), but if anyone has any recommendations for Edutainment / Education carts that I could pick up?  My oldest child is already in the 'gifted' program at school (we TI users are smart right? :)), so don't worry about putting anything too challenging here - I like to push them to the educational limit and I am sure they will like the challenge, but feel free to post literally any and all titles you can think of and I can curate the list on my end if it gets too extensive.

 

I do have a flash rom 99, but no final grom.  I do have multiple disk drives, extended basic carts, ram disk, etc., so a few other means to play things if it's possible to get them, just not the final grom cart sadly.  I am willing to buy stuff from ebay though and I may already own the carts mentioned (I think I have around 100 various carts).

 

Bonus points if you can leave a link to where I can get the games :D

 

Thanks for any help - advice!

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...
On 3/26/2020 at 12:44 PM, arcadeshopper said:

if you had a TIPI you could use irata.online plato :)  http://ti99.irata.online

Hey Greg,

 

Is it also possible to use FlashGROM to load the PLATO cart image and then just map a PLATO lesson disk image to TIPI?

 

When I try the PLATO cart boot screen keeps reading: INSERT CORRECT PLATO DISK.

 

Assumption: PLATO works with the PLATO cart loaded and the lesson diskette goes into DSK1. Correct?

  • Like 1
Link to comment
Share on other sites

On 3/26/2020 at 2:20 PM, fimbulvetr said:

Awesome - thanks.  I bought the Plato cart. But I ran into a (memory) problem when trying to transfer the files to my TI disks.

 

And by memory, I mean my own personal grey blob in my skull...

 

I used to transfer files to my TI using TIMXT and a terminal emulator on the PC side.  I found the terminal program I used to use, but I can't for the life of me remember how to detect the TI's IP address.  I am connected with a UDS-10.  I think Omega used to have a guide somewhere with a program you could run that would list all the ips on your network or something...

 

Also -- There's software somewhere that I need to use to turn all the plato disks into TIFILES right?  I totally forget the name of that program as well...

 

Any help would be appreciated!

Link to comment
Share on other sites

4 hours ago, budz2355 said:

Awesome - thanks.  I bought the Plato cart. But I ran into a (memory) problem when trying to transfer the files to my TI disks.

 

And by memory, I mean my own personal grey blob in my skull...

 

I used to transfer files to my TI using TIMXT and a terminal emulator on the PC side.  I found the terminal program I used to use, but I can't for the life of me remember how to detect the TI's IP address.  I am connected with a UDS-10.  I think Omega used to have a guide somewhere with a program you could run that would list all the ips on your network or something...

 

Also -- There's software somewhere that I need to use to turn all the plato disks into TIFILES right?  I totally forget the name of that program as well...

 

Any help would be appreciated!

 

they need to be transferred as a "disk image". They are not standard ti disks,  they have a small file in the directory and the rest of the data is written directly to the disk in a nonstandard method from what i can tell..   

I was successful in copying them to a nanopeb image using tidir and copying the entire disk image to the cf card also you could use use DSK2PC which requires HDX server on the pc side, a serial port on the ti and a cable between..

  • Like 1
Link to comment
Share on other sites

Seems like somewhere on Atariage in the past year, I saw where someone described the copying process to be able to have 4 Plato courseware disks on a single DS/DD diskette.  As I recall, the bitmap was different than expected but I thought still file accessible and not sector I/O accessible.

 

I guess it could have been a dream, but most of those are too explicit...……….

 

Beery

 

  • Haha 1
Link to comment
Share on other sites

I took a super quick look at this...

 

The disks are /almost/ normal disk images. They moved the directory from sector 1 to sector 359, and so the directory in sector 1 contains only a single file which contains some object code (it might only be copyright information, I didn't look too deeply). When it wants to load a file, it does it manually by consulting the hidden directory.

 

Duplicating sector 359 overtop of sector 1 appears to work fine for making it a normal disk - although there are still some sectors containing data that aren't accounted. (They could simply be unused data, I don't know).

 

Digging into the code a bit, I THINK I found the entry to the file load function. I believe it copies the desired filename to a 10 byte buffer at >B70C, then calls >6236 through a BLWP vector at >B7BC. Of course, B7BC is in RAM so I'm a bit unsure that is always used, but it is used for the first two files - TIMENU and DISKMENU.

 

In theory, converting to normal file access would be:

- repair the disk by copying sector 359 back over sector 1

- patch in a normal DSRLNK function at >6236

 

The patch is a bit tricky. I did not work through the entire function, so I don't know if it provides a VDP buffer for the file or not. You would need to find a safe VDP address for the PAB (Plato has set the system to CALL FILES(1), at least, but bitmap is up). And then you'd need to find some space in the memory map or the ROM for the DSRLNK itself (if you reversed the entire load function, you probably have enough room to replace it.)

 

The brief bit I did is attached here:

 






Plato disk
-sector 1 contains only $$1 file
-sector 359 contains the real index
-actual file indexes are standard

 

Plato:
Uses direct sector reads
Starts with CALL FILES(1)

 

621C - copies 'TIMENU' into buffer...

   20F4  C220  mov  @>caa2,R8              (38)
   20F8  C1E0  mov  @>2074,R7              (38)
   20FC  CDE0  mov  @>206e,*R7+            (54)
   2100  CDC8  mov  R8,*R7+                (42)
   2102  CDE0  mov  @>2064,*R7+            (54)
   2106  C5E0  mov  @>2066,*R7             (46)
   210A  0420  blwp @>b7bc                 (62)        call 6236

 

load file at >B70C?
   6236  06A0  bl   @>629e                 (32)        string compare? (maybe check already loaded)
   623A  B70C  data >B70C                              buffer (TIMENU) <------------------ this load
   623C  B716  data >B716                              buffer (FFFFFFFFFFF) (last loaded?)
   623E  000A  data >000a                             10 bytes
   6240  04C0  clr  R0                     (18)
   6242  C082  mov  R2,R2                  (26)        0 if equal
   6244  1608  jne  >6256                  (14)        skip loading
   6246  06A0  bl   @>629e                
   624A  B70C  data >b70c                            buffer              
   624C  620A  data >620a                            "TIMENU    "
   624E  000A  data >000a                           10 bytes
   ....
>  6256  0420  blwp @>6308                           read sector wrapper           

 

string compare?
   629E  C03B  mov  *R11+,R0               (42)        save data 1
   62A0  C07B  mov  *R11+,R1               (42)        save data 2
   62A2  C0BB  mov  *R11+,R2               (42)        save data 3
   62A4  9C70  cb   *R0+,*R1+              (54)        compare
   62A6  1602  jne  >62ac                  (14)        done if different
   62A8  0602  dec  R2                                countdown
   62AA  16FC  jne  >62a4                            loop if any left
   62AC  045B  b    *R11                   (20)
   

Read sector wrapper
   630C  0300  limi >0000                  (24)        interrupts off
   6310  53E0  szcb @>6632,R15             (42)        >D400?
>  6314  06A0  bl   @>62e0                            Call sector read
   6318  0167  data >0167                             Data stored for??

 

Read sector?
   62E0  C83B  mov  *R11+,@>b6fe           (54)        save return data??
   62E4  C820  mov  @>b72a,@>834e          (46)        VDP buffer address
   62EA  A820  a    @>62de,@>834e          (46)        plus fixed offset
   62F0  C820  mov  @>6372,@>834c          (46)        drive index (always 1)
   62F6  C820  mov  @>b6fe,@>8350          (46)        sector number
>  62FC  0420  blwp @>65ee                           CALL DSR (fixed to read?)

 

Call DSR function
   65F2  53E0  szcb @>6632,R15             (42)        VDP access address
   65F6  02E0  lwpi >83e0                  (18)        GPLWS
   65FA  C320  mov  @>b7b0,R12             (34)        Disk controller CRU
   65FE  C260  mov  @>b7ae,R9              (34)        DSR function address (sector read)
   6602  C060  mov  @>b7ac,R1              (34)        (1)
   6606  1D00  sbo  >0000                  (16)        Card on
   6608  9820  cb   @>4000,@>662d          (50)        check for >AA
   660E  1609  jne  >6622                  (12)        fail if not there
   6610  0699  bl   *R9                    (20)        call function
>  6614  D020  movb @>8350,R0                         check error
   6618  1604  jne  >6622                             fail if error return
   661A  1E00  sbz  >0000                             card off
   661C  02E0  lwpi >b6d4                             original workspace
   6620  0380  rtwp                                  back to caller

 

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