Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Témata - mhi

Stran: [1] 2 3 4
1
Po temer nulovem "uspechu" na serveru oldcomp.cz bych si dovolil zverejnit jeste zde moji snahu o vytvorit kalendar pro rok 2024 na pripomenuti si ruznych udalosti tykajicich se pocitacu, zejmena tech lokalnich (narozeni/umrti zajimavych lidi, uvedeni historicky zajimavych produktu, apod.). Puvodni post je zde: https://oldcomp.cz/viewtopic.php?f=45&t=6461&p=157492#p157365 a aktualni verze ke stazeni zde  https://www.uschovna.cz/en/zasilka/NU7D75LP3MMBP37Z-XNV/

Uvitam, pokud mi doplnite nejake dalsi "milniky" historie, zde jsou aktualni data (prosim davat idealne radky rovnou v mem CSV formatu, zajmove okruhy jsou vzdy v komentari):

Kód: [Vybrat]
# zajimave dny
14.03.0000;Pi day [03/14]

# Osobnosti oldcomp
11.08.1950;Narozen Steve Wozniak [Woz], jeden ze zakladatelů Apple Computer;https://en.wikipedia.org/wiki/Steve_Wozniak
24.02.1955;Narozen Steve Jobs, jeden ze zakladatelů Apple Computer;https://en.wikipedia.org/wiki/Steve_Jobs
05.10.2011;Zemřel Steve Jobs, jeden ze zakladatelů Apple Computer;https://en.wikipedia.org/wiki/Steve_Jobs
30.07.1940;Narozen Clive Marles Sinclair
16.09.2021;Zemřel Clive Marles Sinclair;https://en.wikipedia.org/wiki/Clive_Sinclair
01.06.1646;Narodil se Gottfried Leibniz, konstruktér prvního počítacího stroje a vynálezce dvojkové soustavy

# Internet
30.04.1993;CERN zveřejnil software pro WWW;https://www.home.cern/science/computing/birth-web

# Unix/Linux/...
25.08.1991;Linus Torvalds oznamuje Linux;https://en.wikipedia.org/wiki/History_of_Linux
28.12.1969;Narozen Linus Torvalds;https://en.wikipedia.org/wiki/Linus_Torvalds
04.02.1943;Narozen Ken Thompson;https://en.wikipedia.org/wiki/Ken_Thompson
30.01.1942;Narozen Brian Kernighan;https://en.wikipedia.org/wiki/Brian_Kernighan
09.09.1941;Narozen Dennis Ritchie, spoluautor C a Unixu;https://en.wikipedia.org/wiki/Dennis_Ritchie

# Udalosti pocitace
24.01.1984;Steve Jobs uvádí první model Macintoshe;https://cwsisecurity.com/the-history-of-the-apple-macintosh/
29.06.2007;Zahájen prodej první generace iPhone;https://en.wikipedia.org/wiki/IPhone_(1st_generation)

# hacking
17.11.1985;Vychází první číslo Phrack magazínu;http://www.phrack.org/issues/1/1.html
06.08.1963;Narozen Kevin Mitnick
16.07.2023;Zemřel Kevin Mitnick
21.11.2021;Train's Secondary Compressor Stops Working Day;https://social.hackerspace.pl/@q3k/111618420373868285

# cz/sk oldcomp osobnosti
14.09.1907;Narodil se Antonín Svoboda;https://cs.wikipedia.org/wiki/Anton%C3%ADn_Svoboda
18.05.1980;Zemřel se Antonín Svoboda;https://cs.wikipedia.org/wiki/Anton%C3%ADn_Svoboda
06.02.1944;Narodil se Eduard Smutný, hlavní vývojář SAPI;https://cs.wikipedia.org/wiki/Eduard_Smutn%C3%BD
23.12.1948;Narodil se Roman Kišš, autor PMD-85;https://www.pic-piestany.sk/o-meste/vyznamne-osobnosti/detaily/?tx_kioscosmotron_pi1%5Bdetail%5D=0179473

# cz/sk scena
12.09.1991;Vznik první mobilní sítě v ČR;https://www.novinky.cz/internet-a-pc/mobil/clanek/aktivace-mobilniho-cisla-za-29-000-kcs-prvni-mobilni-sit-nmt-byla-jen-pro-vyvolene-40371805
13.02.1992;oficiální připojení Československa k Internetu;https://www.30letinternetu.cz/akce/konference-30-let-internetu-v-ceske-republice/
25.04.2006;Den nbusr123 - napaden server Národného Bezpečnostného Úradu Slovenské republiky;https://www.root.cz/zpravicky/slovensky-narodny-bezpecnostny-urad-napaden/
20.07.2006;Zabavení serveru hysteria.sk;https://www.root.cz/clanky/hysteria-sk-jmenem-zakona-se-zabavuje/
05.05.2007;Spuštění serveru uloz.to;https://cs.wikipedia.org/wiki/Ulo%C5%BE.to_Disk
17.01.1998;Session skupiny CzERT monitorována a navštívena PČR;https://eldar.cz/kangaroo/zasek_do_zivyho/node5.html
10.05.2003;Uskutečnila se Nostagia-Párty´03;http://www.bytefest.cz/c/rocniky/2
01.12.2023;Ukončení veřejného stahování ze serveru uloz.to;https://cs.wikipedia.org/wiki/Ulo%C5%BE.to_Disk

