/ BSAVE EXTENDED COMMAND FOR P?S/8 PAL8-VB0 23-JUL-86 PAGE 1 1 / BSAVE EXTENDED COMMAND FOR P?S/8 2 3 / LAST EDIT: 05-JAN-1986 10:00:00 CJL 4 5 / MUST BE ASSEMBLED WITH '/J' SWITCH SET. 6 7 / THIS PROGRAM IMPLEMENTS THE ABILITY TO SAVE CORE IMAGE ELEMENTS FROM 8 / THE P?S/8 CORE IMAGE AREA (AND ANY RELATED EXTENDED MEMORY AREAS) AS 9 / P?S/8 BINARY FILES. 10 11 / TYPICAL USAGE: 12 13 / A) .BSAVE BNFILE<0-1777 14 15 / B) .BSAVE 0-1777>BNFILE 16 17 / RESTRICTIONS: 18 19 / IF USING FORM A), ALL SWITCH OPTIONS (/A) MUST BE PASSED BEFORE THE "<". 20 21 / IF USING FORM B), ALL SWITCH OPTIONS MUST BE PASSED TO THE RIGHT OF THE ">". 22 23 / SINCE BSAVE REQUIRES THE LACK OF INPUT FILES, THE MONITOR COULD PASS A 24 / COMMAND LINE UNSUITABLE FOR USE WITH BSAVE. IN FACT, SINCE THE DEFAULT MODE 25 / OF MONITOR SCANNING IS TO LOOK FOR INPUT FILES (UNTIL A FILE SEPARATOR 26 / CHANGES THE RULES), IT IS EVEN POSSIBLE FOR THE MONITOR TO ISSUE AN ERROR 27 / MESSAGE FOR AN INPUT FILE "NOT FOUND." THIS SITUATION WILL THEREFORE EITHER 28 / BE REJECTED BY THE MONITOR IF THE FILE DID NOT EXIST, OR BY BSAVE ITSELF 29 / MERELY BECAUSE THE COMMAND LINE LACKS OUTPUT FILES. / BSAVE EXTENDED COMMAND FOR P?S/8 PAL8-VB0 23-JUL-86 PAGE 8 280 / ERROR MESSAGES. 281 282 003276 1116 BDCRMSG,TEXT "INVALID MEMORY IMAGE!" 283 003277 2601 284 003300 1411 285 003301 0440 286 003302 1505 287 003303 1517 288 003304 2231 289 003305 4011 290 003306 1501 291 003307 0705 292 003310 4100 293 003311 4440 BDLRMSG,TEXT "$ ILLEGAL AS OUTPUT FILE!" 294 003312 1114 295 003313 1405 296 003314 0701 297 003315 1440 298 003316 0123 299 003317 4017 300 003320 2524 301 003321 2025 302 003322 2440 303 003323 0611 304 003324 1405 305 003325 4100 306 003326 4540 BDPRMSG,TEXT "% ILLEGAL AS OUTPUT FILE!" 307 003327 1114 308 003330 1405 309 003331 0701 310 003332 1440 311 003333 0123 312 003334 4017 313 003335 2524 314 003336 2025 315 003337 2440 316 003340 0611 317 003341 1405 318 003342 4100 319 003343 1617 NFLSMSG,TEXT "NO OUTPUT FILES" 320 003344 4017 321 003345 2524 322 003346 2025 323 003347 2440 324 003350 0611 325 003351 1405 326 003352 2300 / BSAVE EXTENDED COMMAND FOR P?S/8 PAL8-VB0 23-JUL-86 PAGE 19 690 / COMES HERE TO START IT UP. 691 692 000600* 4777 BSAVEST,JMS I (BCLEAR) /INITIALIZE OUTPUT FILE 693 000601* 5776 JMP I (GETSPEC) /KEEP GOING THERE 694 695 / COMES HERE ON ANY ARGUMENT ERRORS. 696 697 000602* 4547 SYNERR, JMS I [BSCRIBE] /COMPLAIN OF ... 698 000603* 0201 TEXT "BAD ARGUMENTS PASSED!" 699 000604* 0440 700 000605* 0122 701 000606* 0725 702 000607* 1505 703 000610* 1624 704 000611* 2340 705 000612* 2001 706 000613* 2323 707 000614* 0504 708 000615* 4100 709 000616* 5567 JMP I [SBOOT] /GOODBYE! 710 711 / COMES HERE IF INSUFFICIENT OUTPUT FILES 712 713 000617* 4547 TOMANY, JMS I [BSCRIBE] /COMPLAIN OF ... 714 000620* 1116 TEXT "INSUFFICIENT OUTPUT FILES! " 715 000621* 2325 716 000622* 0606 717 000623* 1103 718 000624* 1105 719 000625* 1624 720 000626* 4017 721 000627* 2524 722 000630* 2025 723 000631* 2440 724 000632* 0611 725 000633* 1405 726 000634* 2341 727 000635* 4000 728 000636* 5567 JMP I [SBOOT] /GOODBYE 729 730 000637* 0000 CHKUP, .-. /CHECK FOR <^C>, ETC. ROUTINE 731 000640* 4066 JMS CTLCTST /CHECK FOR <^C> 732 000641* 7440 SZA /SKIP IF NOTHING CAME IN 733 000642* 1375 TAD (-"Q!300) /ELSE COMPARE TO <^Q> 734 000643* 7450 SNA /SKIP IF NEITHER CASE 735 000644* 5254 JMP CHKCLR /ELSE FORGET IT 736 000645* 1374 TAD (-"S+"Q) /COMPARE TO <^S> 737 000646* 7640 SZA CLA /SKIP IF IT MATCHES 738 000647* 5637 JMP I CHKUP /ELSE RETURN 739 000650* 4066 JMS CTLCTST /GET ANOTHER CHARACTER 740 000651* 1375 TAD (-"Q!300) /COMPARE TO <^Q> 741 000652* 7640 SZA CLA /SKIP IF IT MATCHES 742 000653* 5250 JMP .-3 /ELSE KEEP GOING 743 000654* 3003 CHKCLR, DCA INCHAR /OBLITERATE <^Q>, ETC. 744 000655* 5637 JMP I CHKUP /RETURN