
Blog?

Mostly computer thought's and stuff I've done!
I know I’m being very repetitious on this subject. But SDLTRS is supposed to read WAV files. Which TRS80GP cannot. So I was trying to reduce a conversion step in the hope that one less step might help my odds of reading a tape file. So, I tried to read the WAV file created by Audacity, but I get “sdltrs ERROR: unusable wav file: must be 1 bytes/sample”. However SDLTRS is able to read a WAV file creaed from a CAS file using trs80-tool.
It goes bad after this! BTW: I don’t remember how to play. I wish I added the date to the comments. I assume it was 1980 or soon thereafter.
No sooner than I post the above…then I get this, although this is a different version. A screenshot wasn’t big enough to show so much. I think if I had a big volume nob I could more easily adjust the volume in small changes. Also a digital volume display would be nice like 1.1, 1.2, 1.3…up and down. Then I could more easily make small changes. The below was purely a guess if the volume is disturbed I wouldn’t know how much it was off. Oddly the last file on that tape side is Super Star Trek and it loaded/played fine. Looking at the visible code i can see there are 5 dice, and 13 rounds. Whatever that means. I don’t remember how to play.
10 'YAHTZEE
20 'PROGRAMMER: BILL
90 '
100 'YAHTZEE MAINLINE
120 CLEAR260
140 GOSUB3240 'PRINT HEADING
160 GOSUB7240 'INSTRUCTIONS?
180 CLS:PRINT@0,"HOW MANY PLAYERS (1-4) ?";
200 A$=INKEY$:IFA$=""THEN200ELSEPRINT@25,A$;
220 IFASC(A$)<49ORASC(A$)>52THENPRINT@25," ";:GOTO200:ELSENP%=VAL(A$)
240 GOSUB620 'INITIALIZE
260 GOSUB1560 'SET UP THE BOARD
280 FORR=1TO13 '13 ROUNDS
300 FORN2=1TONP 'LOOP FOR EACH PLAYER
320 IFNP>1GOSUB7120
340 PRINT@434,"<< ROUND"R">>";
360 PRINT@562,STRING$(10,32);
380 PRINT@562,":"NM$(N2);
400 GOSUB880 'ROLL 5 DICE
420 GOSUB1040 'TWO MORE ROLLS?
440 GOSUB1760 'SCORE A CATEGORY
460 IFNP>1THENPRINT@385,CHR$(239);:FORI=1TO3000:NEXTI
480 IFR=13THENGOSUB2160 'FINAL & GRAND TOTAL
500 NEXTN2,R
520 CLS:PRINT@155,"PLAY AGAIN ? ";
540 A$=INKEY$:IFA$=""THEN540ELSEPRINT@168,A$;
560 IFA$="Y"THENRUNELSEIFA$<>"N"THENPRINT@168," ";:GOTO540
580 CLS
600 END
620 'INITIALIZE
640 DEFINTA-Z
660 DIMPP(5),B$(5),DT(6),DC(4),DV(6),CT(NP,14),ST(NP,14),NM$(NP),GT(NP),UT(NP),SP(14)
680 FORI=1TONP
700 CLS
720 PRINT@87,CHR$(220);:PRINT@65,"ENTER PLAYER"I;CHR$(8)"'S NAME ";:INPUTNM$(I):IFLEN(NM$(I))>13THENCLS:PRINT@65,"NAME TOO LONG (1-13 CHARS.)";:FORJ=1TO900:NEXTJ:GOTO720
730 IFNM$(I)=""THEN720
740 NEXTI:CLS
760 PP(1)=65:PP(2)=78:PP(3)=91:PP(4)=104:PP(5)=117
'PP(X)=PRINT POSITION FOR DICE
780 FORI=1TO14:READSP(I):NEXTI
800 DATA590,654,718,782,846,910,620,684,748,812,876,940,1004,974
To recover old TRS-80 tapes. I saw this on Amazon. I don’t think QFX is known as a great brand however it does have adjustments for Bass, Middle and Treble. The question is, do these equalizer settings get transferred to the USB device or are they only for playback? Also the volume on the far right is much larger. The small volume nob of my cheap player makes it hard to even tell if you’ve moved it much. Perhaps the extra adjustments might allow me to recover more than my current cheap model. At $40 it’s double the price. But it would be worth it if I could retrieve my Yahtzee program, alone. There doesn’t seem to be any brand names that inspire confidence of quality.
It doesn’t appear to connect to your computer by a cable. Instead you record to a USB drive. So that’s a little different.
Prime numbers. To do 1000 it took 2min 28sec. In turbo mode about 25 sec. You can tell I was a computer student. I found some convert to hex and binary programs.
Well I was able to retrieve my TRS-80 bowling score program. It was the last file in a multi file wav download. Strangely enough I was successful by adjusting the volume. In a previous volume setting I was able to get a good load of the first few programs…but not the bowling program. Then I tried another volume adjustment, and I got the bowling program…but the first few programs were garbled. I like this little program because I actually took advantage of the TRS-80’s limited graphics. Everything was addressed…no screen scrolling or re-drawing. This is a stretch for non-artistic me.
I’d really more likely just ask for your score and just add it up below. Or something like this (text) if I was really ambitious.
=======================================================================
| 5 | 3 | |
| ----| |
| 8 | |
=======================================================================
I found out you can only convert a single program to asc (which is ascii text). So I couldn’t use the convert trick I mentioned in the previous post. However once I had this program CLOADed…I could CSAVE it which creates a single program cas file. I then could convert that cas file to a asc file which is the human readable ASCII code program!
This means perhaps I’m just a few adjustments away from loading my Yahtzee program!
I found my TRS-80 yahtzee game. Well at least on one tape. And so far unsuccessful recovering it. But why are the first few lines always readable? Then it turns to crap! There were also multiple versions on the same tape. Below…The 1st two screen shots are the same program (the 1st file on tape) at different volumes. The 2nd screen shot looks slightly better than the first, specifically line 120. Did I adjust volume up or down and how much? IDK. The 3rd screen shot is the 2nd file on the tape which seems different. Also the 1st file is a little over 2 minutes long. The 2nd file is over 3 minutes long. Maybe if I had more control over the volume I would have better results. There are no numbers on the volume. Also how many times can I play the tape before it starts to wear? The tape makes physical contact with the play head.
I’m surprised I haven’t found a simple graphical roll the dice program. Because that’s how I work. I wouldn’t have tried to write the whole program at once. I would first have written a simple roll the dice program. Then incorporated it into my Yahtzee program later.
trs80-tool also has a .asc (text or ASCII) convert to output command. It looks like this…trs80-tool convert test.wav test.asc. So you can look at the program (see below) without CLOADing in the emulator. Below is an example (not necessarily one of the above files). This would make it much easier to save a listing of your program than trying to copy and paste from the emulator.
10 'YAHTZEE
20 'PROGRAMMER: BILL
90 '
100 CLS
120 GOSUB2840'PRINT HEADING
140 GOSUB420'INI¨iÙDÄÈÈÀêOíMPU@Q! =IEÐKTÆôÄÌêOìÅzªr"b@¡¡aááõTäB%"#ãâ#°4=À Sc©?µ$ôÄÂRD4P
ä?
9075 NAME?LOCDIMEOFATN NAMEMKI$GOSUBHREMÓÏÀ>ÐÁ
3149 LETGETþ>/OR>GOSUBHH/UQOR>TRON@
24832 >ENDGOSUB
I was so excited that this worked, that I had to make a YouTube howto video.
I recently talked about this project here. When I first read in an old TRS-80 tape, today, in Audacity (using this new player) I noticed the high’s and lows were getting chopped off so I immediately lowered the cassette player volume. Here is how the volume looked in audacity, after I adjusted the volume lower.
I first tried the SDLTRS emulator, because it can read wav files directly. However it failed. I then used trs80-tool on the same failing wav file and it unbelievably…worked! On both SDLTRS and trs80gp. This was a tape created in 1979
and I’m reading it in on a $20 cassette player I bought on eBay.
I proactively was playing with trs80-tool and really had a game plan for this project. But for it to work on the very first use of trs80-tool…blows my mind. I really hope I can find my old Yahtzee game.
I’m totally shocked!
For my first “real” computer job, I sought after work on a DEC PDP11. Hopefully using RSTS/E. And luckily that’s what I got. The company had a DEC PDP 11/70 running RSTS/E. They also had a Data General Nova 3, running BLIS/COBOL (an OS written in COBOL). I knew nothing about the DG, as we called it. And I never worked on it.
First things…first. Hindsight’s 20/20. It’s easy all these years later to question decisions made, back then. Also research back then, without the Internet, was much harder. I actually think the department head did a great job, creating that department from scratch. Also I’m sure starting out, the budget was very small.
Anyway a huge part of the business was translating client tapes to our in house data base on the PDP-11/70. Almost all…if not all of these tapes were IBM format tapes. The language we used was Basic-Plus which basically was part of RSTS/E. I enjoyed coding in Basic-Plus. However de-blocking and translating IBM EBCDIC tapes on a ASCII based PDP-11/70 was fairly slow. To make matters worse our data base program was written in Basic-Plus. This code was included in every program, needing to do data base operations. I don’t have hardly any of my old Basic-Plus programs, but for some reason I found this random listing, this is the 1st of around 12 pages.
So in recently looking at RSX11M…questions come to mind. First off This version of RSX11M is much newer than the version of RSTS/E we were running at the time. I honestly don’t remember what version of RSTS/E we were running. I’ve been using Version 7 on simh because it seems closest to what we used. I don’t think we used anything more recent than that.
Anyway I just wrote a very simple COBOL program on the RSX11M system. So I know COBOL was an option on the DEC PDP-11/70. I don’t know if it was available on RSTS/E V7. Even if it was it wouldn’t have been free. You could compile Basic-Plus programs, however I think that was more of a protect the code from alteration than a true compile. I assume compiled COBOL programs ran much faster. In the very few books I’ve been able to find on DEC Cobol, I find no mention of EBCDIC. Although conversion using a compiled language would have been much faster. Later on there was Basic-Plus-2 with a real compiler/linker.
The bigger question in my mind was “Data Boss”. Even today I’m not clear on the database options on RSTS/E back then. I know that DEC had something called RMS (Record Management System) that I assume would have been much more efficient than “Data Boss”. Again…was it even available for RSTS/E V7? In my limited Googling I think both COBOL and RMS were available.
I read in the V7 release notes that beginning with V7.0 all RMS software is bundled into RSTS/E. Wow…I wish I knew that back then. It would be interesting to play with. Then again I guess I could look at it today. It also says that Sort-11 V2.0 is included. That’s something else I’m curious about, because I seem to remember our sorts taking hours.
I also see..."The PDP-11 DBMS-11 COBOL Data Manipulation Language Reference Manual (DEC-11-ODMRA-B-D) was a reference document oriented primarily toward the experienced COBOL programmer whose installation had a DBMS-11 data base and used the COBOL Data Manipulation Language (DML), a COBOL language extension, to communicate data base access requests within a standard PDP-11 COBOL program." The date on this was 1977-03.
Licensing fees were high back then so that certainly could have been a factor.
My thoughts are more about, I wonder what was possible on the DEC PDP-11/70, running RSTS/E V7, if money wasn’t a factor, and other options were chosen?
Again hindsight is 20/20. And I think the department head did a fantastic job creating that computer department. Not too many years later they changed over to IBM that was obviously a better fit. Also we had a real database…ADABAS. From a career point of view I wish we chose DB2 instead, because it was industry standard SQL. However I have no reason to think ADABAS was a bad database.
You are supposed to type COBOL to compile. But COBOL didn’t work. So I found C81.CMD on a DU1: directory listing.
>TYPE WORLD.CBL
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.
ENVIRONMENT DIVISION.
PROCEDURE DIVISION.
000-BEGIN.
DISPLAY "HELLO WORLD".
STOP RUN.
>
>@DU1:[006022]C81 DU0:WORLD
C81 DU0:WORLD,DU0:WORLD=DU0:WORLD/BLD
TKB @DU0:WORLD.CMD
PIP DU0:WORLD.CMD,.SKL,.OBJ,.ODL,.LST,.TSK/PU
>
>DIR WORLD.*
Directory DU0:[USER]
19-NOV-2023 07:48
WORLD.OBJ;1 3. 19-NOV-2023 07:48
WORLD.LST;1 2. 19-NOV-2023 07:48
WORLD.CBL;1 1. 19-NOV-2023 07:23
WORLD.SKL;1 1. 19-NOV-2023 07:48
WORLD.ODL;1 1. 19-NOV-2023 07:48
WORLD.CMD;1 1. 19-NOV-2023 07:48
WORLD.TSK;1 17. C 19-NOV-2023 07:48
Total of 26./44. blocks in 7. files
>RUN WORLD
HELLO WORLD
>
Glad the compile included the link, because my link wasn’t working DU1:[005004]LINK.
Below was before I renamed HELLO2 to WORLD
>@DU1:[005004]LINK/C81 HELLO2
AT.T0 -- Syntax error
@DU1:[005004]LINK/C81 HELLO2
>
BTW. This is the command file…
>TYPE DU1:[006022]C81.CMD
.ENABLE SUBSTITUTION
.DISABLE DISPLAY
.PARSE P1 "." PRG EXT
.SETS TSK PRG[1:3]
C81 'PRG','PRG'='PRG'/BLD
.IF <EXSTAT> <> 1 .EXIT <EXSTAT>
TKB @'PRG'.CMD
.IF <EXSTAT> <> 1 .EXIT <EXSTAT>
PIP 'PRG'.CMD,.SKL,.OBJ,.ODL,.LST,.TSK/PU
>
So, actually, the C81.CMD file includes C81 and a TKB step, which apparently is the Linker.
So manually…
COPY WORLD1.CBL WORLD.CBL for my own safety
C81 WORLD,WORLD=WORLD/BLD
TKB @WORLD.CMD
PIP WORLD.CMD,.SKL,.OBJ,.ODL,.LST,.TSK/PU delete old versions