Jump to content

TGB1718

Members
  • Content Count

    675
  • Joined

  • Last visited

Community Reputation

366 Excellent

About TGB1718

  • Rank
    Dragonstomper

Profile Information

  • Gender
    Male
  • Location
    Holbeach, UK
  • Interests
    Astronomy, Science, Computing, Electronics and obviously all things Atari
  • Currently Playing
    World of Warcraft

Recent Profile Visitors

958 profile views
  1. Just by the looks of it, there are a few more chips on the board than in a normal Happy, my guess is it's a parallel printer port (maybe) which would allow you to connect to any Centronics printer of the day. You could test this by booting the drive, going into BASIC and type OPEN #1,4,0,"P:" if you don't get an error, then the drive is acting a a printer
  2. Personally, I never wire the SIO 5V into the Arduino, that way you can never run into problems. I always power mine via it's USB port. btw. are you including the 7407 chip to ensure you can use other devices with the S-Drive I use the SIO 5V to power the 7407 only
  3. The only thing that comes to mind is possibly the rotational speed, have you checked this ? Not got a Megaspeedy, so does it come with any utilities, usually the Atari Diag Disk can be touchy with modded drives.
  4. Many thanks for that, at least I know there's a mechanism available, unfortunately it doesn't explain how to make the call, it says Such TSR programs can be registered using S_ADDIZ. In the AX registers (LSB and MSB respectively) But it doesn't explain how you make the call in your program, I assume there is a vector somewhere in SDX, but I searched and can't find any other references to S_ADDIZ. I found a utility in the SDX toolkit and the symbol equates to this:- S_ADDIZ $A03F but no examples of how to use this
  5. Just modified the code, but SDX keeps setting $9 back to 1. I'm not currently loading this during boot, just manually when the DOS prompt appears. Yes, there is nothing there that I can find concerning this. The only mention of DOSINI is in an application CAD.SYS which I'm not using. It appears DOSVEC is used internally by SDX:- "Several SD variables are available to programmers to allow easy access to the command line for applications and utilities. This data table is referredto as COMTAB and is pointed to by the OS variable DOSVEC at memory location 10 ($0A).!
  6. Just used CASINI, still get the same result, code not working after reset. I checked location 9 after loading my code and it's set to 1, my code sets it to 2, as it's being set back to 1, pressing reset does not use my code vector set at locations 2 and 3 which have been set correctly to $00,$06. So I put my software on a bootable .ATR and loaded that with SDX disabled on my 800 and hey presto the code works as intended, my USB keyboard still works after a reset. So it looks like SDX is doing something to those vectors and flags after my program has loaded, a BUG maybe ?? I certainly isn't working the way it should. In a nutshell SDX is resetting locations $2E0,$2E1,$2E2,$2E3 and $9 back to their previous values after they have been set by my program, I would assume it's doing some processing before returning to the command prompt. 2000 A902 1150 GETDOS LDA #2 2002 8509 1160 STA BOOT 2004 A900 1170 LDA #INITDOS&255 2006 8502 1180 STA CASINI 2008 A906 1190 LDA #INITDOS/256 200A 8503 1200 STA CASINI+1 200C 60 1210 RTS 200D 1220 *= $02E2 02E2 0020 1240 .WORD GETDOS
  7. Many thanks for that information, I didn't set the flag in location 9, also, I might change the code to use CASINI instead. The software I'm writing is a keyboard handler which allows me to use any USB keyboard on my 800 and 130XE, so if I need to use RESET, I need to re-initialise the VBI
  8. I've started a thread in the Programming section, but just in case someone here has the answer, heres the link basically I'm trying to ensure my program will re-initialise after a warm start, the code I've written should do this, but not sure if SDX is doing something to overwirite DOS init locations
  9. Just found an example in De-Re-Atari by stealing the DOS vector at locations $C and $D, the code steals the DOS vector, but the address in $C and $D don't change which seems wierd, does SDX reset these locations if they change ? 0000 0130 *= $0600 0140 .INCLUDE #D:HEADER.M65 0100 ; UPDATE 09/07/2020 2800 .OPT LIST 2810 .ENDIF 0600 200306 0150 INITDOS JSR TEMPADR ; WILL CHANGE WHEN INIT RUNS 0603 4C1606 0155 TEMPADR JMP SETPORT then my code here and this from De Re-Atari, this code does run due to the $2E2 init address as the address for the JSR TEMPADR changes to the valuse originally in $C and $D ($2A, $9), but $C and $D also still have $2A and $9 in them ??? as set by SDX 06DF 1110 *= $2000 2000 A50C 1120 GETDOS LDA DOSINI 2002 8D0106 1130 STA INITDOS+1 2005 A50D 1140 LDA DOSINI+1 2007 8D0206 1150 STA INITDOS+2 200A A900 1160 LDA #INITDOS&255 200C 850C 1170 STA DOSINI 200E A906 1180 LDA #INITDOS/256 2010 850D 1190 STA DOSINI+1 2012 60 1200 RTS 2013 1220 *= $02E0 02E0 0306 1230 .WORD TEMPADR 02E2 0020 1240 .WORD GETDOS
  10. Bit more of an explanation of what you are trying to do ?
  11. Curved Left Arrow Press ESC then CTRL < in BASIC can also use ? CHR$(125) Its the CLEAR SCREEN command don't know abot the E
  12. I'm writing a program that uses a VBI routine, I want the program to survive a warm start which would mean re-initialising the VBI routine as part of the warm start. My program is run from the DOS prompt mainly with SDX (Incognito or U1M) The program does what I want until I press reset. I've had a look at addresses $2E0 and $2E1 after the program has loaded and they are not set to $00,$06 as I expected. Is there another way to survive a warm start I'm using MAC65 as my assembler I've tried the following *=$600 ; My code here to set VBI routine INIT LDA #0; Prog Init Address . . . . RTS VB ...... ; VB code here . JMP XITVBV *=$2E0 .WORD INIT
  13. A friend of mine had one of those hardware addons to run MSDOS, I think it was called SideKick ?? maybe!!
  14. I found that certain makes of disks don't age very well especially is they've been stored in damp conditions, these disks seem to lose the adhesion of the magnetic material to the plastic of the floppy and the pressure of the head is enough to remove the coating and in the process leaving loads of material on the head which then needs cleaning. One this happens, the disks are useless
×
×
  • Create New...