Alright, so, looks like wabbitemu is more a liar than i expected (had some funky surprises on real hardware).
I am currently recoding lots of stuff.
The good point is that i already updated around 75% of the source (mainly everything lcd/keyboard/GUI related).
Was a great opportunity to optimize here & there.
In the mean time, a quick overview of "hybchoice", a high level routine that will be available to coders :
What you see is easily performed with the following code :
...
ld hl,hybchoice_example
call hybchoice
...
hybchoice_example
.db 7 ; (7 lines total)
.db "choice ? " ; (line 1 used for title)
.db " one " ; (line 2 used for choice 1)
.db " two " ; (line 3 used for choice 2)
.db " three " ; (line 4 used for choice 3)
.db " four " ; (line 5 used for choice 4)
.db " six " ; (line 6 used for choice 6)
.db " five " ; (line 7 used for choice 5)
.db 0 ; (separator)
.db 2 ; (choice 1 located line 2)
.db 3 ; (choice 2 located line 3)
.db 4 ; (choice 3 located line 4)
.db 5 ; (choice 4 located line 5)
.db 7 ; (choice 5 located line 7)
.db 6 ; (choice 6 located line 6)
.db 0 ; (separator)
What i actually do is pressing down 5 times, then up 5 times.
The routine supports 1-7 lines, but scrolls if necessary (the whole block is handled as a home entry).
Also, like "hybpause" & "hybprompt", it can be exited with ENTER or QUIT (a bit like Ctrl+C in DOS), and automatically handles key repeat and a 3 minutes APD.