Jump to content
IGNORED

cass24k issue


jrhodes

Recommended Posts

I was testing out the cass24k utility by senior falcon, when i encountered a bug.

I want to know why it does this, and if there is anything i can do about it.

I converted 2 games, maze of grog (very slight change so that it does not try to load/save high scores to disk), and freds tower.

Maze of grog works as expected, no issues that i encountered.

Freds tower, i thought was ok too, until the "ending screen" with fred on a tractor; the graphics on this one screen are messed up.

I have attached the wav files of the games in question. They were made in win99 simulator by writing each program segment to a different .titape file, then writing them back to .tidisk under different file names, then extracted from the .tidisk to fiad's and converted to wav with cs1er, then loaded into classic99.

Both classic99 and win99 simulator glitch on the "ending screen" of freds tower (after answering enough math problems to get to 160 ft, i used addition for testing on both emulators.)

Classic99 will load them if you use a wav of the cass24k2 utility. I do not have a way to test these on real hardware, but i am suspecting freds tower will glitch there too.

Any ideas?

post-64087-0-81859300-1530836489_thumb.png

archive.zip

Link to comment
Share on other sites

In the case of freds tower, that wont help.

It has an embedded assembly loader.

 

10 CALL INIT :: CALL LOAD(8192,186,252) :: CALL LINK("RUN")

 

both the original freds tower and the one posted above list exactly the same.

Edited by jrhodes
Link to comment
Share on other sites

Can you post the original "Fred's Tower". With that I can do the conversion and see if the program is changed in the process.

Maybe a dumb question, but you you sure the original does not have this problem?

Yes, i am sure the original is fine when played as intended.

Link to comment
Share on other sites

Using Win994a, I first loaded FRED from disk. SIZE shows 6788 bytes remaining. I then saved FRED to cassette using CASS24K1. After loading the program with OLD CS1 the size was the same at 6788 bytes remaining. It seems to run fine and I got to the ending tractor scene.

First off, make sure the program is the same length after loading from disk and loading from cassette.

Assuming the lengths are the same, another possibility might be the use of RUN "CS1" from within a program, which does not reset vdp data. Try OLD CS1 and then RUN to see if the problem goes away.

 

(EDIT) I just tried it with RUN "CS1" and it worked fine. I did the conversion with CASS24K1 although it should work the same as CASS24K2

Edited by senior_falcon
Link to comment
Share on other sites

I have been using OLD CS1, not RUN "CS1". I do use RUN "CS1" (thus why i have it as my custom status) on regular basis in XB, but i did not use it here.

SIZE reports 6788 when i use CASS24K1 to save and load fred from wav.

Using the two-file version i uploaded, SIZE returns 6788 after loading CASS24K2 from wav, then the 2 part load of the other wav files.

I should point out that i do not use CASS24K1, because CASS24K2 gives me 2 files that i can write to disk and then process into wav files with cs1er.

CASS24K1 results in a single big file saved to .titape that when saved to disk is still int/var and is the same size as the original file.

 

... I can confirm however, that the version made with CASS24K1 does *not* glitch the ending screen...

 

The problem for me in particular is how to take the file made by CASS24K1 and turn it into a working wav.

Edited by jrhodes
Link to comment
Share on other sites

I tried out CASS24K2 and found the same problem that you did. I will look into this and find out what is going wrong.

 

(EDIT) One byte is changed when you save to cs1 and then load. I now know which byte; now to find out why.

I see what is going on. Should be an easy fix.

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

Regards making a workable wav from the files, maybe give JS99er a try? It supports cassette now. Once you've SAVE CS1'd and it's done the process, click "Save Tape File" and it will output a Tape.Wav file.

I've never been big on online apps of any kind, but i may just give it a shot. Still hoping senior falcon uploads a new cass24 version to play with too.

Link to comment
Share on other sites

I've never been big on online apps of any kind, but i may just give it a shot. Still hoping senior falcon uploads a new cass24 version to play with too.

 

It's not really "online", it's just running in your browser. There is no server watching what you're doing.

Link to comment
Share on other sites

Still hoping senior falcon uploads a new cass24 version to play with too.

This will be uploaded shortly. The way the first segment of the Xb program is saved is to doctor the line number table so it begins at >D2AC and is just one line long, putting the end at >D2AF. This saves the first segment fine; XB thinks it is a legitimate program. The problem arises because line numbers cannot be greater than 32767. The two bytes at D2AC and D2AD are the dummy line number. If that is greater than 32767 then when you save, XB thoughtfully clears the first bit to make the line number legal. Why they felt this was necessary is a mystery, because you cannot enter a line number greater than 32767, so why would you need to look for that? Anyhow, the code is written and is being tested now.