# statni svatky CR pro ukotveni v realite normalnich lidi ;) - bratia Slovaci prominu
01.01.0000;Den obnovy samostatného českého státu;https://www.mpsv.cz/svatky-v-ceske-republice
08.05.0000;Den vítězství;https://www.mpsv.cz/svatky-v-ceske-republice
05.07.0000;Den slovanských věrozvěstů Cyrila a Metoděje;https://www.mpsv.cz/svatky-v-ceske-republice
06.07.0000;Den upálení mistra Jana Husa;https://www.mpsv.cz/svatky-v-ceske-republice
28.09.0000;Den české státnosti;https://www.mpsv.cz/svatky-v-ceske-republice
28.10.0000;Den vzniku samostatného československého státu;https://www.mpsv.cz/svatky-v-ceske-republice
17.11.0000;Den boje za svobodu a demokracii;https://www.mpsv.cz/svatky-v-ceske-republice

Podle toho jak to dopadne jeste upravim layout a nageneruji novou verzi. Dekuji!

2
Vývoj / BLE GATT: párování a přístup v Linuxu a Windows
« kdy: 11. 10. 2023, 16:45:30 »
Resili jste prosim nekdo BLE4 GATT zarizeni:

- v Linuxu typu moderni Ubuntu/Fedora (bluez pres dbus, napr. s knihovnou https://github.com/labapart/gattlib/tree/master ) aby melo security (napr. priklad z esp32 gatt_security_server ) ? Umim pouzivat BLE GATT bez security, idealne bych chtel, aby se nemuselo zarizeni parovat do systemu (ale muze), ale neumim to se security (je to spis o tom ze ted nevim jak na to, resp. nerozumim te dbusove verzi bluez).

- ve Windows 10 & 11, aby se dalo pristoupit na GATT zarizeni bez parovani ? Ono to mozna nejde, viz https://learn.microsoft.com/en-us/answers/questions/133218/connecting-to-services-for-unpaired-ble-devices a https://stackoverflow.com/questions/62461110/windows-10-1909-ble-connecting-without-pairinghttps://stackoverflow.com/questions/38703701/connect-to-ble-peripheral-on-windows-10/38765239

Podotykam, ze to potrebuju v C, v horsim pripade v C++, ale ne C# apod. Windows API na GATT jsou zde https://learn.microsoft.com/en-us/windows/win32/api/bluetoothleapis/ ; bohuzel nedostanu se bez naparovani k handle :-(.

3
Vývoj / PIC32Mx vývoj v Linuxu
« kdy: 24. 07. 2023, 10:36:46 »
Pouzivate nekdo standardni mips-gcc pro vyvoj pro PIC32Mx (MIPS SoCy od Microchipu) v Linuxu  ?

Existuje xc32 pro Linux, ano, vim o tom, ale rad bych pouzil idealne mips-gcc (v Ubuntu je crosscompiler, kterym jsem vygeneroval zda se spravnou binarku). Hlavni problem tam je s atributem "address", ktery se pouziva na vsechny registry - to umim obejit pres #define pro celociselne registry.

Motivace meho asi nezvykleho prani je to, ze vyvoj v Linuxu (vi, gcc,make) je pro mne mnohem rychlejsi nez v MPLABu X, navic obcas crosscompiluju na ARM hostu, pro ktery xc32 neni. Presne takhle resim ruzne Cortexy-M. Popravde jsem byl dost prekvapen tim jak MPLAB X funguje, uplne jiny svet, nez na ktery jsem zvykly.

4
Vývoj / Tester x86 (zejm.) ALU instrukcí
« kdy: 23. 06. 2023, 15:11:30 »
Doporucite mi prosim nekdo nejaky blob na testovani x86 emulatoru (translatoru), aby to umelo v idealni podobe:

- otestovat oddelene 16 a 32bit ruzne ALU operace (tzn. aby slo testovat jen 80(1,2)86 sadu) - na spravny vypocet
- to same na SPRAVNOU praci s flagy
- otestovat ruzne silenosti typu https://www.timdbg.com/posts/useless-x86-trivia/
- otestovat ruzne dalsi instrukce pro pametove operace, opet oddelene 16 (80(1)86) a 32bit (386+) rezim

Jde mi primarne skutecne jen o ALU. Znam treba https://github.com/barotto/test386.asm - takhle presne si to nejak predstavuju, tam bohuzel to ALU +/- chybi.

Doplnujici otazka - potrebuju neco podobneho i na jine sady, konkretne PowerPC a TriCore, 8051,  80166, Z80. Opet primarne zamerene na ALU, nepotrebuju zadne veci jako testy MMU apod.

Po minulych zkusenostech se nezlobte, ale na reakce rikajici mi ze delam blbost nebo ze to mam udelat jinak (pokud to nebude z meho pohledu dobry napad) nebudu vubec reagovat.

5
Vývoj / C pre-preprocesor
« kdy: 09. 04. 2023, 01:31:27 »
Pisu nejaky disassembler pro ne uplne bezny RISCovy procesor. Potrebuju nejak rozumne v cecku udelat to, abych mohl porovnavat masky instrukci (vyznamove bity jsou ruzne rozesety) a soucasne jsem mohl extrahovat jednotlive bity do promennych.  Tohle se pise hrozne blbe v cistem C, tak jsem zacal psat program, ktery rozepise kazde volani fiktivni fce bitmatch(var,bitmask[,assignments]) tak, aby vratila nonzero kdyz dojde k matchi instrukce a vyextrahovala mi bity do promennych. Takhle zustava kod celkem slusne citelny a je to syntakticky podobne cecku, takze jdou pouzit indentory, syntax highlighting, apod. Zde je priklad:

Kód: [Vybrat]
  if (bitmatch
      (opcode, '01010a100aabab.' /*an opcode */ , rd /*target reg */  =
       b, rs = a))
    {
      printf ("ok");
    }

vystup:
Kód: [Vybrat]
  if (/*.................................................01010a100aabab.*/ ((opcode & 0x7DC0) == 0x2900) && (rd = ((opcode>>1)&0x1)<<0|((opcode>>3)&0x1)<<1,rs = ((opcode>>2)&0x1)<<0|((opcode>>4)&0x3)<<1|((opcode>>9)&0x1)<<3,1))
    {
      printf ("ok");
    }

(neni to jeste dodelane, tohle je fiktivni instrukce, a je pozde a nejsem si jist jestli tam nemam nejakou botu)

Z jineho projektu mam napsany C lexikalni analyzator (tokenizer), ktery jsem na to pouzil, jeho funkce je primitivni, najde dalsi token a naplni strukturu s informacemi o tokenu. Udelal jsem tedy primitivni preprocesor, ktery z meho pseudo-c generuje cecko (lokalizuje identifikator bitmatch a slepe prepise do C kodu):


Kód: [Vybrat]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "ctok.h"

void
synterr (struct ctok *tok, const char *whatiswrong)
{
  printf ("Syntax error: %s\n", whatiswrong);
  exit (1);
}

int
main (int argc, char **argv)
{
  struct ctok tok;
  int pos, lastwpos;
  int i, j, k;
  int bs, be, bp;
  char varname[0x100], valname[0x100], bitmask[64];
  unsigned long long bmmask, bmval;


  if (argc != 3)
    {
      printf ("Usage: %s [infile.d.c] [outfile.c]\n", argv[0]); // xxx outfile se ted nepouziva
      exit (1);
    }

  if (ctok_readfile (argv[1]) <= 0)
    {
      perror (argv[1]);
      exit (1);
    }

  fprintf (stdout, "/*Automatically generated by %s, DO NOT EDIT! */\n\n",
           argv[0]);

  lastwpos = pos = 0;
  while (ctok_gettoken (pos, &tok, CTOK_FLAG_IGNORECOMMENTS) > CTOK_EOF)
    {
      // Search for identifier "bitmatch"
      if (tok.toktype == CTOK_IDENT && tok.len == 8
          && !memcmp (tok.data, "bitmatch", tok.len))
        {
          if (lastwpos < pos)
            {
              fwrite (ctok_getdata (lastwpos), pos - lastwpos, 1, stdout);
            }

          if (ctok_gettoken
              (ctok_nexttokpos (&tok), &tok,
               CTOK_FLAG_IGNORECOMMENTS) != CTOK_SYMBOL && tok.info != '(')
            synterr (&tok, "Expected (");

          if (ctok_gettoken
              (ctok_nexttokpos (&tok), &tok,
               CTOK_FLAG_IGNORECOMMENTS) != CTOK_IDENT)
            synterr (&tok, "Expected variable identifier");

          memcpy (varname, tok.data, tok.len);
          varname[tok.len] = 0;

          if (ctok_gettoken
              (ctok_nexttokpos (&tok), &tok,
               CTOK_FLAG_IGNORECOMMENTS) != CTOK_SYMBOL || tok.info != ',')
            synterr (&tok, "Expected \',\' after variable identifier");


          if (ctok_gettoken
              (ctok_nexttokpos (&tok), &tok,
               CTOK_FLAG_IGNORECOMMENTS) != CTOK_CHARLIT)
            synterr (&tok, "Expected bitmask");


          memcpy (bitmask + 64 - tok.len, tok.data, tok.len);

          // ignore spaces in bits, these are just for better readibility
          for (i = 0, j = 0; i < tok.len; i++)
            if (tok.data[i] != ' ')
              bitmask[j++] = tok.data[i];

          memmove (bitmask + 64 - j, bitmask, j);
          memset (bitmask, '.', 64 - j);

          bmval = bmmask = 0;
          for (i = 0; i < 64; i++)
            if (bitmask[63 - i] == '0' || bitmask[63 - i] == '1')
              {
                bmmask |= 1ULL << i;
                if (bitmask[63 - i] == '1')
                  bmval |= 1ULL << i;
              }

          printf ("/*%64.64s*/ ((%s & 0x%llX%s) == 0x%llX%s) && (", bitmask,
                  varname, bmmask, (bmmask >> 32) != 0 ? "ULL" : "", bmval,
                  (bmval >> 32) != 0 ? "ULL" : "");

          while (1)
            {
              if (ctok_gettoken
                  (ctok_nexttokpos (&tok), &tok,
                   CTOK_FLAG_IGNORECOMMENTS) != CTOK_SYMBOL
                  || (tok.info != ')' && tok.info != ','))
                synterr (&tok, "Expected , or )");

              if (tok.info == ')')
                break;

              if (ctok_gettoken
                  (ctok_nexttokpos (&tok), &tok,
                   CTOK_FLAG_IGNORECOMMENTS) != CTOK_IDENT)
                synterr (&tok, "Expected variable identifier");

              memcpy (valname, tok.data, tok.len);
              valname[tok.len] = 0;


              if (ctok_gettoken
                  (ctok_nexttokpos (&tok), &tok,
                   CTOK_FLAG_IGNORECOMMENTS) != CTOK_SYMBOL
                  || tok.info != '=')
                synterr (&tok, "Expected = for bits assignment");

              if (ctok_gettoken
                  (ctok_nexttokpos (&tok), &tok,
                   CTOK_FLAG_IGNORECOMMENTS) != CTOK_IDENT || tok.len != 1)
                synterr (&tok, "Expected bit letter/identifier");

              printf ("%s = ", valname);

              // calculate bit extraction equations
              for (bp = 0, i = 0; i < 64; i++)
                if (bitmask[64 - 1 - i] == tok.data[0])
                  {
                    bs = i;
                    while (i < 64 && bitmask[64 - 1 - i] == tok.data[0])
                      i++;
                    be = i;
                    if (bp != 0)
                      printf ("|");
                    printf ("((%s>>%d)&0x%X)<<%d", varname, bs,
                            (1 << (be - bs)) - 1, bp);
                    bp += be - bs;
                  }
              if (bp == 0)
                {
                  printf ("No matching bits for variable %s\n", valname);
                  exit (1);
                }

              printf (",");

            }                   // while new stuff for bit assignment

          printf ("1)");

          lastwpos = ctok_nexttokpos (&tok);
        }                       // if "bitmatch" identifier token


      pos = ctok_nexttokpos (&tok);

    }

  if (tok.toktype != CTOK_EOF)
    synterr (&tok, "C parser error");

  if (lastwpos < pos)
    {
      fwrite (ctok_getdata (lastwpos), pos - lastwpos, 1, stdout);
    }


  return 0;
}

Cilove prekladace jsou gcc, llvm, msvc.

Ma to 2 problemy:

- idealne bych potreboval nejak vystup poslat do prekladace bez generovani mezisouboru. Videl jsem nejake snahy o vlastni preprocesor ( https://stackoverflow.com/questions/3545875/custom-gcc-preprocessor ), ale takhle to nechci, navic msvc (Windows) bude problem. Idealni by byl nejaky parametr typu '-custom-preprocessor-before-cpp1=...'. Nenasel jsem. Nebo to tam dostat pres pipe. Nenasel jsem jak.

- potrebuju zachovat cisla radek (pocitejme s tim, ze nahrazovane "volani" bitmatch budou i viceradkova, s komentari,atd.) , aby kdyz se seknu nekde v kodu slo hledat chyby (nutne aby to chodilo alespon v gcc/llvm, msvc by bylo fajn, predpokladam ze #line by to nejak mel resit, ale nejak se mi zatim nedari. Jak na to?

Mimo tyto dotazy by mne jeste zajimalo, jestli nejake moderni jazyky poskytuji knihovny, ktere tohle umoznuji napsat s kratsim kodem. C tokenizer vyuziva jen libc a ma pocty radek:  740 ctok.c / 177 ctok.h; jsem takova kozerva, treba mi nekdo ukazete ze s "modernim programovanim" to jde udelat jednoduseji.

6
Hardware / Získání dat z diskety ve formátu IBM HDR1
« kdy: 23. 03. 2023, 17:19:54 »
Abych nevymyslel znovu kolo, radsi se zeptam mistnich odborniku .. tusite jak extrahovat diskety IBM formatu s "HDR1"? Vypada to celkem podobne k https://www.ibm.com/docs/en/zos/2.1.0?topic=format-standard-data-set-label-1-hdr1eov1eof1

konkretne mi jde o http://www.bitsavers.org/bits/IBM/5280/SS/ ; zde davam dump prevedeny z EBCDIC na citelne ASCII (vlevo HEX je original):

Kód: [Vybrat]
EBCDIC dump SYSCON7.IMD:
00000000:  49 4D 44 20 31 2E 31 38  3A 20 20 36 2F 30 38 2F | .(..............
00000010:  32 30 31 37 20 31 35 3A  30 38 3A 33 36 0D 0A 1A | ................  tohle je ASCII hlavicka toho image
00000020:  00 00 00 1A 00 01 02 03  04 05 06 07 08 09 0A 0B | ................
00000030:  0C 0D 0E 0F 10 11 12 13  14 15 16 17 18 19 1A 01 | ................
00000040:  C9 D7 D3 F0 F8 40 40 40  40 40 40 40 40 40 40 40 | IPL08
00000050:  40 40 40 40 40 40 40 40  40 40 40 40 40 40 40 40 |
00000060:  40 40 40 40 40 40 40 40  40 40 40 40 40 40 40 40 |
00000070:  40 40 40 40 40 40 40 40  40 40 40 40 40 40 40 40 |
00000080:  40 40 40 40 40 40 40 40  40 40 40 40 40 40 40 40 |
00000090:  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 | ................
000000A0:  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 | ................
000000B0:  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 | ................
000000C0:  01 40 40 40 40 40 40 40  40 40 40 40 40 40 40 40 | .
000000D0:  40 40 40 40 40 40 40 40  40 40 40 40 40 40 40 40 |
000000E0:  40 40 40 40 40 40 40 40  40 40 40 40 40 40 40 40 |
000000F0:  40 40 40 40 40 40 40 40  40 40 40 40 40 40 40 40 |
00000100:  40 40 40 40 40 40 40 40  40 40 40 40 40 40 40 40 |
00000110:  40 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 |  ...............
00000120:  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 | ................
00000130:  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 | ................
00000140:  00 01 40 40 40 40 40 40  40 40 40 40 40 40 40 40 | ..
00000150:  40 40 40 40 40 40 40 40  40 40 40 40 40 40 40 40 |
00000160:  40 40 40 40 40 40 40 40  40 40 40 40 40 40 40 40 |
00000170:  40 40 40 40 40 40 40 40  40 40 40 40 40 40 40 40 |
00000180:  40 40 40 40 40 40 40 40  40 40 40 40 40 40 40 40 |
00000190:  40 40 00 00 00 00 00 00  00 00 00 00 00 00 00 00 |   ..............
000001A0:  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 | ................
000001B0:  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 | ................
000001C0:  00 00 01 40 40 40 40 40  40 40 40 40 40 40 40 40 | ...
000001D0:  40 40 40 40 40 40 40 40  40 40 40 40 40 40 40 40 |
000001E0:  40 40 40 40 40 40 40 40  40 40 40 40 40 40 40 40 |
000001F0:  40 40 40 40 40 40 40 40  40 40 40 40 40 40 40 40 |
00000200:  40 40 40 40 40 40 40 40  40 40 40 40 40 40 40 40 |
00000210:  40 40 40 00 00 00 00 00  00 00 00 00 00 00 00 00 |    .............
00000220:  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 | ................
00000230:  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 | ................
00000240:  00 00 00 01 C5 D9 D4 C1  D7 40 40 40 40 40 40 40 | ....ERMAP
00000250:  40 40 40 40 40 40 40 40  40 40 40 40 40 40 40 40 |
00000260:  40 40 40 40 40 40 40 40  40 40 40 40 40 40 40 40 |
00000270:  40 40 40 40 40 40 40 40  40 40 40 40 40 40 40 40 |
00000280:  40 40 40 40 40 40 40 40  40 40 40 40 40 40 40 40 |
00000290:  40 40 40 40 00 00 00 00  00 00 00 00 00 00 00 00 |     ............
000002A0:  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 | ................
000002B0:  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 | ................
000002C0:  00 00 00 00 01 40 40 40  40 40 40 40 40 40 40 40 | .....
000002D0:  40 40 40 40 40 40 40 40  40 40 40 40 40 40 40 40 |
000002E0:  40 40 40 40 40 40 40 40  40 40 40 40 40 40 40 40 |
000002F0:  40 40 40 40 40 40 40 40  40 40 40 40 40 40 40 40 |
00000300:  40 40 40 40 40 40 40 40  40 40 40 40 40 40 40 40 |
00000310:  40 40 40 40 40 00 00 00  00 00 00 00 00 00 00 00 |      ...........
00000320:  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 | ................
00000330:  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 | ................
00000340:  00 00 00 00 00 01 E5 D6  D3 F1 F5 F7 F0 F8 E2 C3 | ......VOL15708SC
00000350:  40 40 40 40 40 40 40 40  40 40 40 40 40 40 C9 C2 |               IB
00000360:  D4 F5 F2 F8 F0 40 40 40  40 40 40 F2 F9 F2 F4 E2 | M5280      2924S
00000370:  C3 F1 D9 F0 F7 F0 E5 F0  F1 40 40 40 40 40 40 40 | C1R070V01
00000380:  40 40 40 40 40 40 40 40  40 40 40 40 40 40 40 40 |
00000390:  40 F1 F0 F1 40 E6 00 00  00 00 00 00 00 00 00 00 |  101 W..........
000003A0:  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 | ................
000003B0:  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 | ................
000003C0:  00 00 00 00 00 00 01 C8  C4 D9 F1 40 E2 E8 E2 C9 | .......HDR1 SYSI
000003D0:  D7 D3 40 40 40 40 40 40  40 40 40 40 40 40 40 F2 | PL             2
000003E0:  F5 F6 D9 F0 F1 F0 F0 F1  F1 F0 F4 F0 F1 F0 40 40 | 56R01001104010
000003F0:  40 40 C9 40 40 40 F8 F3  F0 F4 F1 F9 40 F2 F5 F6 |   I   830419 256
00000400:  40 40 40 40 40 40 40 40  40 40 40 40 40 40 40 40 |
00000410:  C4 F0 F4 F0 F1 F1 40 40  40 40 40 40 40 40 40 40 | D04011
00000420:  40 40 40 40 40 40 C9 C2  D4 F5 F2 F8 F0 40 40 40 |       IBM5280
00000430:  40 40 40 40 40 40 40 40  40 40 40 40 40 40 40 40 |
00000440:  40 40 40 40 40 40 40 01  C8 C4 D9 F1 40 E2 E8 E2 |        .HDR1 SYS
00000450:  C4 C9 D7 D3 40 40 40 40  40 40 40 40 40 40 40 40 | DIPL
00000460:  F2 F5 F6 D9 F0 F4 F0 F1  F1 F1 F0 F5 F0 F1 F4 40 | 256R04011105014
00000470:  40 40 40 C9 40 40 40 F8  F3 F0 F4 F1 F9 40 F2 F5 |    I   830419 25
00000480:  F6 40 40 40 40 40 40 40  40 40 40 40 40 40 40 40 | 6
00000490:  40 C4 F0 F5 F0 F1 F5 40  40 40 40 40 40 40 40 40 |  D05015
000004A0:  40 40 40 40 40 40 40 C9  C2 D4 F5 F2 F8 F0 40 40 |        IBM5280
000004B0:  40 40 40 40 40 40 40 40  40 40 40 40 40 40 40 40 |
000004C0:  40 40 40 40 40 40 40 40  01 C8 C4 D9 F1 40 E2 E8 |         .HDR1 SY
000004D0:  E2 C4 D7 D9 E3 F1 40 40  40 40 40 40 40 40 40 40 | SDPRT1
000004E0:  40 F2 F5 F6 D9 F0 F5 F0  F1 F5 F1 F0 F6 F0 F1 F1 |  256R05015106011
000004F0:  40 40 40 40 C9 40 40 40  F8 F3 F0 F4 F1 F9 40 F2 |     I   830419 2
00000500:  F5 F6 40 40 40 40 40 40  40 40 40 40 40 40 40 40 | 56
00000510:  40 40 C4 F0 F6 F0 F1 F2  40 40 40 40 40 40 40 40 |   D06012
00000520:  40 40 40 40 40 40 40 40  C9 C2 D4 F5 F2 F8 F0 40 |         IBM5280
00000530:  40 40 40 40 40 40 40 40  40 40 40 40 40 40 40 40 |
00000540:  40 40 40 40 40 40 40 40  40 01 C8 C4 D9 F1 40 E2 |          .HDR1 S
00000550:  E8 E2 E3 C2 D3 E2 40 40  40 40 40 40 40 40 40 40 | YSTBLS
00000560:  40 40 F2 F5 F6 D9 F0 F6  F0 F1 F2 F1 F2 F1 F0 F1 |   256R0601212101
00000570:  F4 40 40 40 40 C9 40 40  40 F8 F3 F0 F4 F1 F9 40 | 4    I   830419
00000580:  F2 F5 F6 40 40 40 40 40  40 40 40 40 40 40 40 40 | 256
00000590:  40 40 40 C4 F2 F1 F0 F1  F5 40 40 40 40 40 40 40 |    D21015
000005A0:  40 40 40 40 40 40 40 40  40 C9 C2 D4 F5 F2 F8 F0 |          IBM5280
000005B0:  40 40 40 40 40 40 40 40  40 40 40 40 40 40 40 40 |
000005C0:  40 40 40 40 40 40 40 40  40 40 01 C8 C4 D9 F1 40 |           .HDR1
000005D0:  E2 E8 E2 C4 D7 D9 E3 F2  40 40 40 40 40 40 40 40 | SYSDPRT2
000005E0:  40 40 40 F2 F5 F6 D9 F2  F1 F0 F1 F5 F1 F2 F3 F0 |    256R210151230
000005F0:  F0 F8 40 40 40 40 C9 40  40 40 F8 F3 F0 F4 F1 F9 | 08    I   830419
00000600:  40 F2 F5 F6 40 40 40 40  40 40 40 40 40 40 40 40 |  256
00000610:  40 40 40 40 C4 F2 F3 F0  F0 F9 40 40 40 40 40 40 |     D23009
00000620:  40 40 40 40 40 40 40 40  40 40 C9 C2 D4 F5 F2 F8 |           IBM528
00000630:  F0 40 40 40 40 40 40 40  40 40 40 40 40 40 40 40 | 0
00000640:  40 40 40 40 40 40 40 40  40 40 40 01 C8 C4 D9 F1 |            .HDR1
00000650:  40 E2 E8 E2 C3 D3 D6 E2  C5 40 40 40 40 40 40 40 |  SYSCLOSE
00000660:  40 40 40 40 F2 F5 F6 D9  F2 F3 F0 F0 F9 F1 F2 F4 |     256R23009124
00000670:  F0 F1 F5 40 40 40 40 C9  40 40 40 F8 F3 F0 F4 F1 | 015    I   83041
00000680:  F9 40 F2 F5 F6 40 40 40  40 40 40 40 40 40 40 40 | 9 256
00000690:  40 40 40 40 40 C4 F2 F5  F0 F0 F1 40 40 40 40 40 |      D25001
000006A0:  40 40 40 40 40 40 40 40  40 40 40 C9 C2 D4 F5 F2 |            IBM52
000006B0:  F8 F0 40 40 40 40 40 40  40 40 40 40 40 40 40 40 | 80
000006C0:  40 40 40 40 40 40 40 40  40 40 40 40 01 C8 C4 D9 |             .HDR
000006D0:  F1 40 E2 E8 E2 C3 D6 D5  40 40 40 40 40 40 40 40 | 1 SYSCON
000006E0:  40 40 40 40 40 F2 F5 F6  D9 F2 F5 F0 F0 F1 F1 F2 |      256R2500112
000006F0:  F9 F0 F0 F3 40 40 40 40  C9 40 40 40 F8 F3 F0 F4 | 9003    I   8304
00000700:  F1 F9 40 F2 F5 F6 40 40  40 40 40 40 40 40 40 40 | 19 256
00000710:  40 40 40 40 40 40 C4 F2  F9 F0 F0 F4 40 40 40 40 |       D29004
...

Diky za nakopnuti ... cilem je z diskety vytahnout jednotlive soubory (zaznamy).

Pripadne jestli nekdo tusite kde jsou nejake informace k IBM 5280 (jine nez na bitsavers, tam jsou akorat ty diskety a nejake manualy).

7
Vývoj / RISC-V assembler
« kdy: 25. 02. 2023, 23:14:41 »
Hezky vecer,

mel bych  par otazek na mistni znalce RISC-V.

1) proc jsou v nekterych instrukcich tak krypticky prehazovane bity ruznych imm/rel konstant? Napriklad JAL [RV32I] instrukce. Tam je bitove souvisly usek imm skladan jako imm[20] imm[10:1] imm[11] imm[19:12]; Kde se pripadne muzu docist na tema podobnych otazek navrhu R-V ISA, mam jich vic?

2) Jak v gnu as zapisu horni bity nejake adresy pro ucely auipc/lui (nejde mi primo o call). ELF relokace R_RISCV_HI20

3) to same pro dolni - ELF relokace R_RISCV_LO12_I apod.

4) Netyka se asi uplne Risc-V Tusite jak linker (gnu LD) resi RELAX relokaci, jak probehne to vyhozeni instrukce bez toho, aby musel prochazet cely kod a prehazovat vsechny relativni skoky/volani?

