Git Product home page Git Product logo

v8power's Introduction

V8Power Tools

Putting the power of an 8-cylinder engine under the hood of DOS batch files.

Copyright 2015-2021 Jerome Shidel.
Released under the GPL v2.0 License.


The V8Power Tools project is being designed in cooperation with Jim Hall for the FreeDOS™ operating system. It is intended to expand the functionality of scripts written using batch files and to provide them with a better looking user interface with increased functionality.


Compiling V8Power Tools

   Prerequisites

      8086 or better cpu.
      EGA or better video adapter.
      FreeDOS™ 1.1 or higher
      NASM™ for DOS version 2.14.02 or newer

   Compiling

      Ensure the NASM directory is in your path spec.
      Download the latest sources from GitHub.
      Run the mkV8.bat script.
      All executibles will be placed in newly created BIN directory.

   For lazy people, like me

      Precompiled versions are available at http://up.lod.bz/V8Power.


V8Power Tools Tested Compatibility

  • FreeDOS 1.1+

Limited compatiblilty of advanced features (no "set /p" batch support):

  • MS-DOS 6.2 and 6.22
  • PC-DOS 7.0, 7.01 and 2000
  • DR-DOS 7.03
  • DOSBox (i/o redirection or querying using stdout will NOT work using the built-in DOSBox shell. However, they work fine in DOSBox when a compatible shell like FreeCOM is used)
  • Windows 3.11 Shell
  • Windows 98 Shell and Command Line
  • Windows XP SP3 Shell (except vcursor)

V8Power Tools Usage

Here is some basic information regarding all utilities and how they operate.

  • Options, values and hexidecimal numbers are not case specific /f white is the same as /F wHIte.
  • Hexidecimal numbers may be prefixed with 0x to prevent them from being treated as base ten. (Example: 10 and 0x10)
  • Spaces are mostly optional. /B7/f0 is the same as /B 7 /F 0. But, not / B7 / F0.
  • To use a / or spaces in a value, put it in qoutes. Like "Jack and/or Jill".
  • Use multiple qoutes to use quotes. Like "Jack's house" or 'Say "What?"'.
  • Unless overriden, most utilities use the text attribute at the current cursor location.

Here is color table used for all /A, /F and /B switches:

DecimalHexLabel (Not case specific)
00x00Black
10x01Blue
20x02Green
30x03Cyan
40x04Red
50x05Magenta
60x06Brown
70x07Gray
80x08DarkGray
90x09LightBlue
100x0aLightGreen
110x0bLightCyan
120x0cLightRed
130x0dLightMagenta
140x0eYellow
150x0fWhite

v8power's People

Contributors

sebras avatar shidel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

v8power's Issues

ErrorCode usage.

Hi!
I was studying your code and I've noticed two strange things about ErrorCode variable that is defined in SOURCE/DSKTLS.INC:

  1. It's never read, there are only assignments to it (upd: at least I couldn't find any reads).
  2. It's defined as a word (dw) but it's written as a byte (mov [ErrorCode], al in one place and mov [cs:ErrorCode], al in another, one more strange difference).

Did I miss anything?
Thank you in advance.

VECHO / V8Power relies on video rows count BIOS variable being initialized, but it is not guaranteed to be initialized

I've received the a pull request for my 8088 BIOS: skiselev/8088_bios#42

This pull request supposed to fix an issue where the 8088 BIOS does not initialize video row count BIOS variable at 0040:0084.

Upon closer investigation, it appears that the system BIOS is not guaranteed and not supposed to initialize this variable. VGA and EGA BIOS extensions do initialize it though.

The code here

mov bl, [es:0x0084]
should be updated to validate that the BIOS indeed populates the right value in that variable, or use some another way to detect the screen height

Missing label NotDOSBox in EX08.BAT

... also all "not DOSBox" examples work in my DOSBox, just because, by coincidence, I have changed COMSPEC variable in dosbox.conf to the path of FreeDOS command.com

The problem is not DOSBox emulator, but its command.com equivalent. It does not even support FOR loop. And by the way even command.com from MS-DOS 5.0 works fine in DOSBox.

On the other hand, echo ...|set /P VAR= seems to work only in FreeDOS command.com. In fact it also works in cmd.exe, but cmd.exe in order to provide parallel processing of data creates another copy of itself for all code after |, so the VAR is lost after returning from there.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.