By the way, you don't have to save to CS1 with this. It is OK to save to disk. So, for example, FRED could be saved to disk in 3 parts: FREDL, FRED1 and FRED2. Perhaps that will make the conversion to WAV easier?

  • Like 2
Link to comment
Share on other sites

By the way, you don't have to save to CS1 with this. It is OK to save to disk. So, for example, FRED could be saved to disk in 3 parts: FREDL, FRED1 and FRED2. Perhaps that will make the conversion to WAV easier?

That may indeed help. It all depends on if CS1er gripes at the files i give it. That program only seems to like things in program-image format, and puke anytime i give it int/var.

Edited by jrhodes
Link to comment
Share on other sites

That may indeed help. It all depends on if CS1er gripes at the files i give it. That program only seems to like things in program-image format, and puke anytime i give it int/var.

Yep, they should be in program image format. I won't be able to post tonight. I had a problem that seemed to originate between the chair and the keyboard. T'was most vexing, but all is sorted out now and all works as it should.

  • Like 1
Link to comment
Share on other sites

Here it is. Besides fixing the bug, I made another small change. Now you have to CALL FILES(1) before loading the XB program you want to save to tape. The earlier program could not save an extremely long program of 24K bytes. Now you can.

 

Remember that you can save to DSK1 if that makes it easier to produce WAV files.

 

(edit) This version is updated with revised instructions:

 

"When creating the tape, be sure you entered CALL FILES(1). After the tape is been created, only if the TI is connected to a disk system should you type CALL FILES(1) before RUN “CS1”. With only a cassette drive just type RUN “CS1”.
You do not have to SAVE CS1. You can save to disk if that makes it easier to use a WAV conversion program such as cs1er.
For example, a program called FRED could be saved as:
SAVE DSK1.FREDL (the loader)
SAVE DSK1.FRED1 (part 1)
SAVE DSK1.FRED2 (part 2)"

CASS24K070918.zip

Edited by senior_falcon
  • Like 4
Link to comment
Share on other sites

Here it is. Besides fixing the bug, I made another small change. Now you have to CALL FILES(1) before loading the XB program you want to save to tape. The earlier program could not save an extremely long program of 24K bytes. Now you can.

 

Remember that you can save to DSK1 if that makes it easier to produce WAV files.

I can not use this on a system with no disk drive.

I successfully saved a program from disk to tape in win994a simulator, but when i disconnect the disk drive (leaving only the 32k attached), attempting to do CALL FILES(1) gives a program not found error.

 

exact steps i did, please let me know if i am missing something:

<setup emulator for 32k+disks>

<enter XB>

OLD DSK1.CASS24K2

RUN

<edit line 10 to remove !>

SAVE CS1

<saved cass24k2 to its own .titape>

CALL FILES(1)

OLD DSK1.program

CALL LINK("SAVECS")

<saved two program halves to two separate .titape files>

BYE

<manually reset all tape counters to 0>

<change emulator config to 32k, no disks>

<enter XB>

OLD CS1

<load cass24k2>

RUN

CALL FILES(1)

<!>program not found error<!>

 

Never mind, i found my mistake. CALL FILES(1) is only needed to save the program to tape, not load it.

Edited by jrhodes
Link to comment
Share on other sites

i found my mistake. CALL FILES(1) is only needed to save the program to tape, not load it.

Sorry, I guess the instructions were not 100% clear on that. I will amend them tonight.

If you want to test this by saving to disk and then reloading from disk you also have to CALL FILES(1)

  • Like 1
Link to comment
Share on other sites

This is the same program as before but the use of CALL FILES(1) has been clarified in the instructions:

 

When creating the tape, be sure you entered CALL FILES(1). After the tape is been created, only if the TI is connected to a disk system should you type CALL FILES(1) before RUN “CS1”. With only a cassette drive just type RUN “CS1”.
You do not have to SAVE CS1. You can save to disk if that makes it easier to use a WAV conversion program such as cs1er.
For example, a program called FRED could be saved as:
SAVE DSK1.FREDL (the loader)
SAVE DSK1.FRED1 (part 1)
SAVE DSK1.FRED2 (part 2)

CASS24K070918.zip

Edited by senior_falcon
  • 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...