Welcome, Guest. Please login or register.


Author Topic: Fényújság Mi a Manó? - Mikro magazin 1989/10 (Read 11383 times)

Offline Povi

  • EP addict
  • *
  • Posts: 2322
  • Country: hu
    • http://povi.fw.hu
Re: Fényújság Mi a Manó? - Mikro magazin 1989/10
« Reply #15 on: 2024.March.06. 09:16:46 »
A 120. sorban lévő CODE helyett pedig lehet ez:
=HEX$("3E,20,54,5D,23,01,27,00,ED,B0,12,C9")
ugyanazt csinálja, de 3 byte-tal rövidebb, és 3.75μs-mal gyorsabb :-D (nyilván nem emiatt lassú a BASIC-ben)
de az LD BC,1 / ADD HL,BC szúrta a csőrömet, lecseréltem egy INC HL-ra ;-)
*** Speicherplatz zu klein

Offline Povi

  • EP addict
  • *
  • Posts: 2322
  • Country: hu
    • http://povi.fw.hu
Re: Fényújság Mi a Manó? - Mikro magazin 1989/10
« Reply #16 on: 2024.March.06. 10:16:19 »
szóval negy egyszerű az ilyen direkt memóra címzés.
Igen, ez a legnagyobb baja ennek a programnak, hogy fix helyen feltételezi a szöveges lapot.
Ezzel a kis programmal ki lehet számolni az adott sor kezdőcímét:
Code: [Select]
 100 LET LPTADDR=PEEK(49141)*256+PEEK(49140)
  110 FOR SOR=1 TO 20
  120   LET N=SOR*16+4+LPTADDR
  130   LET SORCIM=PEEK(N)+PEEK(N+1)*256-16384
  140   PRINT SORCIM
  150 NEXT

A fenti programból kibányászva a képletet, és a kívánt sor kezdőcímét a SORCIM változóba eltéve, az alábbi két sort kell módosítani a fényújságos progiban:
Code: [Select]
160 POKE SORCIM+39,ORD(A$)
270 CALL USR(BALRA,SORCIM)

Így 0. sorba kiszámolva a STATUS sorba is tudunk írni!
*** Speicherplatz zu klein

Offline gflorez

  • EP addict
  • *
  • Posts: 3615
  • Country: es
    • Támogató Támogató
Re: Fényújság Mi a Manó? - Mikro magazin 1989/10
« Reply #17 on: 2024.March.06. 10:57:24 »
Az elejétől kezdve küzdve olvasom, hogy megtudjam, mit csinál a program...., mert nekem egyáltalán nem működött, még a Szipucsu által javított verzió sem.

Szétszedtem a kódot, hogy abszolút címeket keressek, de ez relokálható.

Aztán rájöttem a Basicben használt abszolút címekre, ahogy Povi rámutat.

Egy igazán rossz példa az Enterprise kódolásra....

------------------------------

I am reading from the start struggling to know what the program does.... because it didn't work at all for me, even the fixed version from Szipucsu.

I have disassembled the code to search absolute addresses, but it is relocatable.

Then I have realised the absolute addresses used in Basic, as Povi points out.

A really bad example of Enterprise coding....

Offline gflorez

  • EP addict
  • *
  • Posts: 3615
  • Country: es
    • Támogató Támogató
Re: Fényújság Mi a Manó? - Mikro magazin 1989/10
« Reply #18 on: 2024.March.06. 11:24:06 »
Egyébként... nem kapcsolódik, de ez tényleg egy széles görgetés.... Geco készítette, Hans TMTLogic számára, éppen két napja.

------------------

By the way... not related but this is really a wide scroll.... Made by Geco for Hans TMTLogic just two days ago.





Edit: ez egy csodálatos példa arra, hogyan lehet abszolút címekkel relokálhatóvá tenni egy gépi kódot. Én ezt Prodatron stílusnak hívom... mert így működik a SymbOS.

---------------------

Edit: it is a wonderful example on how to make relocatable a machine code with absolute addresses. I call it Prodatron style... because is the way SymbOS works.
« Last Edit: 2024.March.06. 11:34:15 by gflorez »

Offline Povi

  • EP addict
  • *
  • Posts: 2322
  • Country: hu
    • http://povi.fw.hu
