nep.pgelhausen@AMES-VMSB.ARPA (02/01/86)
I am having a problem. The following program SHOULD re-instate an OSS "supercartridge" after being 'removed' by a similar program (the only differences are between the SEI and the CLI). When I enter Action! from OS/A+ after turning the cart off & on w/ these programs, I get MUCH garbage on screen (pretty lights, different modes on each line!) & have to re-boot. I am not too good w/ assembly language & a borrowed entirely some code from a similar program for turning the XL basics on & off (published as DATA statements in Compute! & hand dis- assembled. Could someone tell me what I'm doing wrong here?? -Richard Hartman max.hartman@ames-vmsb ; ; TURNON -- RESTORES AN OSS SUPERCART ; "REMOVED" WITH TURNOFF ; ; COPYRIGHT RICHARD M. HARTMAN ; JAN 1986 ; SAVBNK = $CF ; UNUSED BY OS CLKLO = 20 ; LO BYTE OF CLOCK CURBNK = $AFFF ; SUPERCART BANK RAMTOP = $6A ; SEL = $D500 ; START OF BANK "SWITCHES" ISCART = $03FA ; IS CART IN? ; ORG $0600 ; PAGE SIX ; START LDA CLKLO TOP CMP CLKLO BEQ TOP ; WAIT FOR CLOCK TO CHANGE ; SEI ; DISABLE INTERUPTS ; LDX SAVBNK ; RECALL SAVED BANK # STA SEL,X ; RE-INSTALL CART ; LDA #1 STA ISCART ; TELL OS CART IS IN LDA $A0 STA RAMTOP ; WE HAVE LESSMORE MEMORY NOW ; CLI ; RE-ENABLE INTERUPTS ; ; CLOSE & REOPEN SCREEN DEVICE ; (DEVICE #0) TO RESET SCREEN TO ; NEW TOP OF RAM. THESE NUMBERS ; LIFTED FROM BASIC DATA STATEMENTS ; IN NOV '85 COMPUTE! MAGAZINE'S ; "INSIGHT: ATARI" COLUMN, WHICH ; SHOWED HOW TO DISABLE THE BUILT-IN ; BASIC IN THE XL/XE SERIES ATARIS. ; LDA #03 ; OPEN STA $0342 ; DEV 0 COMMAND BYTE LDA #LOW EDEV ; DEV NAME LOW STA $0344 LDA #HIGH EDEV ; DEV NAME HI STA $0345 LDX $00 ; AUX JMP $E456 ; OPEN SCREEN DEV ; PERHAPS JSR INSTEAD? RTS ; UNUSED IF ABOVE IS JMP EDEV DB 'E:',0 ------