1. Re: ASCII and ANSI
- Posted by Jacques Deschenes <desja at GLOBETROTTER.QC.CA> Aug 09, 1997
- 669 views
- Last edited Aug 10, 1997
answer to Wallace, It's true that at the beginning ASCII was a 7 bits code and it's why most unix system are still communicating in 7 bits. ANSI stand for American Natonial Standard Institute and like IEEE it's purpose is to define standard for the industrie. The so called ANSI character table has been defined by this institute based the original ASCII table and extended to 8 bits which is sometimes called extended ASCII. There is some confusion about ANSI (institute), ANSI (character table which is only one standard define by this institute) and ANSI driver. ANSI TABLE the ANSI character table not only define a character table it also define control sequences which begin by ESC ] {27, 93} ANSI DRIVER The ANSI driver that comes with DOS is a substitute for CON which is the standard console driver used by DOS. This ANSI driver only implement a subset of the ANSI control sequences. ASCII BELL = 7 Either original ASCII or extended ASCII (ANSI standard) define 7 as BELL. The fact that Euphoria doesn't sound beep when character 7 is put on screen only mean that euphoria doesn't use DOS to put on screen (or maybe Causeway does it itself). for the character ROM on the video card all codes (0 to 255) are displayable so if puts() send character to video memory instead of using DOS call you get those funny characters. You can still sound a beep by using dos_interrupt call. procedure dos_beep() sequence r r = repeat(0,10) r[REG_AX] = #200 -- output character to console AH = 2 r[REG_DX] = 7 -- character to output DL = 7 -> beep r = dos_interrupt(#21,r) -- #21 is dos multiplex function call. end procedure or try this from debug mov ah, 2 ; write character to console mov dl, 7 ; character 7 BELL int 21 ; dos function call int 3 ; debug end execution for more information about ANSI standards consult http://www.ansi.org Jacques Deschenes Baie-Comeau, Quebec Canada desja at globetrotter.qc.ca