C'est quoi vos modèles de TI ? C'est vraiment étrange, il faudrait tester avec plusieurs émulateurs :/
About your bug, I think the problem is here:
call bell_connect ret nz bcall _clrlcdfull ;On affiche tout bcall _cleargbuf bcall _copygbuf ld hl,$0503 ld (currow),hl ld hl,S_ENTRER bcall _puts ld b,$70 RALENTIR3: [...] call OBJ_ALEAT call bell_sync ;On définit les places or a jr z,POS1
Immediately after bell_connect, you use a routine from the TI-OS. TI-OS routines have the nasty habit of enabling (linkport) interrupts and messing with ports. Probably this messes up the connect which causes one calculator to return (ret nz) and the other to get stuck in bell_sync.
By the way, bell_connect already does bell_sync if I'm not mistaken, so if both calculators waste the same amount of clockcycles it shouldn't be neccessary to use bell_sync. Then again, if it works for you that's fine, it doesn't mess anything up either
Are you testing the .83p with a Ti-83(+) ROM in the emulator, and testing on two Ti-82's on hardware? That could explain the difference; the ROMs of calculator models are different, so maybe you're just lucky with the ROM calls for one model, and not so lucky for the other model.
One thing to keep in mind when writing link port related software is that the Ti-OS checks for silent transfers in the background of input routines. When two calculators are connected and one pulls a line low, the other calculator will respond by pulling the other line low to acknowledge that it has received a bit. Even when the other calculator is running an assembly program that uses the getkey romcall. This phenomenon is known to cause severe headaches for programmers who attempt to write synchronization routines .
getkey: bcall _getcsc or a jp z,getkey ret
;====================================================================== ; Scan Code =ates ;======================================================================; skDown = 01h skLeft = 02h skRight = 03h skUp = 04h skEnter = 09h skAdd = 0Ah skSub = 0Bh skMul = 0Ch skDiv = 0Dh skPower = 0Eh skClear = 0Fh skChs = 11h sk3 = 12h sk6 = 13h sk9 = 14h skRParen = 15h skTan = 16h skVars = 17h skDecPnt = 19h sk2 = 1Ah sk5 = 1Bh sk8 = 1Ch skLParen = 1Dh skCos = 1Eh skPrgm = 1Fh skStat = 20h sk0 = 21h sk1 = 22h sk4 = 23h sk7 = 24h skComma = 25h skSin = 26h skMatrix = 27h skGraphvar = 28h skStore = 2Ah skLn = 2Bh skLog = 2Ch skSquare = 2Dh skRecip = 2Eh skMath = 2Fh skAlpha = 30h skGraph = 31h skTrace = 32h skZoom = 33h skWindow = 34h skY= = 35h sk2nd = 36h skMode = 37h skDel = 38h