Dekuji.

8
Obcas se mi stane, ze mam dostupny nejaky online zdroj pro knizku nebo obrazky, kde je z nejakeho duvodu komplikovano stazeni obrazku hromadne nebo ulozeni PDFka. Aktualne treba "analogove pomucky" z vademecum.nacr.cz jsou obrazky slozene z dlazdic typu https://vademecum.nacr.cz/mrimage/vademecum/zoomify//cz/archives/CZ-100000010/inventare/dao/images/0285/e049d8c9-9663-48ae-b076-03569bda7a71.jpg/TileGroup0/2-0-0.jpg

Jde mi ale o obecny princip, protoze takovych zdroju treba v zahranici jsou stovky (knihovny, archivy, apod.). Potrebuju tedy stahnout celou "knihu" (ukol 1) - zde jde o inventar archivniho fondu, pokud to ma dlazdice jako v prikladu tak ty pospojovat do jednoho obrazku (ukol 2), a pak z toho udelat PDFko nebo to prohnat OCRkem (ukol 3).

Ukol 3 umim-to neni problem.
Ukol 2 umim snadno naprogramovat pomoci libjpeg, treba na to neco existuje.

Ukol 1 aktualne vyresit numim. Napadaji mne 3 cesty

1a - automatizace pomoci prohlizece, prakticke by to bylo jen kdyz by existoval nejaky nastroj na tohle urceny, abych nemusel plodit javascripty pro kazdy pripad :(;

1b - pomoci (lib)curl si naprogramovat nejaky nastroj individualne pro kazdy pripad, ono tech prohlizecu dlazdicovanych knih/map/materialu neni tak moc, asi by to po nejake dobe slo recyklovat

1c - udelat proxyserver, ktery bude ukladat zvolene stranky na disk behem toho jak to clovek bude rucne prochazet. zde se moje cinnost redukuje pouze na lokalizaci dulezitych souboru v http(s) komunikaci, zbytek pak muze proklikat za mne nekdo jiny

A sakozrejme kombinace a-b-c :-).

