Subj : TimeSlicing ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ?: Could somebody share some of their experiences with timeslicing? A local door Programmer here is trying to find out how to add it. Both C and Pascal info would be appreciated. At least for DV & OS/2 TimeSlicing. -->Tell him to get the DDPLUS pascal door library... it's got OS detection and timeslice routines... I developed my own about the time that DDPLUS came out with theirs and both are very close... under DV, I give up DV slices... under windows, I give up INT2F slices, and everything else is INT28 slices... ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ --->Here are the DV time slicing routines in assembly that are put out in the Door Driver Plus package. You should be able to incorporate them into Pascal or C. ----------------------------------------------------------------------- Title DVAWARE ; Routines courtesy of Quarterdeck Office Systems ; Modified for Turbo Assembler by Steven R. Lorenz 1992 ;************************************************************** CODE SEGMENT ASSUME CS:CODE;ds:nothing MASM PUBLIC DV_AWARE_ON PUBLIC DV_BEGIN_CRITICAL PUBLIC DV_END_CRITICAL ; Returns in AH/AL in DESQview major/minor version numbers, ; and sets up the IN_DV variable for later use. ; Returns 0 in AX if DESQview isn't present. IN_DV DB 1 DV_Aware_On PROC FAR PUSH AX PUSH CX PUSH DX MOV CX,'DE' ; Set CX to 4445H; DX to 5351H MOV DX,'SQ' ; (an invalid date) MOV AX,2B01H ; DOS' set date function INT 21H ; Call DOS CMP AL,0FFH ; Did DOS see this as invalid? JE NO_DESQVIEW ; if yes, DESQview isn't there MOV AX,BX ; AH=major version; AL=minor ver MOV CS:IN_DV,1 ; Set internal variable used by JMP SHORT DVGV_X ; other routines NO_DESQVIEW: XOR AX,AX ; Return no DESQview (version 0) DVGV_X: POP DX POP CX POP BX RET ENDP DV_Aware_On ;************************************************************** ; This local routine takes a program interface function in BX, ; and makes that call to DV after switching onto a stack that ; DV provides for your program. API_CALL PROC NEAR PUSH AX MOV AX,101AH ; The function to switch to DV's stack INT 15H ; DV's software interrupt MOV AX,BX ; Move the desired function to AX INT 15H ; Make that call MOV AX,1025H ; Function to switch off of DV's stack INT 15H ; Make that call POP AX RET ENDP API_CALL ;************************************************************** ; This routine tells DV not to slice away from your program ; until you make a DV_END_CRITICAL call. ; NOTE - Then always make that DV_END_CRITICAL after this call. ; Takes no parameters and returns nothing. DV_BEGIN_CRITICAL PROC FAR CMP CS:IN_DV,1 ; Is DESQview present? JNE DVBC_X ; If not, jump out of here PUSH BX ; Else make the begin critical call MOV BX,101BH ; This is the DV function code CALL API_CALL ; Do it POP BX DVBC_x: RET ENDP DV_BEGIN_CRITICAL ;************************************************************** ; This routine tells DV that it is all right to time slice away ; from your program again. ; Takes no parameters and returns nothing. DV_END_CRITICAL PROC FAR CMP CS:IN_DV,1 ; Is DESQview present? JNE DVEC_X ; If not, jump out of here PUSH BX ; Else make the end critical call MOV BX,101CH ; This is the DV function code CALL API_CALL ; Do it POP BX DVEC_X: RET ENDP DV_END_CRITICAL CODE ENDS END ************************************************************** ---->Find someone with access to CompuServe. Look in OS2DF1 or OS2DF2 forum file areas for the keyword of slice. There's a nice file there that has source code (ASM & C) for time slicing under DESQview, Windows, and OS/2. I don't remember the filename off-hand and the source is too large to post here. If you know anything about ASM, you'll know why... Subj : Visual Basic ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ?: Just wondering if any of you use Visual Basic to program Doors. Any comments on are also welcome. -->Yes Sir I do....I'm using Door Frame 2.1 for my door's I have just started getting into the Door's I have been programming Utilities for my BBS for a while now and I thought I would take a change of pace and try doing some Door's,,,,,Well as for comment's I don't know where to begin I have to play around with the thing to understand what it does and how I started using EASYDOOR another type of VB Library for Door's but I could find anyone hardly using it so I started using DOORFRAME kinda the Standard of Door's programming..... --->Only if you program in some dialect of BASIC. I tried DoorFrame when I was messing with BASIC and it seemed like it did quite a bit. However, I prefer Pascal and the DDPLUS door development kit, it just seems to be a lot easier to work with that combination. It also seems like it's about as wide spread as DoorFrame if not more. You can spot a DDPLUS door just by looking at their .CTL files and the status bar on the screen when the door is running. ---->Ya I have been noticing it and thinking about Pascal. I have a couple of friends that keep telling me "Don't go Pascal it is about to die" but I sure do want something that will run better with Wildcat seeing how their running Pascal to I have diddle daddling with Pascal think Do I or Don't I I just haven't sat down long enough to play with it enough to know what I want I just started DoorFrame and I like It but then I start something else and this is the only way I'm going to learn is get in there and play with it.... ----->Actually, according to Borland it is officially dead - but that doesn't mean that everyone's Pascal compiler stops working. There's still tons and tons of stuff out there available for Pascal, most of it is freeware. One super handy freeware development package for Pascal is the DDPLUS Door Development Kit. Pascal may be dead, but Delphi isn't. I spoke with one guy about Delphi and he said everything you can do in Pascal can be done in Delphi so maybe it's not actually dead after all. There you would have your ability to write Windows programs. I'm not a Delphi programmer so I don't know if that's entirely true. ?: I sure do want something that will run better with Wildcat seeing how theirs is running Pascal too. That's just with the old DOS based Wildcat. I was told that the new one is written in C++. If I ever switch languages, I'll be buying Watcom C++ which is most definitely the way to go. You can write DOS, Windows, OS/2 and who knows what other types of applications. Plus your code can be compiled on a Mac, Amiga or who knows what other kind of machine with little or no modifications. Kinda makes other languages pale by comparison doesn't it? Subj : Re: Visual Basic ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ > Hey I got 4.0 running and it's all greek to me. Help! -->I'm running VB 3.0 and I'm reading "Teach yourself Visual Basic 3.0 in 21 Days". I hope I can learn it well enough to start writing worthwhile programs and doors. Right now, I'm having more trouble with the programming environment then the programming itself. Subj : Re: Visual Basic ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ?: So EASYDOOR AND DOORFRAME are both good for Visual Basic? Pardon my ignorance, but what do you do with these libraries? (I'm just learning, but I would like to become a door author) -->No Problem I understand this is the only way to get started is to ask and then it trial and error.....Surething here we go this is the command line I use in a batch file to bring up Visual Basic with the DoorFrame .LIB merged or LINKED into it......VBDOS /L DFRAMEVB.QLB /CMD /LOCAL this way you can test youe screen's out and your program as you go then you can go to your Remote later... Subj : Programming DOORS? ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ?: Which compiler do you use for QB? I just found a shareware compiler for basic programs and was wondering how it stacked up to what is being used... -->Most of the shareware BASIC compilers -- in fact, all that I have seen -- do not support the use of external libraries written in other languages. You really need to use these if you want to write a door. Subj : Programming DOORS? ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ?:I'm going to use Turbo Pascal. How do I get started with that? Someone said I needed to BUY something. What? --> The only thing you really need to BUY is Turbo Pascal itself. Perhaps a few books if you want to. You can get DDPLUS (the best door writing kit there is) as FREEWARE. Subj : Comment on Programming ------------------------------------------------------------------- > Hey, I've found QuickBASIC (not Qbasic, that's interpreted) great for > writing doors, and I'd encourage anybody who knows Basic but no other > language to try writing a QB door, it can be done and it can be done > very well. Subj : Re: Programming DOORS? ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ?: I was just wondering what is the best way to save player files. I was thinking one array of records stored as a file, but I wanted to know what everyone else thought. ???????? --> I think that's the most common method. I program in QuickBASIC and use random-access files (IMHO the best method of all). --->I'm currently writing an online game (which will probably never amount to much) but I just use typed files with records... ummm... well.. an example would be best. Type (* USERS.DAT *) FactoryType = Record NumOfFactories : Byte; End; MilitaryType = Record Tanks, {1. #} Jets, {2. #} Soldiers, {3. #} Satellites, {4. #} Submarines, {5. #} Crewpods, {6. 1 per 10,000 soldiers} AirCraftCarriers, {7. 1 per 50 jets} WarpPower, {A. %} Shields, {B. %} Intelligence, {C. %} Units : LongInt; {U. Military Units } Extra : Array [1..10] of byte; End; (* PLAYERS.DAT *) Users = Record {----------- USER INFO ------------} BBSName, { Door.Sys Name Alias : String [30]; { Alias in Game MsgName : String [2]; { Name for Msgs LastDateOn : String [8]; Turns : Byte; { Turns Left {-------- MAIN GAME INFO ----------} Food, { Food Units Population, { Citizens Popularity, { In A Percent TaxRate, { TaxRate Money, { Gold Coins Energy, { units BankMoney : LongInt; { Gold in Bank {---------- REGION INFO -----------} Type1Planet, { Earth Type2Planet, { Desert Type3Planet : Array [1..3] Of FactoryType;{ Mountain {--------- MILITARY INFO ----------} Military : MilitaryType; Extra : Array [1..34] Of Byte; End; { Demo : Player.Military.Jets := 1 } (bet you can guess which game I'm kinda duplicating ) So you basically have var PlayerF : File of Users; Player : Users; { I think... my mind just went blank! } Begin Assign(PlayerF,'Players.dat'); Reset(PlayerF); Seek(PlayerF, RecNum); Read(PlayerF,Player); Write('Your Alias is: '+Player.Alias); etc... Subj : Re: door programming. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ?: I am trying t learn pascal and VB I have pascal 6.0 and was wondering i had any textfiles that could help. Something along the line of the FILENAME thing you have up-top. Is there a file out there can list pascal codes or possiblities. CODE.....DESCRIPTION......USAGE -->I am of no use when it comes to Visual Basic ... I've written but one program in it and that wasn't too fantastic ... I was learning it while trying to code something for a friend, the program didn't work right, so I didn't get the $600 pay check he was going to give me ... thus showing I can't program in VB. As for Pascal, I'd like to think that I'm halfway descent at that (written a gazillion programs, though I think only one or two of them made it out of Michigan), but I also don't have any text files that could be helpful. Everything I know is locked up in ny head, ... the only thing that I could tell you is that if you want to write a door game in Pascal, get JSDoor ... it's really easy to use, is very well done, and has lots of documentation. The only thing that I could tell you to help with pascal is to just use the help files and help screens that come with Turbo/Borland Pascal ... þ