• ciforth ARM 5.5.1 arriving shortly

    From albert@spenarnc.xs4all.nl@21:1/5 to All on Sun Jul 21 12:34:24 2024
    I have run arm forths on the
    Raspberry 1 : 32 bits
    Orange pi one plus : 64 bits
    Orangepi 800 : 64 bit

    You can have fun only if you control the hardware for
    those single board computers.
    For the Orangepi 800 I have full schematics (20 page pdf)
    and the description of the soc (RK3399). (1000 page pdf).
    (Same for OPI 1+).

    I have defined a common interface.
    Numbering the gpio pins: system dependant.

    A word MMAP-IO that assumes the variable
    PERIPHERALS is containing the hardware address.
    If you have root privilege MMAP-IO fills
    VMA-IO with the virtual address.
    Now can you access all hardware in as far you can
    distill information from the soc description.

    The API I decided upon is
    (function gpio -- )
    Make gpio perform the function.
    -2 (input ) and -1 (output) are fixed.
    Other function value are implementation defined.

    gpio-on gpio-off ( gpio -- )
    turn the pin on and off.
    gpio-in (gpio -- bit) deliver a cell with one bit up.

    You can get reasonably far with this.
    The orange pi 800 (similar to the raspberry pi 400)
    has a r.pi 1 connector. I connected a lcd1602
    (16 by 2 character display) to the orange pi one plus.
    The same software can be used, merely by configuring
    the gpio numbers .

    In ciforth WANT fashion the library contains the software
    for the 3 boards, governed by properly defining
    ?RP1 ?OP1 ?OP2 .

    (I have reported on MMAP-IO before. It went from
    c-with-resident-lib to c-static-linked to
    1-megabyte-assembler to 10-line-assembler to
    6-line-high-level-forth ).

    In the NeShan board RICV I managed to configure
    the serial port to midi 31.25 baudrate, impossible
    to do under linux with the facilities provided.
    --
    Don't praise the day before the evening. One swallow doesn't make spring.
    You must not say "hey" before you have crossed the bridge. Don't sell the
    hide of the bear until you shot it. Better one bird in the hand than ten in
    the air. First gain is a cat purring. - the Wise from Antrim -

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From albert@spenarnc.xs4all.nl@21:1/5 to LIT on Sun Jul 21 21:28:27 2024
    In article <199ed8f8263f521e9cc8724ae90b4084@www.novabbs.com>,
    LIT <zbigniew2011@gmail.com> wrote:
    Maybe it could be possible to make it use "normal"
    screens, without LFs? At least as option...
    It is advisable to provide context, lest your remarks
    become incomprehensible.

    The delivered source is not only rigorously tested, the documentation
    is without reservation applicable and complete, not only that, but I
    burn in the system several weeks before I publish it.

    The source is available. Be my guest, to change it,
    but no guarrantee.
    It makes no sense IMHO, but anyway.
    One advise, you must redefine \ .
    It is now
    : \ ^J PARSE 2DROP ;
    You must make \ conditional on BLK.
    Using SAVE-SYSTEM you can make this permanent.
    Alternatively, if you modify the assembler source.
    you can use fasm for i86, but use version 1.70.2.
    If you download the generic system you see toblock.frt.
    You can put a blank in LINE-END and compile it.
    Then do

    toblock <forth.lab >forthnew.lab.

    Groetjes Albert
    --
    Don't praise the day before the evening. One swallow doesn't make spring.
    You must not say "hey" before you have crossed the bridge. Don't sell the
    hide of the bear until you shot it. Better one bird in the hand than ten in
    the air. First gain is a cat purring. - the Wise from Antrim -

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