Nerad bych znovuvynalezal kolo, budu rad za tipy na nejake existujici nastroje.

Cilem je treba OCRkovat tyhle scanovane dokumenty abych z 1000 stran nasel  10 stranek, kde se vyskytuje nejake slovo

Dekuji za pripadne odpovedi.

9
Vývoj / Chování PC-relative LDR u ARM
« kdy: 27. 01. 2023, 15:30:26 »
Mejme ARM Thumb instrukci

LDR rX, [pc+#imm]

marne se snazim najit jak presne se chova na ruznych ARMech (zatim jsem teda zkoumal Cortexy-M). Jde mi o hodnotu PC, ktera se pricita k #imm. Nasmerujete mne nekdo prosim spravnym smerem, kde je idealne soupis (potrebuju to totiz i pro dalsi ARMy). V ARM DDI 0406C jsem to nenasel, asi hledam spatne. Kapitola A8.8.63 LDR (immediate, ARM). Mozna vysvetleni je v A3.2.1 Unaligned data access, LDR ma word alignment.

Ted to delam tak, ze udelam pc&(~3)  + 4 + imm; na to jsem prisel ze mi ty vysledky nevychazely oproti objdumpu resp asm vystupu z gcc, ale mozna to proste ma byt tak, ze se spocte pc + 4 + imm a to se pak alignuje ? No takhle to podle meho nazoru v tom procesoru nechodi. Nasmerujete mne prosim nekdo kde hledat ?

10
Odkladiště / Levné registrace domén v roce 2023
« kdy: 09. 01. 2023, 15:46:01 »
Meli jsme nejake domeny u IONOS (byv. 1&1) a protoze delaji problemy non-US zakaznikum, koukal jsem rovnou na jejich ceny, ktere se trosku za ty roky zvedly. Mame desitky .com, .info, .eu (+ .cz) domen, nemam problem s tim je mit treba u 2 registratoru kde to bude nejvyhodnejsi, staci mi jen vlastni registrace s moznosti editovat tu domenu (DNSSEC+NS)  - jak tohle resite? Na nejakou individualni nabidku to podle mnozstvi domen asi neni, co jsem koukal tak namecheap je .com za $10. Bylo by dobre, aby se dalo platit Paypalem pokud to nebude v CZK, a samozrejme aby to nebyla nejaka pofiderni firma, nektere ty domeny vydelavaji penize, neni nutne setrit za kazdou cenu.

11
Hardware / Sháním informace o ZVT SPU 800 (TP8)
« kdy: 14. 11. 2022, 15:27:42 »
Hledam jakekoliv informace k ZVT SPU 800 (a "CPU" TP8) ("minipocitac" vyrabeny v ZVT z roku cca 1980, z casti postaveny na ALU obvodu 74181, vse ostatni jsou TTL 74xx obvody). Hledam vlastniky cele sestavy, karet, periferii, pametniky, majitele literatury. Aktualne mam pouze knihu "Programovani mikropocitace TP8".

S ohledem na tema serveru a ze se tu v clancich obcas neprimo vyskytly podobne veci, tak treba se tady trefim (zkousel jsem i jinde, celkove bez vetsiho uspechu - mam tedy 2 kontakty na SK na nefunkcni SPUcka ve sbirkach).

Pro ty, kteri vubec netusi o co jde:
Citace
SPU 800 je stavebnicový systém pre prípravu, predspracovanie a prenos dát, vyrábaný v k. p. ZVT Banská
Bystrica. Jadro tohto systému tvorí osembitový procesor TP 8. Operačná pamšť je polovodičová a má rozsah 1 – 64 KByte. Je možné kombinovať památi ROM a RAM. Procesor je vybavený vstupne-výstupnou zbernicou, ktorá umožnuje ovládať až 32 vstupných alebo výstupných zariadení. Periférie pripojitelné k SPU 800 sú mozaiková tlačiaren DZM 180, sériová tlačiaren CONSUL 2111, magnetopásková pamáť GM 5300,
magnetická kazeta, zariadenie pre prenos dát ZPD 1200, dierovač diernej pásky DT 1055, snímač diernych štítkov ARITMA 2050 a ďalšie.

Unix na tom zadny nebezel, ten CPU je hodne primitivni, ale "zle jazyky" tvrdi, ze se autori inspirovali u nejakeho zapadniho minipocitace. Ma to pekny panel se spinaci, kterymi se da naplnit instrukcni registr (a tim programovat pocitac). Neco na zpusob PDP/11 :).

