[abc80] CamelFORTH för ABC80

Abinsium abinsium at gmail.com
Ons Feb 21 05:14:02 PST 2018


Jag kände inte till `PC!` och `PC@`, men du kan ta bort `P!` och `P@` 
då, ty de som redan finns fungerar för ljud (`7 6 PC!` och stänga av med 
`0 6 PC!`) och för att byta mellan 40 och 80 tecken per rad (`4 PC@` och 
tillbaka med `3 PC@`). En feature är att 40- och 80-teckensskärmen 
verkar vara oberoende av varandra i ABCWin2 och kanske även på en äkta 
ABC80.

Du får gärna göra include/included och strunta i block, ty om man kan ha 
ca 100 små filer så kan man simulera block-systemet vid behov.

Man kan göra en fil med FORTH-kod som inkluderad gör CamABC kompatibel 
med FIG-FORTH för ABC80. Man kanske även kan tänka sig CamABC till 
ABC806 i ABCWin2, ty den har färg och är därmed lite roligare.

Mvh,
// Mikael

Den 2018-02-20 kl. 20:02, skrev Robert Juhasz:
> Hmm.... lagom till att jag testat P! och P@ ser jag att det redan finns 
> PC! och PC@ som dessutom var lite smartare kodade. Oh well, det är 
> alltid kul att göra nya forth-ord, men frågan är om det är lönt att ha 
> dem kvar........
> 
> Körde också diff på 1.01 o 1.2. Verkar vara minimala skillnader i 
> grundfilerna...
> 
> Robert
> 
> Skickat från min Xperia™-smartphone från Sony
> 
> 
> 
> ---- Robert Juhasz skrev ----
> 
> Konstigt. Jag har kort abcwin med skärmtangentbordet i w10. det funkade 
> och borde funka på liknande sätt….
> 
> block är såklart ett alternativ, även om jag då föredrar att läsa/skriva 
> block från en fil snarare än direkt till disk som Robert J:s (haha 
> vilket sammanträffande…) figforth, för den antar att man har 160K disk 
> och det blir jättekonstigt när man har abc832 eller hårddisk…
> 
> P! och P@ tillagda till camelabc.azm <http://camelabc.azm> (otestade…)! 
> Håller med om deras användbarhet!
> 
> 1.2: Oj det hade jag faktiskt missat. Tror jag fick tag på camleforthen 
> 1.01 via en CP/M sida, som kanske inte var uppdaterad med det senaste. 
> Men det är lite större jobb…
> 
> Robert
> 
>  > 20 feb. 2018 kl. 01:13 skrev Abinsium <abinsium at gmail.com 
> <mailto:abinsium at gmail.com>>:
>  >
>  > Detta skrev heller inget i ABCWin2:
>  >
>  > from time import sleep
>  > from pyautogui import hotkey, keyDown, keyUp
>  > hotkey('alt','tab');sleep(1.0);keyDown('b');sleep(1.0);keyUp('b')
>  >
>  > Det fungerade inte heller med andra fördröjningar.
>  >
>  > Att skriva med pyautogui fungerar med andra Windows program med t.ex 
> <http://t.ex>. typewrite, keyDown och keyUp. Ovanstånde skrev t.ex 
> <http://t.ex>. detta 'b' i Thunderbird.
>  >
>  > Apropå include i Forth så kanske block inte är så dumt ändå, ty det 
> använde Fig-FORTH on ABC 80 / implemented by Robert Johnsen 
> http://libris.kb.se/bib/559535 .
>  >
>  > Den FORTH:en har också orden P! ( n port -- ) och P@ (d.v.s. PÉ) ( 
> port -- n ) för Z80-OUT respektive Z80-IN. Jag tycker de behövs för ljud 
> och för att byta mellan 40 och 80 tecken, men andra namn är kanske mer 
> standard.
>  >
>  > Varför används en gammal Z80 CamelForth v1.01 som utgångspunkt när 
> det finns en nyare version 1.2?
>  > http://www.camelforth.com/download.php?list.1
>  >
>  > Den 2018-02-19 <tel:2018-02-19> kl. 22:22, skrev Erik Isaksson:
>  >> Helt riktigt, den lyssnar på WM_KEYDOWN och WM_KEYUP.
>  >> mvh Erik
>  >> On 2018-02-19 08:46, Robert Juhasz wrote:
>  >>> Kul att det funkar!
>  >>>
>  >>> Jag såg från issue-trackern att du löste det med abs-filer o 
> diskimages och dos. En sån diskimage borde också gå fint att använda i 
> Peters unix-emulator....
>  >>>
>  >>> Include är helt klart första prio när jag nångång får tid att hacka 
> på det. Det borde vara ganska rättframt: filhanteringsrutinerna verkar 
> funka, och sen är det bara att läsa in bitar av en källfil till en 
> buffert och köra INTERPRET på den tills filen är slut...
>  >>>
>  >>> Ang abcwin: kanske ditt makroprogram genererar keypress events 
> medan abcwin kanske direkt tolkar keydown/keyup events på lägre nivå? 
> Har själv fått erfara att det inte är samma sak..... Erik, kan du 
> upplysa oss? ;)
>  >>>
>  >>> Robert
>  >>>
>  >>> Skickat från min Xperia™-smartphone från Sony
>  >>>
>  >>> ---- Abinsium skrev ----
>  >>>
>  >>>> Jag fick camabc att fungera i morse, se denna video:
>  >>>> https://youtu.be/7sdSJXZ3gX8 (1 min)
>  >>>> Det står lite i beskrivningen och i (stängda) issues på Github om hur
>  >>>> man gör. (Jag beklagar ljudet i videon, men det beror troligen på att
>  >>>> jag har den senaste versionen av Windows 10 för insiders i fast ring.
>  >>>> Det var inte lika dåligt inspelat ljud i förra versionen.)
>  >>>>
>  >>>> Det vore också bra om man kunde köra CamABC i andra ABC80-emulatorer:
>  >>>> t.ex <http://t.ex>. den för Linux som fungerar i Raspberry Pi.
>  >>>>
>  >>>> På sikt kanske det kommer include och included i camabc:
>  >>>> 
> https://www.complang.tuwien.ac.at/forth/gforth/Docs-html/Forth-source-files.html 
> 
>  >>>>
>  >>>> Eftersom man inte kan pasta in kod i ABCWin2 så försökte jag med detta
>  >>>> system i Windows 10:
>  >>>> https://pyautogui.readthedocs.io/
>  >>>> Det funkar för andra Windows-program, men tyvärr inte för ABCWin2.
>  >>>> I Kommandotolken, om ABCWin var senast aktiva program:
>  >>>> pip install pyautogui
>  >>>> python
>  >>> >from pyautogui import press, typewrite, hotkey
>  >>>> hotkey('alt', 'tab'); typewrite('bye\n', 0.1)
>  >>>>
>  >>>> Resultat: ABCWin väljs, men inget skrivs.
>  >>>> Detta fungerar dock:
>  >>>> hotkey('alt', 'tab'); hotkey('alt', 'h'); hotkey('a')
>  >>>> Detta visa about-boxen.
>  >>>>
>  >>>> Känner någon till något system som kan skriva automatiskt i ABCWin 2?
>  >>>> Det vore bra om det fanns en paste-funktion i ABCWin som klarar ÉéÜü
>  >>>> m.fl <http://m.fl>. ABC80-tecken.
>  >>>>
>  >>>> Det är lite jobbigt nu när man bara kan skriva in program för 
> hand, men
>  >>>> inte spara dem.
>  >>>>
>  >>>>
>  >>>> Den 2018-02-14 <tel:2018-02-14> kl. 12:41, skrev Anders Käll:
>  >>>>> Intressant, skall se om jag får tid till helgen att testa....
>  >>>>>
>  >>>>> Den 11 februari 2018 22:26 skrev juhasz <juhasz at abc.se 
> <mailto:juhasz at abc.se>>:
>  >>>>>
>  >>>>>> Hej!
>  >>>>>>
>  >>>>>> Här en lite random post med ett gammalt projekt som jag la upp 
> på min
>  >>>>>> github - lite vagt relaterad till några kommentarer på listan om 
> FORTH och
>  >>>>>> filrutiner i UFD-DOS...
>  >>>>>>
>  >>>>>> CamelFORTH för ABC80!
>  >>>>>>
>  >>>>>> Jag hittade den gamla FORTH:en för ABC80 som distribuerats via 
> ABC-klubben
>  >>>>>> men var lite frustrerad över att den inte hade någon källkod 
> (nån som
>  >>>>>> har?). Sedan har jag alltid velat porta en FORTH (vem har inte 
> det...)
>  >>>>>>
>  >>>>>> Resultatet: CamelFORTH till ABC80. Det är bara ett par sena 
> kvällars jobb
>  >>>>>> bakom det hela så det är lite inkomplett:
>  >>>>>>
>  >>>>>> Det som finns:
>  >>>>>> - grundläggande port från CP/M till ABC80 (RAM börjar på 32768 
> <tel:32768> istf 0,
>  >>>>>> bort med CP/M i/o)
>  >>>>>> - grundläggande abc80 i/o
>  >>>>>> - visst grafikstöd
>  >>>>>> - grundläggande interface till filhantering
>  >>>>>>
>  >>>>>> MEN det finns viktiga saker som ännu inte funkar:
>  >>>>>> - LOAD och SAVE! Klubbens FORTH använde ju det gamla sättet med 
> screens.
>  >>>>>> Jag kanske hade tänkt något lite modernare med filer i 
> filsystemet som man
>  >>>>>> laddar...
>  >>>>>>
>  >>>>>> Den assembleras just nu precis som originalet med en CP/M 
> assembler under
>  >>>>>> CP/M (Z80MR.COM <http://Z80MR.COM>). Sen bygger man en diskimage 
> till ABCWin (se cam.bat <http://cam.bat>)
>  >>>>>>
>  >>>>>> Kolla in https://github.com/robertjuhasz/camabc om det verkar
>  >>>>>> intressant...
>  >>>>>>
>  >>>>>> Robert
> _______________________________________________
> ABC80 mailing list
> ABC80 at abc80.org <mailto:ABC80 at abc80.org>
> http://www.abc80.org/mailman/listinfo/abc80


More information about the ABC80 mailing list