tjb Posted May 12, 2007 Share Posted May 12, 2007 Does anyone know where I might find the Atari version of this assembler. It's the one that is built/described in the Second Book of Machine Language by Richard Mansfield. Thanks, tjb Quote Link to comment Share on other sites More sharing options...
Fujix Posted May 12, 2007 Share Posted May 12, 2007 You can find the object code (and the text of the book) online here: http://www.atariarchives.org/2bml/appendix_b.php Simple copy and paste should get it up and running quickly... Quote Link to comment Share on other sites More sharing options...
tjb Posted May 12, 2007 Author Share Posted May 12, 2007 Cool, thanks. tjb Quote Link to comment Share on other sites More sharing options...
Urchlay Posted May 12, 2007 Share Posted May 12, 2007 You can find the object code (and the text of the book) online here: http://www.atariarchives.org/2bml/appendix_b.php Simple copy and paste should get it up and running quickly... There are probably a ton of typo/OCR errors... I know there are quite a few in the copy of Mapping the Atari, on the same site. Quote Link to comment Share on other sites More sharing options...
+Allan Posted May 12, 2007 Share Posted May 12, 2007 (edited) You can find the object code (and the text of the book) online here: http://www.atariarchives.org/2bml/appendix_b.php Simple copy and paste should get it up and running quickly... There are probably a ton of typo/OCR errors... I know there are quite a few in the copy of Mapping the Atari, on the same site. Not in the books I did. I didn't do those two books though. If you find any, please let me or the site's admin know where they are. Allan Edited May 12, 2007 by Allan Quote Link to comment Share on other sites More sharing options...
tjb Posted May 12, 2007 Author Share Posted May 12, 2007 You can find the object code (and the text of the book) online here: http://www.atariarchives.org/2bml/appendix_b.php Simple copy and paste should get it up and running quickly... There are probably a ton of typo/OCR errors... I know there are quite a few in the copy of Mapping the Atari, on the same site. True, not to mention you'd need the MLX program to enter it. I was actually thinking of throwing together a perl script to do the same thing. I dunno. tjb Quote Link to comment Share on other sites More sharing options...
Fujix Posted May 12, 2007 Share Posted May 12, 2007 Typos or no... still quicker than typing it! Quote Link to comment Share on other sites More sharing options...
dwhyte Posted May 13, 2007 Share Posted May 13, 2007 I'd be more than happy to take a break from my project and do a little typing into MLX (pissed at myself for doing a SAVE #D:CASTLE.M65, when it should have been a SAVE #D:TRAINING.M65, only lost a good chunk of what I've been working on, not to mention my eyes are going buggy trying to encode levels with my custom bitfields)... Something nostalgic about typing in a program that way... Brings back warm and fuzzy memories... I'll try tackling it tonight... If there is any typos in the OCR scan, then MLX will pick it up as the last byte value of every line is the checksum... Quote Link to comment Share on other sites More sharing options...
dwhyte Posted May 16, 2007 Share Posted May 16, 2007 You can find the object code (and the text of the book) online here: http://www.atariarchives.org/2bml/appendix_b.php Simple copy and paste should get it up and running quickly... There are probably a ton of typo/OCR errors... I know there are quite a few in the copy of Mapping the Atari, on the same site. True, not to mention you'd need the MLX program to enter it. I was actually thinking of throwing together a perl script to do the same thing. I dunno. tjb If you're planning on writing a PERL script to convert to a binary you may run into some problems as I've discovered a couple of checksum errors so far in 3 lines. One line I was able to figure out by trial and error in MLX, but the other two I'll have to wait to throw those 12 bytes (hopefully finding no more) into the binary with a debugger... Quote Link to comment Share on other sites More sharing options...
tjb Posted May 16, 2007 Author Share Posted May 16, 2007 You can find the object code (and the text of the book) online here: http://www.atariarchives.org/2bml/appendix_b.php Simple copy and paste should get it up and running quickly... There are probably a ton of typo/OCR errors... I know there are quite a few in the copy of Mapping the Atari, on the same site. True, not to mention you'd need the MLX program to enter it. I was actually thinking of throwing together a perl script to do the same thing. I dunno. tjb If you're planning on writing a PERL script to convert to a binary you may run into some problems as I've discovered a couple of checksum errors so far in 3 lines. One line I was able to figure out by trial and error in MLX, but the other two I'll have to wait to throw those 12 bytes (hopefully finding no more) into the binary with a debugger... My Perl script flagged a number of lines where the checksum didn't match. I'm going to double check the script. It also flagged a few lines that had scan errors such as: Invalid line: 34958:253,153,024,17v,255,153,129 Invalid line: 35696:1737185,153,201,032,208,040 Invalid line: 36428:032,011,145,173,188,154,01I Invalid line: 36998:003;048,001,096,169,000,195 Invalid line: 37334:032.230,216,160,000,140,224 Invalid line: 38216:230,204,076,245,148,206;157 Invalid line: 38402:133,203,141,035,146.056,204 Invalid line: 39080:080,08S,083,066,067,083,123 Invalid line: 39446:0455045,045,045,045,045,036 I'm hoping the lines that have bad checksums are also caused by scan errors. Since I have the actual book I'm going to try and correct the lines and hopefully build an executable file using the script. As soon as I get a working copy I'll post it. tjb Quote Link to comment Share on other sites More sharing options...
dwhyte Posted May 16, 2007 Share Posted May 16, 2007 You can find the object code (and the text of the book) online here: http://www.atariarchives.org/2bml/appendix_b.php Simple copy and paste should get it up and running quickly... There are probably a ton of typo/OCR errors... I know there are quite a few in the copy of Mapping the Atari, on the same site. True, not to mention you'd need the MLX program to enter it. I was actually thinking of throwing together a perl script to do the same thing. I dunno. tjb If you're planning on writing a PERL script to convert to a binary you may run into some problems as I've discovered a couple of checksum errors so far in 3 lines. One line I was able to figure out by trial and error in MLX, but the other two I'll have to wait to throw those 12 bytes (hopefully finding no more) into the binary with a debugger... My Perl script flagged a number of lines where the checksum didn't match. I'm going to double check the script. It also flagged a few lines that had scan errors such as: Invalid line: 34958:253,153,024,17v,255,153,129 Invalid line: 35696:1737185,153,201,032,208,040 Invalid line: 36428:032,011,145,173,188,154,01I Invalid line: 36998:003;048,001,096,169,000,195 Invalid line: 37334:032.230,216,160,000,140,224 Invalid line: 38216:230,204,076,245,148,206;157 Invalid line: 38402:133,203,141,035,146.056,204 Invalid line: 39080:080,08S,083,066,067,083,123 Invalid line: 39446:0455045,045,045,045,045,036 I'm hoping the lines that have bad checksums are also caused by scan errors. Since I have the actual book I'm going to try and correct the lines and hopefully build an executable file using the script. As soon as I get a working copy I'll post it. tjb So far with MLX, all I have is line 35666 & line 35738... You definately want to check your script as these lines weren't flagged by your program, but were flagged by MLX... Quote Link to comment Share on other sites More sharing options...
tjb Posted May 16, 2007 Author Share Posted May 16, 2007 You can find the object code (and the text of the book) online here: http://www.atariarchives.org/2bml/appendix_b.php Simple copy and paste should get it up and running quickly... There are probably a ton of typo/OCR errors... I know there are quite a few in the copy of Mapping the Atari, on the same site. True, not to mention you'd need the MLX program to enter it. I was actually thinking of throwing together a perl script to do the same thing. I dunno. tjb If you're planning on writing a PERL script to convert to a binary you may run into some problems as I've discovered a couple of checksum errors so far in 3 lines. One line I was able to figure out by trial and error in MLX, but the other two I'll have to wait to throw those 12 bytes (hopefully finding no more) into the binary with a debugger... My Perl script flagged a number of lines where the checksum didn't match. I'm going to double check the script. It also flagged a few lines that had scan errors such as: Invalid line: 34958:253,153,024,17v,255,153,129 Invalid line: 35696:1737185,153,201,032,208,040 Invalid line: 36428:032,011,145,173,188,154,01I Invalid line: 36998:003;048,001,096,169,000,195 Invalid line: 37334:032.230,216,160,000,140,224 Invalid line: 38216:230,204,076,245,148,206;157 Invalid line: 38402:133,203,141,035,146.056,204 Invalid line: 39080:080,08S,083,066,067,083,123 Invalid line: 39446:0455045,045,045,045,045,036 I'm hoping the lines that have bad checksums are also caused by scan errors. Since I have the actual book I'm going to try and correct the lines and hopefully build an executable file using the script. As soon as I get a working copy I'll post it. tjb So far with MLX, all I have is line 35666 & line 35738... You definately want to check your script as these lines weren't flagged by your program, but were flagged by MLX... Actually it did flag those lines as having invalid checksums, I just didn't include them: Bad checksum for line: 35666:240,067,201,058,240,063,187 (s\b 183) Bad checksum for line: 35738:141,186,255,076,104,139,185 (s\b 31) It flagged so many I felt it might be the script so I didn't include them. Here's the full list it generated: Bad checksum for line: 33876:032,248,132,076,104,132,042 (s\b 40) Invalid line: 34958:253,153,024,17v,255,153,129 Bad checksum for line: 15618:174,208,154,208,009,032,051 (s\b 19) Bad checksum for line: 35666:240,067,201,058,240,063,187 (s\b 183) Invalid line: 35696:1737185,153,201,032,208,040 Bad checksum for line: 35738:141,186,255,076,104,139,185 (s\b 31) Bad checksum for line: 35810:008,170,226,154,240,003,006 (s\b 3) Bad checksum for line: 35834:002,002,011,145,056,173,157 (s\b 127) Bad checksum for line: 35972:032,014,145,162,001,032,066 (s\b 6) Bad checksum for line: 36014:063,141,174,192,154,076,203 (s\b 206) Bad checksum for line: 36098:002,033,042,145,173,191,044 (s\b 76) Bad checksum for line: 36212:145,032,005,142,076,169,193 (s\b 173) Bad checksum for line: 36272:222,154,203,001,096,141,230 (s\b 225) Bad checksum for line: 36290:154,002,036,145,032,014,095 (s\b 65) Bad checksum for line: 36226:173,227,154,240,009,173,182 (s\b 82) Invalid line: 36428:032,011,145,173,188,154,01I Bad checksum for line: 36536:191,144,153,144,153,032,231 (s\b 233) Bad checksum for line: 36686:165,136,141,230,154,165,645 (s\b 45) Bad checksum for line: 36746:032,121,141,258,221,154,021 (s\b 41) Bad checksum for line: 36958:141,223,154,076,190,143,233 (s\b 253) Bad checksum for line: 36944:169,046,052,036,145,169,165 (s\b 185) Bad checksum for line: 36980:169,080,052,016,145,032,101 (s\b 98) Invalid line: 36998:003;048,001,096,169,000,195 Bad checksum for line: 37022:074,141,104,104,076,220,069 (s\b 109) Invalid line: 37334:032.230,216,160,000,140,224 Bad checksum for line: 37386:133,135,032,043,136,173,152 (s\b 150) Bad checksum for line: 37194:192,154,141,187,154,173,251 (s\b 51) Bad checksum for line: 37550:009,146,208,004,240,013,056 (s\b 26) Bad checksum for line: 27586:000,133,162,169,002,133,041 (s\b 25) Bad checksum for line: 37784:201,059,206,003,238,064,157 (s\b 155) Bad checksum for line: 37802:201,121,176,002,041,095,040 (s\b 38) Bad checksum for line: 37874:147,169,082,131,203,169,121 (s\b 119) Bad checksum for line: 38924:000,000,000,000,169,000,049 (s\b 181) Invalid line: 38216:230,204,076,245,148,206;157 Bad checksum for line: 38288:149,096,133,201,132,204,037 (s\b 35) Bad checksum for line: 38312:001,141,035,146,172,054,206 (s\b 205) Bad checksum for line: 38324:173,051,146,141,017,146,106 (s\b 86) Bad checksum for line: 38316:056,173,047,146,237,053,136 (s\b 116) Bad checksum for line: 38342:146,141,039,146,171,048,123 (s\b 121) Bad checksum for line: 38172:039,146,240,022,032,067,006 (s\b 62) Invalid line: 38402:133,203,141,035,146.056,204 Bad checksum for line: 38414:173,052,146,131,204,141,095 (s\b 93) Bad checksum for line: 36438:048,146,237,052,146,141,040 (s\b 88) Bad checksum for line: 38636:012,231,148,096,032,246,253 (s\b 233) Bad checksum for line: 38720:061,146,133,204,056,171,069 (s\b 67) Bad checksum for line: 38804:169,007,103,131,032,025,133 (s\b 103) Bad checksum for line: 38876:162,076,003,128,175,062,056 (s\b 58) Bad checksum for line: 38906:087,147,169,004,133,130,155 (s\b 152) Bad checksum for line: 33924:003,169,032,157,069,003,189 (s\b 53) Bad checksum for line: 38906:080,157,073,003,169,007,001 (s\b 227) Bad checksum for line: 38942:157,066,003,002,002,145,179 (s\b 149) Bad checksum for line: 39026:084,080,066,067,083,066,051 (s\b 48) Invalid line: 39080:080,08S,083,066,067,083,123 Bad checksum for line: 39176:088,033,067,076,086,075,230 (s\b 177) Bad checksum for line: 39200:000,002,000,002,004,004,004 (s\b 44) Bad checksum for line: 39290:248,120,186,154,184,334,224 (s\b 68) Bad checksum for line: 39404:000,000,000,000,000,000,216 (s\b 236) Invalid line: 39446:0455045,045,045,045,045,036 Bad checksum for line: 39458:194,242,225,238,227,212,112 (s\b 92) Bad checksum for line: 39476:229,000,212,238,220,229,165 (s\b 156) Obviously this needs to be verified so I would take it with a grain of salt. You might see how it compares with MLX however. I would think it would be the script. Surely there aren't that many errors! tjb Quote Link to comment Share on other sites More sharing options...
tjb Posted May 17, 2007 Author Share Posted May 17, 2007 Well I made some progress. It seems the errors spit out by my script are real according to the book. After correcting them I can create a binary load file but when I try to load it into Atari800Win+ it crashes. I'm sure it's something I did wrong. Still working on it... tjb Quote Link to comment Share on other sites More sharing options...
tjb Posted May 21, 2007 Author Share Posted May 21, 2007 Well it seems the listing at AtariArchives was missing a line. Since the address of each line should be six bytes ahead of the last it was easy to modify my perl script to report when an address was incorrect. I then typed in the missing line. At present I have a binary load file but after I load it control immediately returns to DOS. My script adds a block for 736,737 to provide a run address of 32768. Any suggestions? I'll attach the binary so that maybe someone can eyeball it to see if they see anything obvious? BTW, I had to rename the file from .com to .txt so I would be allowed to upload it. Thanks, tjb lads.txt Quote Link to comment Share on other sites More sharing options...
Urchlay Posted May 21, 2007 Share Posted May 21, 2007 At present I have a binary load file but after I load it control immediately returns to DOS. My script adds a block for 736,737 to provide a run address of 32768. Any suggestions? I'll attach the binary so that maybe someone can eyeball it to see if they see anything obvious? BTW, I had to rename the file from .com to .txt so I would be allowed to upload it. That run address can't be right. Location 32768 just contains an RTS, which is why it returns to DOS immediately. Location 32769 contains a "JMP $92CB", and $92CB also contains an RTS... I tried setting the run address to $8004 (32772), which is the first bit of code that doesn't immediately return to DOS, but it just locks up... (time passes while I mess with it...) OK, it looks like your script added a stray byte, $60, first byte after the 6-byte header. The binary you posted has 6853 bytes of object code... MLX uses 6-byte lines, and 6853 isn't divisible by 6... but 6852 is. Since an RTS at $8000 doesn't make sense (the book says the entry point is $8000), I just used a hex editor to remove that one byte, adjusted the ending address in the header down by 1, loaded the file, and got "LADS Ready." I wrote, assembled, and ran a 3-line program with it, and it seems to work fine. Here's the edited binary (zipped to make the forum software happy): lads.zip 1 Quote Link to comment Share on other sites More sharing options...
tjb Posted May 21, 2007 Author Share Posted May 21, 2007 At present I have a binary load file but after I load it control immediately returns to DOS. My script adds a block for 736,737 to provide a run address of 32768. Any suggestions? I'll attach the binary so that maybe someone can eyeball it to see if they see anything obvious? BTW, I had to rename the file from .com to .txt so I would be allowed to upload it. That run address can't be right. Location 32768 just contains an RTS, which is why it returns to DOS immediately. Location 32769 contains a "JMP $92CB", and $92CB also contains an RTS... I tried setting the run address to $8004 (32772), which is the first bit of code that doesn't immediately return to DOS, but it just locks up... (time passes while I mess with it...) OK, it looks like your script added a stray byte, $60, first byte after the 6-byte header. The binary you posted has 6853 bytes of object code... MLX uses 6-byte lines, and 6853 isn't divisible by 6... but 6852 is. Since an RTS at $8000 doesn't make sense (the book says the entry point is $8000), I just used a hex editor to remove that one byte, adjusted the ending address in the header down by 1, loaded the file, and got "LADS Ready." I wrote, assembled, and ran a 3-line program with it, and it seems to work fine. Here's the edited binary (zipped to make the forum software happy): lads.zip Cool, thanks! We now have a working copy of LADS! tjb Quote Link to comment Share on other sites More sharing options...
Urchlay Posted May 21, 2007 Share Posted May 21, 2007 Cool, thanks! We now have a working copy of LADS! The acid test would be to use that copy of LADS to assemble the LADS source from the book. If it works, and if the object code is the same, we know it's a "golden" copy of LADS. Looks like the source code is scattered throughout the book... and probably full of OCR errors, too The other way to prove it's correct would be for someone who has the book to print a decimal dump (6 bytes per line) and compare each line of the dump to the MLX code in the book... but man, that would be tedious. It's 1142 lines of MLX, if we knew 5 or 10 people who owned the book, we could split the job up and have everyone verify a chunk of the code... but I don't have a copy of it (wanted it *real* bad back in the day though). Quote Link to comment Share on other sites More sharing options...
dwhyte Posted May 21, 2007 Share Posted May 21, 2007 Cool, thanks! We now have a working copy of LADS! The acid test would be to use that copy of LADS to assemble the LADS source from the book. If it works, and if the object code is the same, we know it's a "golden" copy of LADS. Looks like the source code is scattered throughout the book... and probably full of OCR errors, too The other way to prove it's correct would be for someone who has the book to print a decimal dump (6 bytes per line) and compare each line of the dump to the MLX code in the book... but man, that would be tedious. It's 1142 lines of MLX, if we knew 5 or 10 people who owned the book, we could split the job up and have everyone verify a chunk of the code... but I don't have a copy of it (wanted it *real* bad back in the day though). So far I've been using MLX and only ran into two lines of problems... Quote Link to comment Share on other sites More sharing options...
tjb Posted May 21, 2007 Author Share Posted May 21, 2007 Cool, thanks! We now have a working copy of LADS! The acid test would be to use that copy of LADS to assemble the LADS source from the book. If it works, and if the object code is the same, we know it's a "golden" copy of LADS. Looks like the source code is scattered throughout the book... and probably full of OCR errors, too The other way to prove it's correct would be for someone who has the book to print a decimal dump (6 bytes per line) and compare each line of the dump to the MLX code in the book... but man, that would be tedious. It's 1142 lines of MLX, if we knew 5 or 10 people who owned the book, we could split the job up and have everyone verify a chunk of the code... but I don't have a copy of it (wanted it *real* bad back in the day though). So far I've been using MLX and only ran into two lines of problems... Are you typing in it from the book or from what is posted at Atari Archives? tjb Quote Link to comment Share on other sites More sharing options...
+Larry Posted November 21, 2010 Share Posted November 21, 2010 My original Lads disk is no longer viable, so I found this thread and ultimately the posted .Zip of the LADS.COM -- thanks! But out of curiosity, I tried to make a working copy from the MLX Lads Data file, and thus far, no success. So I was wondering -- was anyone ever to make a working version of Lads via MLX and the Atari Archives data? When I load the data into MLX, everything appears to go fine, but LADS just dies after loading the resulting binary file. Doing a byte compare, the MLX-generated program is different than the Lads.com posted here. (?) Maybe my copy of MLX is at fault, so I'll try another copy of MLX, but in the meantime, did anyone else have success with MLX? -Larry Quote Link to comment Share on other sites More sharing options...
+Larry Posted November 23, 2010 Share Posted November 23, 2010 FWIW -- After working with this a bit, I believe I see the problem. The Atari LADS: MLX Format (as posted at Atari Archives) is identical to the data as shown in the book. Unfortunately, that is designed to be typed in in the form byte,byte,byte,byte,byte,byte,"checksum". (Note that the address and colon is generated by MLX) If you type in a few lines and SAVE them, it SAVEs the bytes of data without the checksums. But if you try to LOAD the data file from Atari Archives (at the very least), the included addresses & checksums in the data definitely create errors in the BLOAD file. In order to be able to use the data from Atari Archives, you would need to get rid of everything except the data bytes. Hence the use of scripts or some type of parsing, say in BASIC. So the short answer (I believe) is it can't be done with MLX and the data file -- without typing the whole thing in. -Larry Quote Link to comment Share on other sites More sharing options...
Savetz Posted July 25, 2016 Share Posted July 25, 2016 Here's my interview with Richard Mansfield: ANTIC Interview 206 - Richard Mansfield: Compute! Magazine, 6502 Machine Language Books 3 Quote Link to comment Share on other sites More sharing options...
gheller Posted August 12, 2021 Share Posted August 12, 2021 If you're still looking for a copy of LADS, I have one, it seems to be working in an emulator. I can't seem to get the paperclip icon below to work, though, so I'm not sure how to attach it. I have a file called LADS.OBJ which I can load using DOS and I get the "LADS Ready." prompt. I also have an .ATR image of the disk it came on with a number of (I believe) sample programs. Quote Link to comment Share on other sites More sharing options...
cwareham Posted July 5, 2023 Share Posted July 5, 2023 gheller, could I get a copy of the .ATR image of the LADS disk? email is cwareham007@gmail.com tia Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted July 5, 2023 Share Posted July 5, 2023 @gheller hasn't been here in two years @cwareham 1 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.