SPU800 byla jakymsi predchudcem 8bitovych pocitacu TNS (periferni sbernice se zda byt kompatibilni).

Dekuji

12
Sítě / Pasivní Wi-Fi repeater na 5km spoj
« kdy: 08. 11. 2022, 12:47:48 »
Kousicek za Prahou bych potreboval udelat spoj na 4,8km. Necekam od toho zadnou rychlost, v podstate se smirim i s nejakym humpolackym resenim na ESP32 (uff.. 2,4GHz), ktere bude tak trosku obchazet standardni wifi komunikaci a jen odesilat (treba i opakovane) data bez vzjamneho handshakingu. Melo by to byt schopne poslat kratkou stavovou informaci a obcas idealne nejaky obrazek z kamery. Opacne bych mel byt schopen tam odeslat nejaky jednoduchy povel typu "sepni rele".

Vyskovy profil: https://paste.pics/JOKTI

Na leve strane je strmy kopec s mym pozemkem, kde si muzu delat relativne co chci. Na prave strane je problem, ze mi v ceste stoji celkem vysoka budova, ale mohl bych na *cizi* dum ve vzdalenosti asi 100m dat pasivni "repeater" (tzn. 2 anteny back-to-back; klidne i nejaka yagi nebo ruzne "Wifi gun"-style anteny s velkym ziskem) a signal si tak ohnout svym smerem :). Dulezite je, ze to asi nesmi zrat zadnou elektrinu, protoze sousedske vztahy, a nemerena spotreba je proste problem, merena je zase moc slozita.

