Author Topic: Project looking for Programmer (I can't do it myself)  (Read 44220 times)

0 Members and 1 Guest are viewing this topic.

Offline Daniel3D

  • Newbie
  • Posts: 62
    • View Profile
Re: Project looking for Programmer (I can't do it myself)
« Reply #45 on: October 07, 2021, 04:07:15 am »
Is it as simple as this...

DEMO. I would recommend this.

1) DON'T use run, instead choose to make this exe by clicking RUN in the IDE and in the menu that opens, click "Make exe only."

2) Now make a folder called "myQB64installdemo" and cut and use Windows Explorer to move the qb64 exe file just made into that new folder.

3) Run the exe.

This is just for piece of mind, so any modifications will not mess with stuff in your QB64 folder.

The program will make a new sub-directory, called: mock-directory-to-demo-installer

Now I made it a sub-directory for demo purposes, only. If this is what the OP is looking for, obviously that part of the installer would need to be worked on so the user could install to the C drive, D drive, etc.

The code also makes a phony Hello World text file in the folder the exe is in. It then copies that file to the new install folder. The demo technique could be used to copy (install) any file. Of course this simple type of install process does not affect the Windows Registry. Anyway, here's my demo...

Code: QB64: [Select]
  1. OPEN "Hello-World.txt" FOR OUTPUT AS #1: PRINT #1, "Hello World!": CLOSE #1
  2.  
  3. SourceFile$ = "Hello-World.txt"
  4. TargetDir$ = "mock-directory-to-demo-installer"
  5. IF _FILEEXISTS(SourceFile$) THEN ELSE PRINT "Source file: "; SourceFile$; " not found. Ending...": _DELAY 5: END
  6. ' Source file exists, ask user to install.
  7. PRINT "Would you like to install " + SourceFile$ + "? Y/N: ";: LINE INPUT ans$: PRINT
  8. IF ans$ = "" OR UCASE$(ans$) = "N" THEN END
  9. ' User wants to install. Ask if target directory is okay for install.
  10. IF _DIREXISTS(TargetDir$) THEN
  11.     ' Prompt for overwrite.
  12.     IF _FILEEXISTS(TargetDir$ + "\" + SourceFile$) THEN
  13.         PRINT SourceFile$ + " already exists on this device. Overwrite? Y/N: ";: LINE INPUT ans$: PRINT
  14.         IF ans$ = "" OR UCASE$(ans$) = "N" THEN END
  15.         PRINT "Overwrite in progress...": PRINT
  16.         KILL TargetDir$ + "\" + SourceFile$ ' Removes previous install.
  17.     END IF
  18.     PRINT "Setup will create directory " + TargetDir$
  19.     PRINT "to install " + SourceFile$ + ". Press Enter to begin or Esc to abort.": PRINT
  20.     DO
  21.         _LIMIT 30
  22.         b$ = INKEY$
  23.         IF LEN(b$) THEN
  24.             SELECT CASE b$
  25.                 CASE CHR$(23): SYSTEM ' Ends routine and closes install window.
  26.                 CASE CHR$(13): EXIT DO ' Okay to install.
  27.                 CASE ELSE: BEEP ' Wrong entry signal.
  28.             END SELECT
  29.         END IF
  30.     LOOP
  31.     ' Create directory.
  32.     MKDIR TargetDir$
  33. ' Install.
  34. IF _DIREXISTS(TargetDir$) THEN
  35.     PRINT "Directory path: "; TargetDir$
  36.     PRINT "not found. Cannot install. Ending...": _DELAY 5: END ' Fail safe.
  37. PRINT "Installing app...": PRINT
  38. OPEN SourceFile$ FOR BINARY AS #1
  39. a$ = SPACE$(LOF(1))
  40. GET #1, , a$
  41. OPEN TargetDir$ + "\" + SourceFile$ FOR BINARY AS #1
  42. PUT #1, , a$
  43. ' Verify install.
  44. IF _FILEEXISTS(TargetDir$ + "\" + SourceFile$) THEN
  45.     PRINT "Installation successful.": PRINT
  46.     PRINT "Installation failed.": PRINT

Pete
Looks good.
contains a lot of things i talked about.

Offline Richard

  • Seasoned Forum Regular
  • Posts: 364
    • View Profile
Re: Project looking for Programmer (I can't do it myself)
« Reply #46 on: October 07, 2021, 07:19:14 am »
@Daniel3D


Quote

Quote from: SMcNeill on Today at 04:03:51 AM
If these are for windows only, couldn't you just make the whole thing a self-extracting EXE?
It is meant to be DOS only. To fit with the game.

And maybe a batch script can do it to, I don't know
I don't know if that can handle sub folders and check source and destination.

I'll type out a pseudo script later when I am behind a real computer.



Quote
@bplus : the Freebasic code you referred to was compiled such that it runs under DOS. It was the easiest way to code what was needed and still support DOS.






I am late to this party...


I may not be of any help but to understand your (players) situation better ...


Are you (players) intending to play on an old 16 bit computer (say INTEL 80286 or earlier) or are you playing on a more modern computer with say an INTEL i3 (or better) x64 computer - but still retain the "look and feel" of the good old DOS days (say DOS 3 - 5)?

If it is more modern Windows computer - yes the DOSbox emulator sub-environment is one way (and can be configured for semi-automation into DOSbox from Windows).

When you say FreeBASIC in DOS - do you mean using only the "DOS version of FreeBASIC" or do you mean the much more popular FreeBASIC Windows version"?

From my re-kindled interest in "DOS version of FreeBASIC" I am what appears to be a minority of users (of "DOS version of FreeBASIC") who uses FreeBASIC-DOS in "bare-metal mode" i.e to say there is "no windows around" (so to speak) - I run FreeBASIC-DOS version via boot computer (cold start) from a usb-stick (which was RUFUS formatted) - This usb stick itself is now the C:\ drive (and nothing can access the computer hard-drive where windows et al is installed). The more common approach with FreeBASIC DOS version is to run it within DOSbox itself on a modern windows computer (the C:\ hard drive contains Windows and DOSbox (via switches) can access almost all drives, including C:\,  though it gets interesting with filenames bigger than 8.3 DOS format).

So is a "usb stick with your game and other things" formatted especially to be such that one boots of the usb stick (now being the C:\ drive), the display is the look and feel of DOS and no windows stuff accessible (and no knowledge of DOSbox to the environment) of any use to you? Or do you want to use the the C:\ hard drive with Windows and run DOSbox all the time (extra hoops to always jump through initially)?


Just wondering...

Offline Daniel3D

  • Newbie
  • Posts: 62
    • View Profile
Re: Project looking for Programmer (I can't do it myself)
« Reply #47 on: October 07, 2021, 07:34:17 am »
About running the game.
All options apply.
We have a player running the game on a 286xt
But also windows and Linux users.
Some run DOS in a VM. Some DOSBox.
Even freeDOS is used.
I have an intel i5 64bit with DOSBox.
Quote
And various other emulators/VM's to run 19 different instances of the game, including the Amiga and the PC-98 version

The installer is aimed at bare-metal DOS users.

About freebasic, I believe he runs it on Linux.
It is coded without dependencies and so that it can run in DOS (it's a 16bit application and can't run in Windows).

Quote
From my re-kindled interest in "DOS version of FreeBASIC" I am what appears to be a minority of users (of "DOS version of FreeBASIC") who uses FreeBASIC-DOS in "bare-metal mode" i.e to say there is "no windows around" (so to speak)
Sounds cool.
My current computer has no legacy support so I can't run DOS bare metal. Something I will take into account when I buy another.

O. And welcome to the party.
« Last Edit: October 07, 2021, 07:47:07 am by Daniel3D »

Offline bplus

  • Global Moderator
  • Forum Resident
  • Posts: 8053
  • b = b + ...
    • View Profile
Re: Project looking for Programmer (I can't do it myself)
« Reply #48 on: October 07, 2021, 12:45:06 pm »
Quote
@bplus : the Freebasic code you referred to was compiled such that it runs under DOS. It was the easiest way to code what was needed and still support DOS.

Wow! kudos to FB (@Pete don't kill me.) Glad I didn't try running it, well I couldn't because didn't have FB and won't usually run a stranger's exe.

Offline bplus

  • Global Moderator
  • Forum Resident
  • Posts: 8053
  • b = b + ...
    • View Profile
Re: Project looking for Programmer (I can't do it myself)
« Reply #49 on: October 07, 2021, 01:17:54 pm »
@Daniel3D

Thanks for giving us more clues and the pseudo. My mind and heart at moment is invested in a Couple of Challenges with deadlines (there is a pun somewhere in there about deadlines in October with Halloween, @Pete might find it ;-))

Your screen shots of the Installer makes me nostalgic. I forgot all about giving away the VB (for) DOS with all the other stuff in a 486. That was my favorite of all time Basic before QB64 and it still has features that QB64 and Fellippe's Team may be working towards eg built in GUI controls.  I did have all those tools then that Steve spoke of, batch file enhancers that made file and directory lists that you could click to select plus I think I made a Store app for handling variables to make Batch files more like a full PL, plus something that took a txt file and turned it into a data input screen for a data base, my own split screen editor (top view for editing, bottom view for read only for copy/paste with file selection of course), that I could modify to do what ever I needed for coding like maintain a list of variable names. All gone now, sigh...

Offline Daniel3D

  • Newbie
  • Posts: 62
    • View Profile
Re: Project looking for Programmer (I can't do it myself)
« Reply #50 on: October 07, 2021, 01:22:24 pm »
Wow! kudos to FB (@Pete don't kill me.) Glad I didn't try running it, well I couldn't because didn't have FB and won't usually run a stranger's exe.
I wouldn't be surprised if you could compile it in qb64.
Maybe not without errors but the program doesn't change files, only moves them so it's relatively safe. But that is not really important.

Offline bplus

  • Global Moderator
  • Forum Resident
  • Posts: 8053
  • b = b + ...
    • View Profile
Re: Project looking for Programmer (I can't do it myself)
« Reply #51 on: October 07, 2021, 01:32:12 pm »
I wouldn't be surprised if you could compile it in qb64.
Maybe not without errors but the program doesn't change files, only moves them so it's relatively safe. But that is not really important.

Yeah, FB and QB64 are close cousins but FB has stuff that baffle me, Macros and Oop stuff like built in methods for objects and new constructors (have I got that term right?), pointers...
 
Some of it can be translated to QB64 like pointers to _Mem maybe? some just have no equivalent in QB64 like the Oop stuff, WTH macro's sometimes they look like subs or functions, I always thought of macros as key Combo shortcut for editing.

Offline Daniel3D

  • Newbie
  • Posts: 62
    • View Profile
Re: Project looking for Programmer (I can't do it myself)
« Reply #52 on: October 07, 2021, 02:23:09 pm »
@Daniel3D

Thanks for giving us more clues and the pseudo. My mind and heart at moment is invested in a Couple of Challenges with deadlines (there is a pun somewhere in there about deadlines in October with Halloween, @Pete might find it ;-))
I'm not in a hurry. I would like to have it finished before the end of the year because this is the 30th anniversary year.
And I would like to introduce the new complete version before the start of next racing season.
But nobody will die if it's later.

Offline Daniel3D

  • Newbie
  • Posts: 62
    • View Profile
Re: Project looking for Programmer (I can't do it myself)
« Reply #53 on: October 07, 2021, 04:22:34 pm »
In the attachment, a tree example of the game.
It contains the main game with the unfinished SETUP (source included below) - quickbasic
and a mod program sgar (not important/relevant at the moment) - freebasic 

@Richard I was wondering. From your experience with Freebasic-DOS. How much work do you think it is to make the installer (with or without textmode interface) in freebasic?
I posted this also on freebasic.net but didn't get much of a response.

Offline Daniel3D

  • Newbie
  • Posts: 62
    • View Profile
Re: Project looking for Programmer (I can't do it myself)
« Reply #54 on: October 08, 2021, 04:36:04 am »
Yeah, FB and QB64 are close cousins but FB has stuff that baffle me, Macros and Oop stuff like built in methods for objects and new constructors (have I got that term right?), pointers...
 
Some of it can be translated to QB64 like pointers to _Mem maybe? some just have no equivalent in QB64 like the Oop stuff, WTH macro's sometimes they look like subs or functions, I always thought of macros as key Combo shortcut for editing.
True. The programmer in our forum is (slowly) building a remake of the game engine in freebasic. He has built the graphics engine which is beyond me.
Collision and physics' still has to be done. But still. Quite amazing stuff.

Offline Richard

  • Seasoned Forum Regular
  • Posts: 364
    • View Profile
Re: Project looking for Programmer (I can't do it myself)
« Reply #55 on: October 08, 2021, 08:17:04 am »
@Daniel3D


I have not read/studied all replies for your current topic - but just to be giving me the overall picture (correct me any points I am wrong)...

Someone (group of people) are in the process of a remake of an old DOS program - which still has to retain the "look and feel" of the original program - and this remake of the program is to be made available to a range of different target hardware (e.g. a 286 computer, more modern x64 computers (some running DosBox , etc), etc). I gather that it is not only just you that wants to install the program just only on your Intel i5 computer but that everyone (with all the different hardware, options etc) would want to install the remake program. The installation is to be essentially automatic (so ideally not much knowledge of doing things in DOS say is to be assumed) - i.e. by following a minimum number of steps to answer all required folders/files are put in place. Then say by a menu (or something) all the "cars" (defined each by say 4 or more files/folders) are associated to that installed program (and at a future time the user can easily add more "cars"). Possibly even at a future time, as the remake program is further refined - that the installation allows that what is now already installed can be updated.

Now all sorts of scenarios are possible - is it that the installer has to intelligent enough to recognize whether a 286 computer is involved or say an INTEL i5, whether DOSbox or VM is the sub-environment of Windows, Linux or even Mac (for that matter)? It would be simpler, I feel, that a custom installer for the 286 computer, a custom installer for your i5, etc (maybe say a total of 6 custom installers) is made. Then your racing community would pick the most appropriate custom installer,  also pick the right say "zip" file which is the game itself and another zip file which is constantly being updated by the addition of more cars.

Further to above, whether still run the game in windows (but without the fancy GUI stuff) i.e. for example the current QB64 IDE
window is essentially a TEXT SCREEN (exception is the very top "banner"   ....QB64 x64) and could be replicated as such in a DOS program (I understand that you still require the game to run in DOS or DOS emulated).

Is it necessary that the game accesses the hard drive? Life can be a bit easier if the game and supporting material is only on a usb stick.

Although not a requirement of the installer to handle - what is the expectations for the graphics (e.g. graphics resolution that was only available 30 years ago? Or do you want to use 4K displays with superior graphics?) What speed is the game to run at - say comparable to 30 years ago which is roughly 1000x slower than present day computers. What devices are "allowed" for your DOS "look and feel" - eg mouse, (touch pad, DVD blue ray, web cams, etc did not exist 30 years ago). Do you wish the installer etc only to be placed on say a 3.5" floppy?

I may be interested in specific custom installers ( eg a bootable usb stick for say 286 computer and possibly semi-automatic installation into Windows 10 x64 DOSbox). Also possibly some support/advice if installation to be made by 3.5" floppy.


Just for your info (although not being involved in any way with your programmers) - attached is an example of what I achieved with "DOS-version of FreeBASIC" with simple graphics and of course since screen capture was not available (in FreeBASIC-DOS) I had to write my own FreeBASIC-DOS code to "capture the screen".





Offline Daniel3D

  • Newbie
  • Posts: 62
    • View Profile
Re: Project looking for Programmer (I can't do it myself)
« Reply #56 on: October 08, 2021, 09:30:11 am »
I'm at work so I glanced over your post.
The remake is not yet a finished product (may take forever)
In this case it is about a recompiled version that is better than the original.
(See readme file)

The installer should be simple and straightforward to begin with.
I have a lot of ideas and wishes. But small steps.
Depends upon the coder.

I'll react further later.
----
Added later...
The game engine is written in assembly and can only be run in DOS.
Therefore the setup program we are recreating must be able to run in DOS.
Because the new version is closer to what the developers made it is considered a cleaner version of the game.
The setup program should be as close to the original setup program as visually possible. To retain the look and feel.
80 colom text mode graphics, no mouse. 8bit color. 30 year old stuff.
Copy to and from whatever media is supported by the DOS environment. (DOS can support removable media like USB-STICKS)

(The game was released with a load program to save disk space at the expense of computer resources)

But because I can't do it myself I am happy with whatever I can get that is functional.
I want to launch the version before the end of the year.
« Last Edit: October 08, 2021, 05:21:08 pm by Daniel3D »

Offline Daniel3D

  • Newbie
  • Posts: 62
    • View Profile
Re: Project looking for Programmer (I can't do it myself)
« Reply #57 on: October 11, 2021, 03:51:40 am »
@Daniel3D
I may be interested in specific custom installers ( eg a bootable usb stick for say 286 computer and possibly semi-automatic installation into Windows 10 x64 DOSbox). Also possibly some support/advice if installation to be made by 3.5" floppy.

I missed this line at first. But that is really cool.
The original game could fit on a 1.44 diskette, although it was produced on two 720 kb disks. But it could run from diskette, even though on two disks.
I have not tried it myself (I had the game on one disk or on HD), but I would like to try if the new version can run from bootable diskettes.

Offline Richard

  • Seasoned Forum Regular
  • Posts: 364
    • View Profile
Re: Project looking for Programmer (I can't do it myself)
« Reply #58 on: October 11, 2021, 06:42:49 am »
@Daniel3D

Would you be able to share files for me to try installing your racing game on my INTEL i7 computer (bare metal mode via booting from usb stick and booting from 3.5" floppy)(DOSbox various builds via windows desktop icon)?

I would like to try

- the very original game (unaltered)
- any FreeBASIC code (even if not complete)
- the disassembled ASM code (16bit) - to see if can assemble into DOSbox environment

I have never run FreeBASIC-DOS version in DOSbox (only bare metal mode) - but I may also try this (as part of my learning experience). Hardware aspects for running bare-metal boot seem to be very different than using DOSbox emulation.

You mention your programmers are writing in FreeBASIC-DOS version to create the 16-bit code - I still use MS PDS 7.1 (an improved version of MS QB45) to write 16-bit code to cover features lacking in QB64.

In the notes you referred me to - it seems that it is critical to have the sound effects (almost as important as the game itself).  Any sound files (from the game) available to share separately?

Offline Daniel3D

  • Newbie
  • Posts: 62
    • View Profile
Re: Project looking for Programmer (I can't do it myself)
« Reply #59 on: October 12, 2021, 07:53:23 am »
Stunts resources.

My mega folder.
https://mega.nz/folder/JM8HQI5a#mH5ZBNwXC0eEBmockWo50A
It contains a zip with the game version we are updating
a folder with most of the custom cars
several other versions of the game.
I doesn't have cracked versions or explanation.
Therefore this old source is quite handy. http://stunts.kalpen.de/stunts.htm


The sound and music are of a custom format.
I can't share that. I can share a sample of the music.
There are several YouTube video's with good audio samples.
Marco plays DOS games is one of the channels.

Below the source of the current new Setup program / QBasic
And a simple garage program called sgar /freebasic

Sgar is in development, although on hold at the moment.
It needs a text mode interface matching the setup.

As for the ASM source.
https://bitbucket.org/dreadnaut/restunts/

This contains the source and instructions for a way to assemble the game from it.
There is a 100 % assembly version and one that is partly translated to C.
Both give a bit perfect version of the original.
(One bit difference because that bit is set from 0 to 1 to permanently disable the copy protection)

If you can code in assembly I would like to connect you with the one that made the attached programs.
I think you could do wonder together 🙂
« Last Edit: October 12, 2021, 08:08:07 am by Daniel3D »