Thanks, Henry! I corrected the type codes and after a bit more hacking, I
now have a working terminal package for both windows and linux!

Next step: make it an addon...


On Sun, Jul 18, 2021 at 11:21 AM Henry Rich <henryhr...@gmail.com> wrote:

> All I see is that you have declared types s (2-byte value) where
> Microsoft says there should be a DWORD - isn't that a 4-byte value?
>
> Henry Rich
>
> On 7/18/2021 11:09 AM, Michal Wallace wrote:
> > As I mentioned yesterday, I'm working on a terminal interface for J.
> > I have it working well on linux [1], but windows is giving me trouble.
> >
> > I'm basically calling two DLL functions:
> >
> > NB. https://docs.microsoft.com/en-us/windows/console/readconsoleinput
> > ReadConsoleInput =: 'kernel32 ReadConsoleInputA b x *s s *s'&cd
> >
> > NB. https://docs.microsoft.com/en-us/windows/console/writeconsole
> > WriteConsole =: 'kernel32 WriteConsoleA b x *c s *s'&cd
> >
> > And they work great... sometimes... And then other times they just crash
> J.
> >
> > For example, here I am just manually emitting the terminal escape code
> that
> > triggers the console to report the cursor coordinates. It works a couple
> > times, and then it crashes:
> >
> > JVERSION
> > Engine: j902/j64avx2/windows
> > Release-b: commercial/2021-02-18T12:07:41
> > Library: 9.02.08
> > Platform: Win 64
> > Installer: J902 install
> > InstallPath: c:/program files/j902
> > Contact: www.jsoftware.com
> >
> > load'd:/ver/b4/j/vt.ijs'
> > {{ 2}. wfc'R' [ puts CSI,'6n' }}''
> > 12;1
> > {{ 2}. wfc'R' [ puts CSI,'6n' }}''
> > 14;1
> > {{ 2}. wfc'R' [ puts CSI,'6n' }}''
> > 16;1
> > {{ 2}. wfc'R' [ puts CSI,'6n' }}''
> >
> > [process exited with code 3221225477]
> >
> >
> > ('puts' is passing a string to WriteConsole, and 'wfc' basically calls
> > ReadConsoleInput repeatedly... until the given character is passed in.)
> >
> > Any idea what could be going wrong here?
> >
> > The full code is here:
> >
> https://github.com/sabren/b4/blob/6e2c87b2b2b87be88b0f8995d0f84e5f7afd7d92/j/vt.ijs
> >
> >
> > [1] animated demo of linux version: https://imgur.com/gallery/QYrgkPj
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
>
>
> --
> This email has been checked for viruses by AVG.
> https://www.avg.com
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to