Co myslite, ma to sanci?

(prosil bych laskave diskutujici, aby mi nenabizeli zadna alternativni reseni typu LTE, StarLink, apod. Muj dotaz skutecne zni jak dotahnout nejak wifi na tech 5km v uvedenem vyskovem profilu, a "za roh", nijak jinak).

13
Windows a jiné systémy / Dualboot šifrovaných UEFI Win+Linux
« kdy: 01. 11. 2022, 13:34:56 »
Potebuji na jednom UEFI pocitaci mit 2 sifrovane OS: Win10/11 s Veracryptem, resp. idealni by bylo mit 2 instance Windows (10+11) na 2 ruznych GPT partition, a k tomu Linux (pref. Xubuntu), ktere bude mit full disk encryption (je to dmcrypt? nebo se neco zmenilo?). Potiz nastava v tom, ze alespon jedny z tech Windows budu potrebovat obcas reinstalovat.

Mam 2 dotazy:

- Bude stacit pro reinstalace Windows si udelat zalohu souboru z EFI part, pripadne jde Win nejak primet k tomu, aby mi vzdycky nezabily ten Linux pri reinstalaci (nebo updatu, nebo kdyz si to jen tak rozmysli) ?

- Jdou nejak rozumne udelat ty 2 instalace Win, abych jen v GRUBu vybral kterou chci nabootovat ? Asi chci moc, ze ? Pocitam tam s Veracryptem (jedna se sice o testovaci pocitac, ale budou tam obcas dulezita data)

