1. Computer problem? Tech Support Guy is completely free -- paid for by advertisers and donations. Click here to join today! If you're new to Tech Support Guy, we highly recommend that you visit our Guide for New Members.

I Need Technical Help

Discussion in 'Earlier Versions of Windows' started by bryybow49er, Jan 14, 2002.

Thread Status:
Not open for further replies.
Advertisement
  1. bryybow49er

    bryybow49er Thread Starter

    Joined:
    Jan 14, 2002
    Messages:
    3
    Where can I get information on the Programmable Interrupt Controller and or a Memory Map which includes The Interrupt Vectors.
    For a Compaq PC running Windows 98 2nd Edition

    What I am looking for is the address of the interrupt vector which
    points to the extended ASCII set, (CHR$(128) and up)
    So that I can reprogram the extended characters to make my own custom characters to use in a Dos program I wrote in Quick Basic.
     
  2. john1

    john1

    Joined:
    Nov 25, 2000
    Messages:
    8,994
    Hi bryybow49er,

    Welcome to this site.
    I think you can get to a lot of extended ASCII Chrs from
    the keyboard, but i didnt know you could make custom ones.
    Best of luck with it.

    John
     
     
  3. bryybow49er

    bryybow49er Thread Starter

    Joined:
    Jan 14, 2002
    Messages:
    3
    Hi John Thanks for responding to my post
    On my old PC 8088 this code would produce a crescent Moon Two characters wide when I wrote PRINT CHR$(128)+CHR$(129)
    But on the new computers they changed the addresses of the Interrupt Vectors.

    CLS
    DATA 31,49,0,0,0,49,31,0,248,142,227,99,227,142,248,0
    DEF SEG = &H3000
    FOR N = 0 TO 15
    READ Q
    POKE N, Q
    NEXT N
    DEF SEG = 0
    POKE 124, 0
    POKE 125, 0
    POKE 126, 0
    POKE 127, &H30
    PRINT CHR$(128) + CHR$(129)
    END
     
  4. john1

    john1

    Joined:
    Nov 25, 2000
    Messages:
    8,994
    Hi Brian,

    i used to write stuff in basic.
    but ive never tried to run it on a newer machine.

    please tell me if i go wrong with this:

    CLS
    clear screen, on some machines this also sets the cursor position.
    DATA
    system waits for user input.
    DEF SEG
    dont know, probably the location to start data.
    FOR N=0 TO 15
    instruction to loop round from following next 15 times
    READ Q
    probably to display some previous entry from data
    POKE N,Q
    instruction to insert entry Q into mem location N
    NEXT N
    increments mem location
    DEF SEG=0
    re-assigns the seg to 0
    POKE
    POKE
    POKE
    POKE
    puts zeros in
    PRINT CHR$(128) + CHR$(129)
    operates printer
    END
    this is needed on some progs to return to prompt

    Well its not a calculation,
    Im not good enough to tell what it is.

    Whats it for?

    John
     
  5. bryybow49er

    bryybow49er Thread Starter

    Joined:
    Jan 14, 2002
    Messages:
    3
    Hi John

    The CLS just clears the screen in Basic and it does the same in Quick Basic on a new Machine.
    The Data is read by the Read Q statment and is placed in memory
    by the POKE statment in a place defined by the
    DEF SEG = &H3000 statment.
    The data is a binary pattern in decimal form. This is how all ASCII
    charaters are made.
    DEF SEG = 0, POKE 124 is the location of the interrupt vector and the 0's and the &H30 are offsets that tell the computer where to look for the data to make charater 128 and up. And in old basic, GW Basic as well as Quick Basic on a new computer when you write PRINT CHR$(128), the first extended ASCII chareter is printed on the computer screen.
    I learned how to do this from the old book by Robert Jourdain
    Programmer's Problem solver for the IBM PC
    I know that there is somebody out there who knows how to do this on a new computer it's just a question where the interrupt vectors is.
     
  6. john1

    john1

    Joined:
    Nov 25, 2000
    Messages:
    8,994
    Would i be right that this little prog
    is just to make a character for you to use?

    A moon shaped character?

    I suppose if this little prog were sent with
    mail, then the character could be used on the
    recieving machine as well?

    I remember trying to find the screen addresses
    on an old machine, it took a long time.
    I did it by using the 'copy' command for a section
    of mem at a time.

    When the screen filled with the letter i had copied
    that indicated the section.
    Then i copied into smaller sections with another
    letter to narrow it further.
    Finally i was able to define the memory locations
    for the screen area.

    That doesnt sound very hard, but it took me a while
    to figure a way, and do it.

    You can get direct access to mem locations in WIN by
    using the 'DEBUG' command.

    Alongside are the ascii chrs for the assembler bytes.
    So if you have a rough idea of where the character
    set is, you might find the locations by looking for
    them.

    I havent used any of this kind of stuff since 3.1 hit
    the streets, im sorry i have no suggestions for you
    but there are so many smart people that come and go
    on this site that i am sure you will get the info
    that you want. Personally, i dont see where the
    interrupts are involved in custom making a pair of
    characters from assembler.
    That probably shows my lack of knowledge.

    So long as this thread is up, sooner or later someone
    will see it and know exactly what you need.
    Best of luck,
    John
     
  7. Sponsor

As Seen On
As Seen On...

Welcome to Tech Support Guy!

Are you looking for the solution to your computer problem? Join our site today to ask your question. This site is completely free -- paid for by advertisers and donations.

If you're not already familiar with forums, watch our Welcome Guide to get started.

Join over 733,556 other people just like you!

Thread Status:
Not open for further replies.

Short URL to this thread: https://techguy.org/64947

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice