This page (revision-26) was last changed on 03-Feb-2023 15:21 by Roland B. Wassenberg 

This page was created on 28-Jan-2015 20:03 by Roland B. Wassenberg

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
26 03-Feb-2023 15:21 12 KB Roland B. Wassenberg to previous
25 26-Apr-2020 11:49 12 KB Roland B. Wassenberg to previous | to last
24 26-Apr-2020 10:53 12 KB Roland B. Wassenberg to previous | to last
23 26-Apr-2020 10:49 12 KB Roland B. Wassenberg to previous | to last
22 26-Apr-2020 10:47 12 KB Roland B. Wassenberg to previous | to last
21 26-Apr-2020 10:36 11 KB Roland B. Wassenberg to previous | to last

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 2 changed 2 lines
Powerful, individual adaptable debugger for Atari 8 bit computers
! Image:
Powerful, individual adaptable debugger for Atari 8 bit computers\\
__If you own Rev. 1.1 of the software, not the manual, please let us know. We can make you an offer, you can't resist. ;-) The version we search for is maybe just from McStuff Co. and not from OSS. Thank you so much in advance for your help, greatly appreciated by the community.__
\\
\\
[{TableOfContents }]
!!Image
At line 6 changed one line
! BUG/65 Disassembly
\\
!!BUG/65 Disassembly
At line 8 changed one line
! ATR-Images:
!!CAS-Image
* [OSS_BUG_65_2.0.cas]
!!ATR-Images
At line 12 changed 11 lines
! Manuals:
* [BUG-65 Manual 1.pdf] ; size: 102 KB
* [BUG-65 Manual 2.pdf] ; size: 283 KB
* [BUG-65 Manual 3.pdf] ; size: 213 KB
* [BUG-65 Manual 4.pdf] ; size: 233 KB
* [BUG-65 Manual 5.pdf] ; size: 987 KB
* [BUG-65 Version 2.0 Manual with ERRATA|BUG-65 Version 2.0 manual-final with errorpage.pdf] ; size: 2.7 MB ; this manual contains as the only one an error page: 'ERRORS IN YOUR BUG/65 MANUAL' (page 4 in the pdf file). As of this moment, it is not understood, why the there mentioned commands: N, O, R', R", W' and W" do not work with the above version 2.0 of BUG/65. Either we have version 1.1 for real, while 2.0 is shown at start or something else is wrong here. Anyway, the mentioned pages on the error page do match with pages in the rest of the manual. Maybe the 'old boys club' from the golden age can solve this? Any help in that case is very welcome at any time. We really appreciate if you can help us.
\\
Please take into account, that in the manuals above version 1.1 is mentioned, while just version 2.0 is available up to now. If you own version 1.1, please let us know. We can make you an offer, you can't resist. ;-)
\\
! BUG/65 User Command Handler Example
!!Manuals
* [BUG/65 Manual Rev. 1.0|Bug-65 Reference Manual v1.0 (1982)(OSS Software)(US)_.pdf] ; size: 2.4 MB ; original first manual from OSS of BUG/65 ; thank you so much DjayBee from AtariAge, that is a great find! Further on [archive.org|https://archive.org/details/rearc_bug-65-reference-manual-v1.0-1982]
* [BUG/65 Manual Rev. 1.0|Bug-65 Manual Rev. 1.0 (1982)(OSS Software)(US)-with table of contents-Original-last 13 pages missing.pdf] ; size: 1.3 MB ; original first manual from OSS of BUG/65 with table of contents, but without section 13: error messages, appendix and the last 13 pages in whole
* [BUG/65 Manual Rev. 1.1|BUG-65 Manual 5.pdf] ; size: 987 KB ; same as above but with: table of contents, section 13: error messages and appendix
* [BUG/65 Manual Rev. 1.1 with ERRATA|BUG-65 Version 2.0 manual-final with errorpage.pdf] ; size: 2.7 MB ; same as above but with an errata page: 'ERRORS IN YOUR BUG/65 MANUAL' (page 4 in the pdf file) for the manual itself ; as of this moment, it is not understood, why the there mentioned commands: N, O, R', R", W' and W" do not work with the above version 2.0 of BUG/65. Either we have version 1.1 for real, while 2.0 is shown at start or something else is wrong here. Anyway, the mentioned pages on the error page do match with pages in the rest of the manual. Further, the below mentioned BUG/65 version 4 patch should not be done, according to the error page from December 1983(?), while it should be done according to the OSS newsletter from summer 1983. Maybe just the 'old boys club' from the golden age can solve this? Any help in that case is very welcome at any time. We would really appreciate if you may can help us here. :-)
* [BUG/65 Manual Rev. 1.1 with ERRATA|Bug-65 Manual Rev. 1.1 (1982)(OSS Software)(US)-re-edit with OCR.pdf] ; size: 23.6 MB ; complete re-edit of the above with navigation bar, hyperlinks and OCR maintaining the original form
__Please take into account, that in the manuals above Rev. 1.1 is mentioned, while just version 2.0 of the software is available up to now.__
* [BUG-65 Manual in html|bug65.zip] ; BUG/65 manual from above in html with css ; Mega-thanks to Erhard Pütz and Dieter Lichtenegger for giving us the best BUG/65 manual possible in html format! :-)
* [BUG-65 Manual 1.pdf] ; size: 102 KB ; with yellow frame taken from the software ; BUG/65 manual from above in pdf form with navigation bar and hyperlinks ; Mega-thanks to Erhard Pütz and Dieter Lichtenegger for giving us the best BUG/65 manual possible in pdf format! :-)
* [BUG-65 Manual 2.pdf] ; size: 283 KB ; without yellow frame, just black & white, but with some colors e. g. chapters
* [BUG-65 Manual 3.pdf] ; size: 213 KB ; with yellow frame taken from the software, but without navigation bar and hyperlinks
* [BUG-65 Manual 4.pdf] ; size: 233 KB ; black & white version without navigation bar and hyperlinks
!!BUG/65 User Command Handler Example
At line 24 changed 69 lines
;**************************************************
; EQUATES INTO BUG/65:
;
LOADPOINT = ???? ; to be determined by user!!
LP = LOADPOINT ; just an abbreviation
MCBEND = LP+$021F ; BUG/65 END CODE MSB
DISPV = LP+$0209 ; DISPLAY CHAR
USRCMD = LP+$0220 ; USER COMMAND VECTOR
GET2HX = LP+$022C ; GET 2 HEX PARAMS
HEXL = $FC ; HEX PARAM 1 RESULT
HEX2 = $FE ; HEX PARAM 2 RESULT
ERRPAR = LP+$0235 ; REPORT PARAM ERROR
DHXBYT = LP+$0238 ; DISPLAY HEX BYTE
LSTPG0 = LP+$0240 ; LAST BUG/65 P0 BYTE USED
EOL = $9B ; END OF LINE CHAR
;
;**************************************************
*= USRCMD ; PATCH US INTO BUG/65
JMP USERC1
;
*= LP+$2000 ; RIGHT AFTER BUG/65 CODE
USERC1 CMP #'1 ; COMMAND "1" ?
BEQ CMDOK ; YES
RTS ; ELSE RTN EQUAL RESET - ERR
;
CMDOK JSR GET2HX ; GET START, END
LDA HEX1 ; MAKE SURE BOTH SPECIFIED
ORA HEX1+1
BEQ PARMER ; OR ELSE ERROR
LDA HEX2
ORA HEX2+1
BNE PARMOK
;
PARMER JMP ERRPAR ; REPORT PARAM ERROR
;
PARMOK LDX LSTPG0 ; LAST BUG/65 P0 BYTE
; (WE'LL USE THE NEXT
; FOR OUR ACCUMULATOR)
LDA #0 ; CLEAR ACCUMULATOR
STA 1,X
TAY ; INIT Y PTR INDEX
;
LOOP LDA HEX2+1 ; PAST END ADDRESS ?
CMP HEX1+1
BCC DONE ; YES
BNE NXTEOR ; NO
LDA HEX2
CMP HEX1
BCC DONE ; YES
;
NXTEOR LDA (HEX1),Y ; CALC EOR CHKSUM
EOR 1,X ; EOR WITH ACCUM
STA 1,X ; AND SAVE IN ACCUM
INC HEX1 ; BUMP PTR
BNE LOOP
INC HEX1+1
JMP LOOP
;
DONE LDA #EOL ; TO NEXT SCREEN LINE
JSR DISPV
LDX LSTPG0 ; RESTORE ACCUM ADDRESS
LDA 1,X ; DISPLAY HEX RESULT
JSR DHXBYT
LDA #0 ; RTN OK (EQUAL SET)
RTS
;
*= MCBEND ; CHANGE BUG/65 CODE
.BYTE >[*+$FF] ; END BYTE TO INCLUDE
.END ; THAT'S ALL FOLKS
0005 ;**************************************************
0010 ; EQUATES INTO BUG/65:
0015 ;
0020 loadpoint = ???? ; to be determined by user!!
0025 lp = loadpoint ; just an abbreviation
0030 MCBEND = lp+$21F ; BUG/65 END CODE MSB
0035 DISPV = lp+$209 ; DISPLAY CHAR
0040 USRCMD = lp+$220 ; USER COMMAND VECTOR
0045 GET2HX = lp+$22C ; GET 2 HEX PARAMS
0050 HEXl = $FC ; HEX PARAM 1 RESULT
0055 HEX2 = $FE ; HEX PARAM 2 RESULT
0060 ERRPAR = lp+$235 ; REPORT PARAM ERROR
0065 DHXBYT = lp+$238 ; DISPLAY HEX BYTE
0070 LSTPG0 = lp+$240 ; LAST BUG/65 P0 BYTE USED
0075 EOL = $9B ; END OF LINE CHAR
0080 ;
0090 ;**************************************************
0100 *= USRCMD ; PATCH US INTO BUG/65
0110 JMP USERC1
0120 ;
0130 *= lp+$2000 ; RIGHT AFTER BUG/65 CODE
0140 USERC1 CMP #'1 ; COMMAND "1" ?
0150 BEQ CMDOK ; YES
0160 RTS ; ELSE RTN EQUAL RESET - ERR
0170 ;
0180 CMDOK JSR GET2HX ; GET START, END
0190 LDA HEX1 ; MAKE SURE BOTH SPECIFIED
0200 ORA HEX1+1
0210 BEQ PARMER ; OR ELSE ERROR
0220 LDA HEX2
0230 ORA HEX2+1
0240 BNE PARMOK
0250 ;
0260 PARMER JMP ERRPAR ; REPORT PARAM ERROR
0270 ;
0280 PARMOK LDX LSTPG0 ; LAST BUG/65 P0 BYTE
0290 ; (WE'LL USE THE NEXT
0300 ; FOR OUR ACCUMULATOR)
0310 LDA #0 ; CLEAR ACCUMULATOR
0320 STA 1,X
0330 TAY ; INIT Y PTR INDEX
0340 ;
0350 LOOP LDA HEX2+1 ; PAST END ADDRESS ?
0360 CMP HEX1+1
0370 BCC DONE ; YES
0380 BNE NXTEOR ; NO
0390 LDA HEX2
0400 CMP HEX1
0410 BCC DONE ; YES
0420 ;
0430 NXTEOR LDA (HEX1),Y ; CALC EOR CHKSUM
0440 EOR 1,X ; EOR WITH ACCUM
0450 STA 1,X ; AND SAVE IN ACCUM
0460 INC HEX1 ; BUMP PTR
0470 BNE LOOP
0480 INC HEX1+1
0490 JMP LOOP
0500 ;
0510 DONE LDA #EOL ; TO NEXT SCREEN LINE
0520 JSR DISPV
0530 LDX LSTPG0 ; RESTORE ACCUM ADDRESS
0540 LDA 1,X ; DISPLAY HEX RESULT
0550 JSR DHXBYT
0560 LDA #0 ; RTN OK (EQUAL SET)
0570 RTS
0580 ;
0590 *= MCBEND ; CHANGE BUG/65 CODE
0600 .BYTE >[*+$FF] ; END BYTE TO INCLUDE
0610 .END ; THAT'S ALL FOLKS
At line 94 changed 2 lines
The MAC/65 file of the 'User Command Handler Example': 'USRCOMHD.M65' is already on all of the atr-images above.
! BUG/65 does not print with XL/XE OS:
The MAC/65 file of the 'User Command Handler Example': 'USRCOMHD.M65' is already on all of the atr images above.
!!BUG/65 does not print with XL/XE OS
Mega-thanks to Erhard Pütz for the final solution of this problem! :-)
At line 114 changed one line
! BUG/65 version 4 patch:
!!BUG/65 version 4 patch
At line 145 changed one line
BUGV4FIX.COM ; we are still searching for that file, it seems to be lost. Any help, any hint in that case is very much appreciated. :-)
BUGV4FIX.COM ; we are still searching for that file, it seems to be lost in time, like tears in rain. Any help, any hint in that case is very much appreciated. :-)
At line 147 changed one line
At the end of the BUG/65 manual we can read:\\ \\
At the end of the BUG/65 manual we can read:\\
At line 150 changed 2 lines
3. The file BUG65.COM on that disk is now compatible with version 4 of DOSXL.\\ \\
WARNING: Do NOT perform the BUGV4FIX command on your version 2 master disk!\\
3. The file BUG65.COM on that disk is now compatible with version 4 of DOSXL.\\
At line 153 changed one line
! Creating a non-relocatable version
__WARNING: Do NOT perform the BUGV4FIX command on your version 2 master disk!__
!!BUG/65 patch from OSS Newsletter October 1984
When BUG gets control as the result of a BRK instruction being executed, it actually checks to see it the BRK instruction is one which it placed (as a result of a "G" command). If not, it assumes that it is a user breakpoint, to be handled by a user routine! Guess what? Most of us don't go around adding user BRK handlers to Atari’s OS, so the machine goes off into never-never-land.\\
At line 179 added 19 lines
Quick hix (again, not hor the faint of heart): After loading BUG/65 from CP, perform the following actions:\\
\\
1. Display the contents of location $2E7 (LOMEM).\\
2. Use the "H" command to add $17EE to those contents. (Example: if $2E7 contains 2200, use "H 2200 17EE” to find the sum.) Call this value ADDSUM.\\
3. Display the memory at ADDSUM (via the "D" command. You should see the following bytes (if not, stop now): 39EE E9 02 4D . . . ("39EE" is arbitrary-value of ADDSUM if LOMEM is at $2200.)\\
4. Use BUG/65 commands as follows:\\
\\
Z 600\\
LDA #B0\\
STA addsum (use actual address instead of name!)\\
LDA #1E\\
STA addsum+1 (again, use an actual address)\\
BRK (hit the BREAK key to exit miniassembler)\\
G 600\\
\\
If you did everything correctly, BUG/65 should allow a "USER RUN" and then print a breakpoint message for the BRK at $60A. If it didn’t work, you may have an already-fixed version of BUG/65, so ignore all this.\\
!!Creating a non-relocatable version
At line 163 changed 3 lines
thus also giving it a name which will later remind you where it will load at. To execute this non-relocatable version, simply type in its name (BUG7000 in the example shown).\\
\\
! Summary of major features of BUG/65
thus also giving it a name which will later remind you where it will load at. To execute this non-relocatable version, simply type in its name (BUG7000 in the example shown).
!!Summary of major features of BUG/65
At line 177 changed 3 lines
• Page zero sharing. BUG/65 shares page zero with a user program by keeping two copies of the shared page zero locations - one for the user and one for BUG/65 itself.\\
\\
! Command Summary of BUG/65:
• Page zero sharing. BUG/65 shares page zero with a user program by keeping two copies of the shared page zero locations - one for the user and one for BUG/65 itself.
!!Command Summary of BUG/65
At line 182 changed 2 lines
Command Summary of BUG/65 Version 2.0 (C) 1982 McStuff Company and Optimized Systems Software, Inc.\\
\\
Command Summary of BUG/65 Version 2.0 (C) 1982 McStuff Company and Optimized Systems Software, Inc.