Count9929A Posted January 29, 2018 Author Share Posted January 29, 2018 right, there is another point of overwriting. In the MAME debugger, breakpoint at 7226, I found the value 0278 at address 713E. I got the copy of the LBLA from WHTech; I do not have a genuine copy. It would indeed be interesting to find out if there were a batch of broken LBLA. Hopefully there is someone with a real tape who can create a WAV from it. Edit: Just saw your message. I tried to load it in MAME, but I'm getting a NO DATA FOUND after some time. I'll try to run some filters from Audacity over it. @Count9929A: We may have downloaded the same copy. Still, it is very unlikely that this is a result of a corrupted tape recording. Data records on the tape are always backed up with an identical copy (thus it always sounds like Beeeee ... AA-BB-CC-DD- ...), and the changes affect a single value at different locations. Also, I find it high interesting that the difference is between 713E and 718E, which seems as if someone typed in those values from a bad printout, reading a 3 instead of an 8. @mizapf: I read LBLA from an original tape. Your observations are interesting 1 Quote Link to comment Share on other sites More sharing options...
ti99iuc Posted January 29, 2018 Share Posted January 29, 2018 Count9929A, it is really good that you are learning the Assembly !! so we can do an "Assembler session for dummies" in next TI99iuc reunion Quote Link to comment Share on other sites More sharing options...
Count9929A Posted January 29, 2018 Author Share Posted January 29, 2018 Hi ti99iuc! I hope that the next reunion will be much sooner! It will take ages before I really learn asm :-) Back to the topic, I confirm that *both* sides of my original tape have an LBLA with addresses 713E. I patched the addresses (in memory) to 718E and now the Old command works properly. I will patch also the ohther bug, and then I will try to save on tape the patched version @ti99iuc: do you have virgin tapes specific to save computer programs? I have only one. Quote Link to comment Share on other sites More sharing options...
+mizapf Posted January 29, 2018 Share Posted January 29, 2018 (edited) It is funny to find obvious bugs in decades-old software. This was a similar experience when I found out there was a bug in the format routine of the original TI floppy disk controller, which remained hidden until I saw it in MAME. They used a MOVB command instead of a MOV command at address 442C (see http://www.unige.ch/medecine/nouspikel/ti99/dc2.txt), so the pointer to the track layout was not set correctly. The low byte was not set to 0x09 but retained an old value 0x00, so the track image was shifted by 9 bytes. It there had been a very different value, this would have caused non-readable disks, but this way, the shift had no effect. Edited January 29, 2018 by mizapf Quote Link to comment Share on other sites More sharing options...
ti99iuc Posted January 29, 2018 Share Posted January 29, 2018 @ti99iuc: do you have virgin tapes specific to save computer programs? I have only one. maybe i should have something... probably will be not Virgin at all... just a bit already used but you can use it again and again Quote Link to comment Share on other sites More sharing options...
Count9929A Posted January 29, 2018 Author Share Posted January 29, 2018 @ti99iuc: as a first exercise to learn assembler, you could load your copy of LBLA in the minimemory and check if it has the bug discussed in the previous posts :-) I believe you have an original tape Quote Link to comment Share on other sites More sharing options...
ti99iuc Posted January 29, 2018 Share Posted January 29, 2018 Oh yes, i done it some years ago bynow... but it need time to dedicate. Quote Link to comment Share on other sites More sharing options...
+Vorticon Posted January 29, 2018 Share Posted January 29, 2018 Here's the LBLA WAV file, corrected for both the symbolic addressing bug and the OLD bug. Please let me know if it's readable as it's being recorded from a 36 year old tape and tape recorder LBLA_Corrected.wav 3 Quote Link to comment Share on other sites More sharing options...
speccery Posted January 30, 2018 Share Posted January 30, 2018 Here's the LBLA WAV file, corrected for both the symbolic addressing bug and the OLD bug. Please let me know if it's readable as it's being recorded from a 36 year old tape and tape recorder LBLA_Corrected.wav Let me ask a really stupid question: now that I am working on the ET-PEB I am using the mini memory cartridge for the very first time. I got the cartridge from kl99 recently (i.e. about a year ago). I so wish I had this cartridge back in the day - but I didn't. I think the LBLA will be a nice tool for me for validating the ET-PEB with simple programs, like repeating loops producing memory access patterns I can check with an oscilloscope or logic analyser. For this purpose I don't want to be loading LBLA from tape (i.e. phone or another computer as audio signal) all the time. It would actually be a good test case for DSR routines. So here is the stupid question: I think I read from somewhere that the L command can be used to load LBLA (in Easybug?). Is it possible to load the LBLA from other device than tape? And a second one: if I store the LBLA memory image (basically whole 4K block of RAM of mini memory after loading LBLA) into flash memory of the ET-PEB, and later inject it back in place just by copying it over, would that work or am I missing something? Quote Link to comment Share on other sites More sharing options...
speccery Posted January 30, 2018 Share Posted January 30, 2018 And a follow up comment - I haven't tried the LBLA WAV file you submitted yet, but I'll certainly try to test it and I'll keep you posted how that went Quote Link to comment Share on other sites More sharing options...
+Vorticon Posted January 30, 2018 Share Posted January 30, 2018 Let me ask a really stupid question: now that I am working on the ET-PEB I am using the mini memory cartridge for the very first time. I got the cartridge from kl99 recently (i.e. about a year ago). I so wish I had this cartridge back in the day - but I didn't. I think the LBLA will be a nice tool for me for validating the ET-PEB with simple programs, like repeating loops producing memory access patterns I can check with an oscilloscope or logic analyser. For this purpose I don't want to be loading LBLA from tape (i.e. phone or another computer as audio signal) all the time. It would actually be a good test case for DSR routines. So here is the stupid question: I think I read from somewhere that the L command can be used to load LBLA (in Easybug?). Is it possible to load the LBLA from other device than tape? And a second one: if I store the LBLA memory image (basically whole 4K block of RAM of mini memory after loading LBLA) into flash memory of the ET-PEB, and later inject it back in place just by copying it over, would that work or am I missing something? Classic99 includes the file MM_LBLA.obj in the DSK1 directory which is essentially an EA tagged object code (option #3) image of the entire 4K of RAM of the MM including the LBLA (corrected for the OLD bug but not the symbolic addressing one) which is loaded from disk. You should be able to use it as is to load LBLA from the ET-PEB using the Mini Memory option of the start menu. And yes, saving the entire MM RAM from >7000 to >7FFF is the way to go for later reloading. 1 Quote Link to comment Share on other sites More sharing options...
+mizapf Posted January 30, 2018 Share Posted January 30, 2018 What are your patches? Only the 713E occurrences? I have some issues with reading the WAV file; I can try to create a clean WAV form MAME (without any jitter or noise). Quote Link to comment Share on other sites More sharing options...
+Vorticon Posted January 30, 2018 Share Posted January 30, 2018 What are your patches? Only the 713E occurrences? I have some issues with reading the WAV file; I can try to create a clean WAV form MAME (without any jitter or noise). Yup, the 3 occurrences of >713E to >718E at addresses >71A6, >71AC and >7226. Also changing 06 to 07 at address >724F to fix the symbolic addressing bug as well. As for the wav file, I'm not sure how my encoder program handles it (Cyberlink Wave Editor), but then again I am using a very old original TI cassette tape player so who know what kind of distortions are being introduced here even though the TI can actually read the tape from that player just fine... Quote Link to comment Share on other sites More sharing options...
Tursi Posted January 30, 2018 Share Posted January 30, 2018 I'll get that symbolic addressing fix into Classic99's version too, I think. 1 Quote Link to comment Share on other sites More sharing options...
Count9929A Posted January 5, 2021 Author Share Posted January 5, 2021 Resurrecting this old thread... You might remember: we found out that the LBLA on some (all?) original tapes has a bug that prevents the OLD command form working. A patched version exists (for instance in Classic 99) but has not (yet) been found on an original tape. Today, I was looking for the Miner 2049 manual on Ciro's database , when my eyes have been caught by the second document in this entry, which seems to me an official addendum by Texas Instruments. If that is the case (Ciro do you remember the origin of the scan?), then the bug was known by TI and the addendum describes the fix that mizapf reconstructed in this thread. Ciro, you're database is a cave of tresures!! ? 2 Quote Link to comment Share on other sites More sharing options...
ti99iuc Posted January 5, 2021 Share Posted January 5, 2021 (edited) @Count9929A I am very glad you find useful the database. I Always dedicate lot of time to complete it best I can and I am always happy when I can see it appreciated from other users. Thanks for your kind words. about the document you linked I can say that both of the sheets was included in an European original Package of the MiniMemory. I think them are official addendums both but, anyway, only one of them has the TI code printed on it... so any doubt is legitimate ? Edited January 6, 2021 by ti99iuc 1 1 Quote Link to comment Share on other sites More sharing options...
moije Posted June 20, 2023 Share Posted June 20, 2023 * * LBLALST * *LiSTing save for LBLA * *[ *... *] can ommit * * * *MM First Free,+4 by sym FF EQU >7CD8+4+4+4+4+4+4+4+4+4+4 *Top,-8 by def TF EQU >7FF0 *[ AORG >701C DATA FF DATA TF *] * * * *seems ok AORG >703A HN MOV R11,R14 from mod *NEw NE EQU >71A6 LI R15,NE to NEw JMP EX * HO MOV R11,R14 *OLd OL EQU >71AC LI R15,OL MOVB R12,R4 JMP $+8 * *User Workspace UW EQU >70B8 BA LWPI UW MOV R14,R15 to mod * MOV R12,R0 *vMbW MW EQU >6028 BLWP @MW copy MOV R8,@>8354 MOV R9,@>834A MOVB R10,@>834C MOV R3,@>8356 MOVB @UW+21,@>836D CLR @>83D0 MOVB R2,@>837C clr GPLST *GplLnk GL EQU >6018 *[ BLWP @GL DATA >6D0E mod VDP init *] BLWP @GL DATA >3D K7 * *EXit hook EX MOVB R13,R4 LI R11,BA BAck to hook B *R15 to LBLA NEW/OLD/mod * * AORG UW+2 DATA UW+8 R1 src at R4 DATA >D R2 # bytes DATA >50D R3 name end in VDP *PAB DATA >FF02 R4 I/O;error;fixed;internal;sequential DATA >1000 R5 buffer DATA >4000 R6 record length;count *+>3C0 by PaGes,max 12 PG EQU >3C0+>3C0+>3C0+>3C0+>3C0+>3C0+>3C0+>3C0+>3C0+>3C0 DATA PG R7 # bytes DATA >0003 R8 screen offset,name length DATA >4353,>3108 R9,R10 'CS1';;8=DSR call AORG $+2 DATA >500 R12 load/dst in VDP DATA >600 R13 save * * AORG NE+2 DATA UW R0 as flag AORG OL+2 DATA UW * * *after LBLA VDP init AORG >71E2 LWPI >7118 main WS SOC @UW,@UW JNE >723A main Loop * MOV @$+12,@>7186 page LWPI >7138 subs WS JMP >7200 copyright * DATA >1000 * * * *[ AORG >722C+2 DATA FF *] * * * *[ *END exit AORG >74FC MOVB @>7943,@>83D4 VR1 for KSCAN *] * * * *[ *new line vector AORG >79C2+2 DATA >79DA+4 don't clear *] * * * *[ *page up/down AORG >7B2E DATA >C40+PG AORG >7B4C DATA >C68+PG *] * * * AORG TF * TEXT 'DUMMY1' * DATA D1 AORG $+6 DATA HO def Hook OLD AORG $+6 DATA HN Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.