=========================================================================== BBS: The Abacus * HST/DS * Potterville MI Date: 05-30-93 (16:48) Number: 63 From: JOHN GALLAS Refer#: NONE To: ALL Recvd: NO Subj: asm code needed Conf: (35) Quick Basi --------------------------------------------------------------------------- I wrote a function for my BBS program which will filter all the out going text of high ascii characters, and replace them with similar looking low ascii characters. It works quite well, but unfortunatly it's incredibly slow, and I know nothing about ASM .. Would it be very difficult for someone to re-code this in ASM for me? FUNCTION FilterHigh$ (Text$) IF ASC(User.IBMGraph) THEN FilterHigh$ = Text$ EXIT FUNCTION END IF DIM Table(0 TO 255) Table(128) = ASC("C"): Table(129) = ASC("u"): Table(130) = ASC("e") Table(131) = ASC("a"): Table(132) = ASC("a"): Table(133) = ASC("a") Table(134) = ASC("a"): Table(135) = ASC("c"): Table(136) = ASC("e") Table(137) = ASC("e"): Table(138) = ASC("e"): Table(139) = ASC("i") Table(140) = ASC("i"): Table(141) = ASC("i"): Table(142) = ASC("A") Table(143) = ASC("A"): Table(144) = ASC("E"): Table(145) = ASC("&") Table(146) = ASC("A"): Table(147) = ASC("O"): Table(148) = ASC("o") Table(149) = ASC("o"): Table(150) = ASC("u"): Table(151) = ASC("u") Table(152) = ASC("y"): Table(153) = ASC("O"): Table(154) = ASC("U") Table(155) = ASC("c"): Table(156) = ASC("L"): Table(159) = ASC("f") Table(160) = ASC("a"): Table(161) = ASC("i"): Table(162) = ASC("o") Table(163) = ASC("u"): Table(164) = ASC("n"): Table(165) = ASC("N") Table(166) = ASC("a"): Table(167) = ASC("o"): Table(174) = ASC("<") Table(175) = ASC(">"): Table(179) = ASC("|"): Table(180) = ASC("+") Table(181) = ASC("+"): Table(182) = ASC("+"): Table(183) = ASC("+") Table(184) = ASC("+"): Table(185) = ASC("+"): Table(186) = ASC("|") Table(187) = ASC("+"): Table(188) = ASC("+"): Table(189) = ASC("+") Table(190) = ASC("+"): Table(191) = ASC("+"): Table(192) = ASC("+") Table(193) = ASC("+"): Table(194) = ASC("+"): Table(195) = ASC("+") Table(196) = ASC("-"): Table(197) = ASC("+"): Table(198) = ASC("+") Table(199) = ASC("+"): Table(200) = ASC("+"): Table(201) = ASC("+") Table(202) = ASC("+"): Table(203) = ASC("+"): Table(204) = ASC("+") Table(205) = ASC("="): Table(206) = ASC("+"): Table(207) = ASC("+") Table(208) = ASC("+"): Table(209) = ASC("+"): Table(210) = ASC("+") Table(211) = ASC("+"): Table(212) = ASC("+"): Table(213) = ASC("+") Table(214) = ASC("+"): Table(215) = ASC("+"): Table(216) = ASC("+") Table(217) = ASC("+"): Table(218) = ASC("+"): Table(228) = ASC("E") Table(246) = ASC("/"): Table(248) = ASC("o"): Table(252) = ASC("n") Table(253) = ASC("2") DEF SEG = VARSEG(Text$) ptr = SADD(Text$) FOR z = 1 TO LEN(Text$) IF PEEK(ptr) > 128 THEN IF Table(PEEK(ptr)) THEN POKE ptr, Table(PEEK(ptr)) ELSE POKE(ptr), 35 END IF END IF ptr = ptr + 1 NEXT z FilterHigh$ = Text$ END FUNCTION * OLX 2.1 TD * Yeah? Don't look at ME in that tone of voice, fella! --- Maximus 2.01wb * Origin: Command Line BBS =Mpls. MN= V.32bis [612-788-6685] (1:282/2007) SEEN-BY: 1/211 11/2 4 13/13 101/1 108/89 109/25 110/69 114/5 123/19 124/1 SEEN-BY: 153/752 154/40 77 157/110 159/100 125 430 575 950 203/23 209/209 SEEN-BY: 261/1023 280/1 390/1 396/1 15 397/2 2230/100 2440/5 3603/20