14
Sítě / Minimalistická implementace PoE 802.3af
« kdy: 23. 07. 2022, 17:04:39 »
Hodilo by se mi do jednoho fastethernet zarizeni, ktere ted navrhuju pridat moznost na PoE, idealne s adapterem tohoto typu (ktere mam) https://www.tenda.cz/article/tenda-poe15f-48v-i-ethernet-power-injector

Odber zarizeni bude do 1A@5V, realne spis polovina ve spicce. Je to pouze pro vyvoj, nebude se to nikde prodavat a tak mi nevadi ze to nebude uplne podle standardu, jde mi o praktickou funkcnost. Koukal jsem na 802.3af a je tam nejaka "domluva" mezi injectorem a device, trosku ale pochybuju, ze to ta Tenda nejak resi (stejne tak jsem koukal do nejake kamery a tam je akorat trafo a step-down).

Takze otazka zni, jak udelat PoE device v co nejjednodussi forme? Mohu si dovolit pouzit prislusne pary bez trafa a hodit za ne graetzuv mustek + kapacity a step-down menic, nebo to zjednodusuju uz moc? Nebo kde snadho sehnat vhodne MALE traficko z tech 48V na neco okolo 3-10V AC ? Bude to takhle fungovat? Mozna jsem hledal blbe, ale je to bud nedostupne, nebo RJ45 w/ gigabit magnetics a neni to uplne levne.

