• Cooperative interrupt handlers in pure Forth

    From Zbig@21:1/5 to All on Sun Aug 27 01:22:15 2023
    30-years old idea — still very interesting, especially
    in the era of fast CPUs/microcontrollers: http://wilsonminesco.com/0-overhead_Forth_interrupts/

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From minforth@21:1/5 to Zbig on Sun Aug 27 22:56:08 2023
    Zbig schrieb am Sonntag, 27. August 2023 um 10:22:17 UTC+2:
    30-years old idea — still very interesting, especially
    in the era of fast CPUs/microcontrollers: http://wilsonminesco.com/0-overhead_Forth_interrupts/

    Thanks for the link.

    But FWIW I'd never blow up NEXT and polling is rarely a good idea
    particularly "in the era of fast CPUs/microcontrollers". Bad carbon
    footprint. ;-)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Aguilar@21:1/5 to minforth on Tue Aug 29 21:01:34 2023
    On Sunday, August 27, 2023 at 10:56:10 PM UTC-7, minforth wrote:
    Zbig schrieb am Sonntag, 27. August 2023 um 10:22:17 UTC+2:
    30-years old idea — still very interesting, especially
    in the era of fast CPUs/microcontrollers: http://wilsonminesco.com/0-overhead_Forth_interrupts/
    Thanks for the link.

    But FWIW I'd never blow up NEXT and polling is rarely a good idea particularly "in the era of fast CPUs/microcontrollers". Bad carbon footprint. ;-)

    Polling is needed on the 65x because it has only one IRQ.
    Garth Wilson continues to focus on the 65x in this "era of fast CPUs/microcontrollers." If he likes it, then good for him!
    He has an indirect-threaded Forth. That is very slow on the 65x!
    My 65c02 cross-compiler was based on ISYS Forth and it generated
    machine-code. I wrote this for my symbolic math program that did
    derivatives (I didn't do integrals because they are more difficult and
    because I was at the limit of what a 65c02 can do speed-wise).
    There is no Forth or C or Pascal or anything else that could have
    gotten as far as doing derivatives.

    Machine-code on the 65c02 is bloaty (I was using the full 128K
    of the Apple-IIc for my program). To have less memory usage,
    such as in a micro-controller, I would like to use byte-code.
    The 65c02 was a huge disappointment! They used the X register
    for their byte-code table jump. The X is used for the data-stack
    pointer though. They should have used Y instead. This was the
    most egregious design mistake in the 65c02, but there were other
    mistakes. A more thought-out design for the 65c02 would have
    kept the 65x line going --- instead, the i8032 took the microcontroller
    market and the 65c02 became obsolete.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)