Re: Fényújság Mi a Manó? - Mikro magazin 1989/10
« Reply #19 on: 2024.March.06. 12:31:05 »
Code: [Select]
  100 PROGRAM "MIMANO.BAS"
  110 TEXT
  120 ALLOCATE 12
  130 CODE BALRA=HEX$("3e,20,54,5d,23,01,27,00,ed,b0,12,c9")
  140 LET LPTA=PEEK(49141)*256+PEEK(49140)
  150 LET SOR=0
  160 LET N=SOR*16+4+LPTA
  170 LET SORCIM=PEEK(N)+PEEK(N+1)*256-16384
  180 READ A
  190 FOR I=1 TO A
  200   READ A$
  210   POKE SORCIM+39,ORD(A$)
  220   CALL VAR
  230 NEXT
  240 FOR I=1 TO 40
  250   CALL VAR
  260 NEXT
  270 RESTORE
  280 GOTO 180
  290 DEF VAR
  300   FOR Q=1 TO 25
  310   NEXT
  320   CALL USR(BALRA,SORCIM)
  330 END DEF
  340 DATA 38,E,n,t,e,r,p,r,i,s,e,f,o,r,e,v,e,r,.,c,o,m," ",H,e,l,l,o," ",e,v,e,r,y,b,o,d,y,"!"
*** Speicherplatz zu klein

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14779
  • Country: hu
    • http://enterprise.iko.hu/
Re: Fényújság Mi a Manó? - Mikro magazin 1989/10
« Reply #20 on: 2024.March.06. 13:40:38 »
Még szerencse, hogy Povi figyelt az EXOS kompatibilis programozás órákon! :ds_icon_cheesygrin:

Az eredeti program csak és kizárólag 128-as, magnós gépen futott helyesen. Ha bármi plusz ROM, vagy RAM van a rendszerben, már nem stimmel a képernyő kezdőcím.

Mondjuk azt a részt se értem, minek pókolni a szöveget, ahelyett, hogy PRINT AT-tal odaírná :lol:

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 10108
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Fényújság Mi a Manó? - Mikro magazin 1989/10
« Reply #21 on: 2024.March.06. 13:48:54 »
Az eredeti program csak és kizárólag 128-as, magnós gépen futott helyesen.
És csak Text 40 módban. Már a Text 80 módot se csípi.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14779
  • Country: hu
    • http://enterprise.iko.hu/
Re: Fényújság Mi a Manó? - Mikro magazin 1989/10
« Reply #22 on: 2024.March.06. 14:10:29 »
Már a Text 80 módot se csípi.
Igen mert a TEXT 80 az valójában grafikus. Olyan scroll rutin kéne, ami egymás alatt 9 pixelsort mozgat egyszerre.

Offline Povi

  • EP addict
  • *
  • Posts: 2322
  • Country: hu
    • http://povi.fw.hu
Re: Fényújság Mi a Manó? - Mikro magazin 1989/10
« Reply #23 on: 2024.March.06. 14:15:53 »
És csak Text 40 módban. Már a Text 80 módot se csípi.
Igen, mert csak "valódi" szöveges módban fut. A 80 karakter széles szöveges valójában már grafikus mód, mivel pixel adatként vannak tárolva a video memóriában a képernyőn látható karakterek. A 40 karakteres módban pedig tényleg "o" és "k" van a videomemóriában ott, ahol az "ok" felirat olvasható.
*** Speicherplatz zu klein

Offline geco

  • EP addict
  • *
  • Posts: 7232
  • Country: hu
    • Támogató Támogató
Re: Fényújság Mi a Manó? - Mikro magazin 1989/10
« Reply #24 on: 2024.March.06. 14:26:55 »
Igen mert a TEXT 80 az valójában grafikus. Olyan scroll rutin kéne, ami egymás alatt 9 pixelsort mozgat egyszerre.
Nem szerencsés, CPC-n grafikus módban megy ugyanaz, mint EP-n karakteres módban, és nem fér bele 1 frame-be a 8 karakter sor frissítése, a leggyorsabb verzióba belefér, de akkor csak fél karakter szélességben van megjelenítve 1 pixel.

Offline gflorez

  • EP addict
  • *
  • Posts: 3615
  • Country: es
    • Támogató Támogató
Re: Fényújság Mi a Manó? - Mikro magazin 1989/10
« Reply #25 on: 2024.March.06. 15:27:01 »
Minden karakterhatár 0. és 7. bitje adja a színkódot. A 80 oszlopos görgetés meghamisításához jobb, ha nagy felbontású grafikus módot használ.

---------------------

Bit 0 and 7 of every character boundary make the colour code. It is better to use a hires graphics mode for a fake 80 Columns scroll.

Offline geco

  • EP addict
  • *
  • Posts: 7232
  • Country: hu
    • Támogató Támogató
Re: Fényújság Mi a Manó? - Mikro magazin 1989/10
« Reply #26 on: 2024.March.06. 16:25:34 »
Minden karakterhatár 0. és 7. bitje adja a színkódot. A 80 oszlopos görgetés meghamisításához jobb, ha nagy felbontású grafikus módot használ.

---------------------

Bit 0 and 7 of every character boundary make the colour code. It is better to use a hires graphics mode for a fake 80 Columns scroll.
Nem nyerünk vele sajnos semmit, mert ugyanúgy 1 karakterre 8 byte-ot kéne írni 2 szín grafikus módban :(
Egy megoldás lehetséges, ha töröljük a VRES bitet az EXOS LPT összes LPB-jében, akkor elég 1 byte/karakter írás, ez lehet színkód bit, ha MS BALT vagy LS BALT, vagy mind a kettő be van állítva, ha nem, akkor egy jól irányzott 0ffh -val egy telített karaktert jeleníthetünk meg az adott pozícióban.

It does not save us any data writing, because we have to write 8 bytes for 1 character also in 2 colour graphics mode :(
There is one solution, if we clear VRES bit of each LPB of EXOS LPT, in this case we can write 1 byte/character, it can be colour code, if MS BALT, or LS BALT or both are set, if not by writing 0ffh then 1 full character will appear in that position.

Offline gflorez

  • EP addict
  • *
  • Posts: 3615
  • Country: es
    • Támogató Támogató
Re: Fényújság Mi a Manó? - Mikro magazin 1989/10
« Reply #27 on: 2024.March.06. 17:13:02 »
Mi lenne, ha a grafikus puffer mutatóval játszanál? Úgy értem, 80*9 bájt hozzáadásával vagy kivonásával, és némi hely felhasználásával az adatok bevitelére és gördítésére. De lehet, hogy valamit figyelmen kívül hagyok.

How about playing with the graphics buffer pointer? I mean adding or subtracting 80*9 bytes, and using some space for data input&roll. But maybe I am ignoring something.

Offline Ferro73

  • EP addict
  • *
  • Posts: 1016
  • Country: hu
Re: Fényújság Mi a Manó? - Mikro magazin 1989/10
« Reply #28 on: 2024.March.06. 19:53:51 »
Code: [Select]
 100 PROGRAM "MIMANO.BAS"
  110 TEXT
  120 ALLOCATE 12
  130 CODE BALRA=HEX$("3e,20,54,5d,23,01,27,00,ed,b0,12,c9")
  140 LET LPTA=PEEK(49141)*256+PEEK(49140)
  150 LET SOR=0
  160 LET N=SOR*16+4+LPTA
  170 LET SORCIM=PEEK(N)+PEEK(N+1)*256-16384
  180 READ A
  190 FOR I=1 TO A
  200   READ A$
  210   POKE SORCIM+39,ORD(A$)
  220   CALL VAR
  230 NEXT
  240 FOR I=1 TO 40
  250   CALL VAR
  260 NEXT
  270 RESTORE
  280 GOTO 180
  290 DEF VAR
  300   FOR Q=1 TO 25
  310   NEXT
  320   CALL USR(BALRA,SORCIM)
  330 END DEF
  340 DATA 38,E,n,t,e,r,p,r,i,s,e,f,o,r,e,v,e,r,.,c,o,m," ",H,e,l,l,o," ",e,v,e,r,y,b,o,d,y,"!"

Azért SPEEK, SPOKE vel hasznosabb lett volna akkor ZZZIp elhető lenne.