15
Software / Inkrementalni komprese
« kdy: 15. 06. 2022, 13:50:57 »
Resim 2 problemy (na sobe nezavisle, ale svym zpusobem podobne):

- kazdy den stahuji z internetu nejaka data, jedna se o plaintext HTML stranku, kde je dlouhatanska tabulka, ktera se ale meni nejen na konci, ale vyjimecne i uprostred. Potreboval bych tyto z 90% shodne HTML soubory nejak "pribalit" postupne za sebe, takova idealni predstava je  dolepeni do .tar.gz, ktery by si umel vzit stav pred ukoncenim komprese (zapis tar traileru) a umel  tam dolepit ten novy soubor s tim, ze by se asi vyuzil stav kompresoru "z minula". Bylo by to vlastne ekvivalentni reseni vse prekomprimovat znovu, coz je taky asi pruchozi (treba po mesicich), ale nelibi se mi to, protoze dalsi bod

- podobne mam hromadu ruznych PDFek, ktera prichazi nova a nova, je v nich nekolik typu obsahu. Problem je, ze takove PDFko ma treba 300kB, je v nich nekolik typu textu/tabulek, ktere se porad dokola opakuji, obcas to prochazi "rucnim" zpracovanim (ruzne typy exportu/tisk do PDF, apod.). Text samotny nejde bohuzel rozumne vypreparovat, ne bez ztraty informace. V PDFku jsou casto zbytecne obrazky, jsou tam pribalene fonty, apod. No a tohle bych potreboval taky nejak inkrementalne stavet za sebe, aby se vyuzila informace z historickych souboru. Napadlo mne pouzit (udelat?) nastroj, ktery rozbali PDFkove objekty do plaintextu, aby to slo lip komprimovat externe, a hlavne treba ty opakujici se objekty by komprese  vzala z minula.

Prosim jen o hotova minimalisticka reseni (tzn. ne instalace nejakeho molochu), naprogramovat si to nejak asi umim, nebo si umim koupit velky disk a rychlejsi pocitac.

Stran: [1] 2 3 4