{"id":929780,"date":"2014-07-21T23:26:25","date_gmt":"2014-07-21T22:26:25","guid":{"rendered":"http:\/\/sindik.at\/?p=929780"},"modified":"2014-07-21T23:32:15","modified_gmt":"2014-07-21T22:32:15","slug":"rozhranie-pre-pamatove-karty-sd-a-mmc","status":"publish","type":"post","link":"https:\/\/sindik.at\/?p=929780","title":{"rendered":"Rozhranie pre pam\u00e4\u0165ov\u00e9 karty SD a MMC"},"content":{"rendered":"<p>My\u0161lienka bitbangingu rozhodne nie je \u017eiadna novinka, napriek tomu na Spectre m\u00e1me pomerne m\u00e1lo re\u00e1lnych implement\u00e1ci\u00ed jeho vyu\u017eitia.<\/p>\n<p><!--more--><\/p>\n<p>Z princ\u00edpu tento pr\u00edstup kr\u00e1\u010da v stop\u00e1ch str\u00fd\u010dka Clivea &#8211; dosiahnu\u0165 za m\u00e1lo pe\u0148az\u00ed ve\u013ea muziky. Bit banging pou\u017e\u00edva silu a \u010das procesora na to, \u010do vo svete bohat\u00fdch \u00a0vykon\u00e1vaj\u00fa r\u00f4zne koprocesory a prevodn\u00edky. V samotnom Spectre 128k je takto \u201cza babku\u201d realizovan\u00fd s\u00e9riov\u00fd port. Na vo\u013en\u00e9 vstupno\/v\u00fdstupn\u00e9 piny z\u00e1kazn\u00edckeho \u010dipu AY s\u00fa zapojen\u00e9 predovn\u00edky na \u00farove\u0148 RS-232 (+\/-12V), ktor\u00e9 s\u00fa n\u00e1sledne vyveden\u00e9 na telef\u00f3nny konektor britsk\u00e9ho typu &#8211; obdoba RJ-xx v na\u0161ich kon\u010din\u00e1ch. V\u0161etka obsluha s\u00e9riov\u00e9ho protokolu &#8211; prevod bajtu na jednotliv\u00e9 bity a naopak &#8211; je realizovan\u00e1 programovo v roz\u0161\u00edrenej ROM 128 a Z80 sa vcelku zapot\u00ed pri presne na\u010dasovanom vykon\u00e1van\u00ed tejto rutiny, aby sme do alebo zo Spectra dostali nejak\u00e9 zmyslupln\u00e9 serializovan\u00e9 d\u00e1ta.<\/p>\n<p>\u010eal\u0161\u00ed projekt, ktor\u00fd \u0165a\u017e\u00ed z dostupnosti zauj\u00edmavej s\u00fa\u010diastkovej z\u00e1kladne ovl\u00e1danej nejak\u00fdm druhom s\u00e9riov\u00e9ho protokolu je SpeccyBoot. Tu je na be\u017en\u00fd vstupno\/v\u00fdstupn\u00fd port (napr. br\u00e1na 8255 v Didaktiku Gama) pripojen\u00fd ethernetov\u00fd kontrol\u00e9r ENC28J60. S n\u00edm po\u010d\u00edta\u010d dok\u00e1\u017ee na\u010d\u00edta\u0165 zo siete snapshoty ulo\u017een\u00e9 na TFTP serveri. Obslu\u017en\u00fd program obsahuje bit bangingov\u00e9 rutiny pre protokol Serial Peripheral Interconnect (SPI).<\/p>\n<p>T\u00fdm by som v\u00fdpo\u010det mne zn\u00e1mych implement\u00e1ci\u00ed bit bangingu na Spectre skon\u010dil.<br \/>\nAle v\u00fdpo\u010det zariaden\u00ed podporuj\u00facich protokol SPI sa z\u010faleka nekon\u010d\u00ed. \u017dia\u013e pre Spectrum je to takmer nepreb\u00e1dan\u00e1 oblas\u0165 a nikto akosi nerie\u0161i, \u017ee na\u0161a platforma tu bola sk\u00f4r ako Arduino alebo Raspberry Pi. Dnes u\u017e asi nen\u00e1jdeme medzi spektristami to\u013eko bastli\u010dov ako v radoch z\u00e1stancov pr\u00e1ve spomenut\u00fdch platforiem, ale ni\u017e\u0161ie pop\u00edsan\u00e9 rozhranie si naozaj dok\u00e1\u017ee za jedno poobedie zb\u00facha\u0165 ka\u017ed\u00fd kto niekedy dr\u017eal v ruke letova\u010dku.<\/p>\n<p><a href=\"http:\/\/sindik.at\/wp-content\/uploads\/2014\/07\/3e_MMC_Top.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-929785\" src=\"http:\/\/sindik.at\/wp-content\/uploads\/2014\/07\/3e_MMC_Top.jpg\" alt=\"3e_MMC_Top\" width=\"600\" height=\"800\" srcset=\"https:\/\/sindik.at\/wp-content\/uploads\/2014\/07\/3e_MMC_Top.jpg 600w, https:\/\/sindik.at\/wp-content\/uploads\/2014\/07\/3e_MMC_Top-225x300.jpg 225w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>Pred p\u00e1r rokmi som si na kus univerz\u00e1lneho plo\u0161n\u00e9ho spoja zapojil 6 odporov, 3V3 stabiliz\u00e1tor, zop\u00e1r di\u00f3d (naozaj sta\u010dia 2, ale m\u00f4\u017eete nejak\u00e9 prida\u0165 pre rados\u0165 b\u00f4\u017eika), 2 p\u00e4tice &#8211; na SD kartu a 8 pinov\u00fa DIL &#8211; a dosku nechal riadne odle\u017ea\u0165. Medzit\u00fdm som pridal nejak\u00e9 LEDky (Ub880d: modr\u00fa nie, viem, \u017ee m\u00e1\u0161 na \u0148u slabos\u0165) a samozrejme konektor na vstupno-v\u00fdstupn\u00e9 rozhranie &#8211; v mojom pr\u00edpade na Centronics port v +3. Ale to m\u00f4\u017eete k\u013eudne zameni\u0165 za br\u00e1nu AY, UR-4 (8255) a podobne.<\/p>\n<p><a href=\"http:\/\/sindik.at\/wp-content\/uploads\/2014\/07\/3e_MMC_Bottom.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-929786\" src=\"http:\/\/sindik.at\/wp-content\/uploads\/2014\/07\/3e_MMC_Bottom.jpg\" alt=\"3e_MMC_Bottom\" width=\"600\" height=\"800\" srcset=\"https:\/\/sindik.at\/wp-content\/uploads\/2014\/07\/3e_MMC_Bottom.jpg 600w, https:\/\/sindik.at\/wp-content\/uploads\/2014\/07\/3e_MMC_Bottom-225x300.jpg 225w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>Sch\u00e9ma je nasledovn\u00e1:<\/p>\n<p><a href=\"http:\/\/sindik.at\/wp-content\/uploads\/2014\/07\/SPI_3e_Proto.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-929782\" src=\"http:\/\/sindik.at\/wp-content\/uploads\/2014\/07\/SPI_3e_Proto.png\" alt=\"SPI_3e_Proto\" width=\"738\" height=\"827\" srcset=\"https:\/\/sindik.at\/wp-content\/uploads\/2014\/07\/SPI_3e_Proto.png 738w, https:\/\/sindik.at\/wp-content\/uploads\/2014\/07\/SPI_3e_Proto-267x300.png 267w\" sizes=\"auto, (max-width: 738px) 100vw, 738px\" \/><\/a><\/p>\n<p>Ur\u010dite sa p\u00fdtate na \u010do to cel\u00e9 malo sl\u00fa\u017ei\u0165? Samozrejme prim\u00e1rne na pokusy a nejak\u00e9 vo\u013en\u00e9 nevyu\u017eit\u00e9 chv\u00ed\u013eky po\u010das na\u0161ich stretnut\u00ed. V\u017edy som tajne d\u00fafal, \u017ee sa k tomu niekedy dostanem. Ale po\u010das stretiek m\u00e1me to\u013eko roboty, \u017ee som to ani poriadne nevytiahol.<\/p>\n<p>Nakoniec ma to po\u010dkalo a\u017e do obdobia m\u00e1jov\u00fdch noc\u00ed, kedy som za\u010dal na PiKone (\u010do je v\u00fdjazdov\u00fd SinDiKat u m\u0148a na z\u00e1hradke v Pezinku) otravova\u0165 Ub880d s pomocou a podporou k tomuto pokusu.<\/p>\n<p>Tu za\u010dal vznika\u0165 projekt\u00edk +3MMC, ktor\u00fd si kladie za cie\u013e na\u010d\u00edta\u0165 nejak\u00e9 zmyslupln\u00e9 d\u00e1ta z FAT umiestnen\u00e9 na MMC alebo SD karte pripojenej ku spektru cez nejak\u00fd paraleln\u00fd interfejs. N\u00e1strojov na \u010d\u00edtanie FAT je ur\u010dite k dispoz\u00edcii mno\u017estvo, ale u\u017e z predch\u00e1dzaj\u00facich sk\u00fasenost\u00ed som si preveril FatFS od Chana. Pre +3MMC sa naskytla mo\u017enos\u0165 otestova\u0165 PetitFatFS, \u010do je okresanej\u0161ia verzia FatFS. Z\u00e1pis je obmedzen\u00fd iba na existuj\u00face s\u00fabory, pri\u010dom nie je mo\u017en\u00e9 zva\u010d\u0161ova\u0165 ich ve\u013ekos\u0165 po\u010das z\u00e1pisu. Znamen\u00e1 to, \u017ee ak by sme chceli zap\u00edsa\u0165 \u0161tandardn\u00fa ZX obrazovku, potrebujeme ma\u0165 vopred na MMC\/SD karte vyroben\u00fd s\u00fabor napr. s n\u00e1zvom OBR00001.SCR s ve\u013ekos\u0165ou 6912 bajtov. Na \u00favod mi i\u0161lo hlavne o \u010d\u00edtanie d\u00e1t, tak\u017ee toto obmedzenie pre m\u0148a zatia\u013e nepredstavuje prek\u00e1\u017eku. PetitFatFS som skompiloval nakoniec iba na \u010d\u00edtanie, lebo zrejme nepozornos\u0165ou sa mi podarilo jednu kartu po\u010das pokusov o z\u00e1pis nadobro odp\u00edsa\u0165.<\/p>\n<p>Ke\u010f\u017ee oba spom\u00ednan\u00e9 Chanove ovl\u00e1da\u010de su nap\u00edsan\u00e9 v C, bol tento projekt pre m\u0148a aj lekciou ako skompilova\u0165 modern\u00fd C projekt na staru\u010dk\u00e9 spektrum. Na\u0161\u0165astie m\u00e1me u\u017e zop\u00e1r rokov k dispoz\u00edcii nie\u010do viac ako HiSoft C priamo na ZX &#8211; a to hne\u010f n\u00e1stroje dva: Z88DK a SDCC. Po mal\u00fdch \u00faprav\u00e1ch v zdrojovom k\u00f3de &#8211; vzh\u013eadom na ve\u013ekos\u0165 d\u00e1tov\u00fdch typov a niektor\u00e9 \u0161pecifick\u00e9 obmedzenia kompil\u00e1torov &#8211; sa mi podarilo projekt skompilova\u0165 aj so ZCC (z bal\u00edka n\u00e1strojov Z88DK) aj s SDCC. V\u00e4\u010d\u0161inu pokusov o speccyfick\u00fa optimaliz\u00e1ciu som u\u017e robil na vyladenej\u0161om syst\u00e9me s najnov\u0161\u00edm SDCC 3.4.<\/p>\n<p>V\u00fdsledky testov bin\u00e1rnych s\u00faborov vyvtoren\u00fdch jednotliv\u00fdmi kompil\u00e1tmi a porovnanie s nahr\u00e1van\u00edm z p\u00e1sky s\u00fa v tabu\u013eke:<\/p>\n<p>&nbsp;<\/p>\n<table border=\"0\" cellspacing=\"0\">\n<colgroup width=\"189\"><\/colgroup>\n<colgroup width=\"209\"><\/colgroup>\n<colgroup width=\"107\"><\/colgroup>\n<colgroup width=\"142\"><\/colgroup>\n<tbody>\n<tr>\n<td align=\"LEFT\" valign=\"BOTTOM\" height=\"21\"><b><span style=\"font-family: Cambria;\">Kompil\u00e1tor<\/span><\/b><\/td>\n<td align=\"LEFT\" valign=\"BOTTOM\"><b><span style=\"font-family: Cambria;\">Nastavenia\/Verzia<\/span><\/b><\/td>\n<td align=\"LEFT\" valign=\"BOTTOM\"><b><span style=\"font-family: Cambria;\">\u010cas<\/span><\/b><\/td>\n<td align=\"LEFT\" valign=\"BOTTOM\"><b><span style=\"font-family: Cambria;\">Ve\u013ekos\u0165 buffera<\/span><\/b><\/td>\n<\/tr>\n<tr>\n<td align=\"LEFT\" valign=\"BOTTOM\" height=\"21\"><span style=\"font-family: Cambria;\">Z88DK<\/span><\/td>\n<td align=\"LEFT\" valign=\"BOTTOM\"><span style=\"font-family: Cambria;\">-O0<\/span><\/td>\n<td align=\"LEFT\" valign=\"BOTTOM\"><span style=\"font-family: Cambria;\">53.7s<\/span><\/td>\n<td align=\"RIGHT\" valign=\"BOTTOM\"><span style=\"font-family: Cambria;\">64<\/span><\/td>\n<\/tr>\n<tr>\n<td align=\"LEFT\" valign=\"BOTTOM\" height=\"21\"><span style=\"font-family: Cambria;\">Z88DK<\/span><\/td>\n<td align=\"LEFT\" valign=\"BOTTOM\"><span style=\"font-family: Cambria;\">-O3<\/span><\/td>\n<td align=\"LEFT\" valign=\"BOTTOM\"><span style=\"font-family: Cambria;\">46.3s<\/span><\/td>\n<td align=\"RIGHT\" valign=\"BOTTOM\"><span style=\"font-family: Cambria;\">64<\/span><\/td>\n<\/tr>\n<tr>\n<td align=\"LEFT\" valign=\"BOTTOM\" height=\"21\"><span style=\"font-family: Cambria;\">SDCC<\/span><\/td>\n<td align=\"RIGHT\" valign=\"BOTTOM\"><span style=\"font-family: Cambria;\">2.9<\/span><\/td>\n<td align=\"LEFT\" valign=\"BOTTOM\"><span style=\"font-family: Cambria;\">1:02m<\/span><\/td>\n<td align=\"RIGHT\" valign=\"BOTTOM\"><span style=\"font-family: Cambria;\">64<\/span><\/td>\n<\/tr>\n<tr>\n<td align=\"LEFT\" valign=\"BOTTOM\" height=\"21\"><span style=\"font-family: Cambria;\">SDCC<\/span><\/td>\n<td align=\"RIGHT\" valign=\"BOTTOM\"><span style=\"font-family: Cambria;\">3.4<\/span><\/td>\n<td align=\"LEFT\" valign=\"BOTTOM\"><span style=\"font-family: Cambria;\">39.3s<\/span><\/td>\n<td align=\"RIGHT\" valign=\"BOTTOM\"><span style=\"font-family: Cambria;\">64<\/span><\/td>\n<\/tr>\n<tr>\n<td align=\"LEFT\" valign=\"BOTTOM\" height=\"21\"><span style=\"font-family: Cambria;\">SDCC + ASM<\/span><\/td>\n<td align=\"RIGHT\" valign=\"BOTTOM\"><span style=\"font-family: Cambria;\">3.4<\/span><\/td>\n<td align=\"LEFT\" valign=\"BOTTOM\"><span style=\"font-family: Cambria;\">32.2s<\/span><\/td>\n<td align=\"RIGHT\" valign=\"BOTTOM\"><span style=\"font-family: Cambria;\">64<\/span><\/td>\n<\/tr>\n<tr>\n<td align=\"LEFT\" valign=\"BOTTOM\" height=\"21\"><span style=\"font-family: Cambria;\">SDCC + ASM + ASM skip<\/span><\/td>\n<td align=\"RIGHT\" valign=\"BOTTOM\"><span style=\"font-family: Cambria;\">3.4<\/span><\/td>\n<td align=\"LEFT\" valign=\"BOTTOM\"><span style=\"font-family: Cambria;\">7.4s<\/span><\/td>\n<td align=\"RIGHT\" valign=\"BOTTOM\"><span style=\"font-family: Cambria;\">64<\/span><\/td>\n<\/tr>\n<tr>\n<td align=\"LEFT\" valign=\"BOTTOM\" height=\"21\"><span style=\"font-family: Cambria;\">SDCC + ASM + ASM skip<\/span><\/td>\n<td align=\"RIGHT\" valign=\"BOTTOM\"><span style=\"font-family: Cambria;\">3.4<\/span><\/td>\n<td align=\"LEFT\" valign=\"BOTTOM\"><span style=\"font-family: Cambria;\">5.6s<\/span><\/td>\n<td align=\"RIGHT\" valign=\"BOTTOM\"><span style=\"font-family: Cambria;\">128<\/span><\/td>\n<\/tr>\n<tr>\n<td align=\"LEFT\" valign=\"BOTTOM\" height=\"21\"><span style=\"font-family: Cambria;\">SDCC + ASM + ASM skip<\/span><\/td>\n<td align=\"RIGHT\" valign=\"BOTTOM\"><span style=\"font-family: Cambria;\">3.4<\/span><\/td>\n<td align=\"LEFT\" valign=\"BOTTOM\"><span style=\"font-family: Cambria;\">3.0s<\/span><\/td>\n<td align=\"RIGHT\" valign=\"BOTTOM\"><span style=\"font-family: Cambria;\">512<\/span><\/td>\n<\/tr>\n<tr>\n<td align=\"LEFT\" valign=\"BOTTOM\" height=\"21\"><span style=\"font-family: Cambria;\">SDCC + ASM + ASM skip<\/span><\/td>\n<td align=\"RIGHT\" valign=\"BOTTOM\"><span style=\"font-family: Cambria;\">3.4<\/span><\/td>\n<td align=\"LEFT\" valign=\"BOTTOM\"><span style=\"font-family: Cambria;\">2.9s<\/span><\/td>\n<td align=\"RIGHT\" valign=\"BOTTOM\"><span style=\"font-family: Cambria;\">768<\/span><\/td>\n<\/tr>\n<tr>\n<td align=\"LEFT\" valign=\"BOTTOM\" height=\"21\"><b><span style=\"font-family: Cambria;\">\u00a0<\/span><\/b><\/td>\n<td align=\"LEFT\" valign=\"BOTTOM\"><b><span style=\"font-family: Cambria;\">\u00a0<\/span><\/b><\/td>\n<td align=\"LEFT\" valign=\"BOTTOM\"><b><span style=\"font-family: Cambria;\">\u00a0<\/span><\/b><\/td>\n<td align=\"LEFT\" valign=\"BOTTOM\"><\/td>\n<\/tr>\n<tr>\n<td align=\"LEFT\" valign=\"BOTTOM\" height=\"21\"><b><span style=\"font-family: Cambria;\">M\u00e9dium<\/span><\/b><\/td>\n<td align=\"LEFT\" valign=\"BOTTOM\"><b><span style=\"font-family: Cambria;\">\u00a0<\/span><\/b><\/td>\n<td align=\"LEFT\" valign=\"BOTTOM\"><b><span style=\"font-family: Cambria;\">\u010cas<\/span><\/b><\/td>\n<td align=\"LEFT\" valign=\"BOTTOM\"><\/td>\n<\/tr>\n<tr>\n<td align=\"LEFT\" valign=\"BOTTOM\" height=\"21\"><span style=\"font-family: Cambria;\">\u0160tandardn\u00e1 p\u00e1ska<\/span><\/td>\n<td align=\"LEFT\" valign=\"BOTTOM\"><\/td>\n<td align=\"LEFT\" valign=\"BOTTOM\"><span style=\"font-family: Cambria;\">47.8s<\/span><\/td>\n<td align=\"LEFT\" valign=\"BOTTOM\"><span style=\"font-family: Cambria;\">\u00a0<\/span><\/td>\n<\/tr>\n<tr>\n<td align=\"LEFT\" valign=\"BOTTOM\" height=\"21\"><span style=\"font-family: Cambria;\">Turbo (O.T.L.A. projekt)<\/span><\/td>\n<td align=\"LEFT\" valign=\"BOTTOM\"><\/td>\n<td align=\"LEFT\" valign=\"BOTTOM\"><span style=\"font-family: Cambria;\">9.2s<\/span><\/td>\n<td align=\"LEFT\" valign=\"BOTTOM\"><span style=\"font-family: Cambria;\">\u00a0<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>Aktu\u00e1lna verzia programu demon\u0161truje mo\u017enosti na\u010d\u00edtania s\u00faborov s d\u013a\u017ekou 6912 bajtov (bez rozl\u00ed\u0161enia pr\u00edpony &#8211; m\u00f4\u017eu by\u0165 teda aj .BIN aj .SCR) z kore\u0148ov\u00e9ho ares\u00e1ra FAT16\/32 na karte a ich n\u00e1sledn\u00e9ho zobrazenia do videopam\u00e4te Spektra. Pre plynulos\u0165 zobrazenia sa s\u00fabory najprv nake\u0161uj\u00fa do pam\u00e4te a n\u00e1sledne presun\u00fa do obrazovky.<\/p>\n<p><a title=\"Zdrojovy kod 3eMMC\" href=\"http:\/\/sindik.at\/data\/scrview20140721.tar.bz2\">SDCC projekt<\/a> pre +3\/+3e (skompiluje sa spusten\u00edm skriptu bscr34)<\/p>\n<p><a title=\"SCR Viewer +3\/+3e\" href=\"http:\/\/sindik.at\/data\/scrview.tap\">V\u00fdsledn\u00fd k\u00f3d<\/a> v TAP<\/p>\n<p>Pod\u013ea tabu\u013eky je vidie\u0165 ako ve\u013emi vpl\u00fdva prep\u00edsanie \u010dasovo kritick\u00fdch oper\u00e1ci\u00ed do asembleru, hoci zvy\u0161ok k\u00f3du je st\u00e1le \u013eahko prenosite\u013en\u00fd preto\u017ee sa pou\u017e\u00edva vy\u0161\u0161\u00ed programovac\u00ed jazyk. Po tomto teste sa asi za\u010dnem poklada\u0165 za pr\u00edvr\u017eenca C a dostupn\u00fdch v\u00fdvojov\u00fdch n\u00e1strojov pre Spektrum \ud83d\ude42<\/p>\n<p>Pr\u00edjemn\u00e9 bitbangovanie.<\/p>\n<p>\/ikon<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>My\u0161lienka bitbangingu rozhodne nie je \u017eiadna novinka, napriek tomu na Spectre m\u00e1me pomerne m\u00e1lo re\u00e1lnych implement\u00e1ci\u00ed jeho vyu\u017eitia.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[5,6],"tags":[],"class_list":["post-929780","post","type-post","status-publish","format-standard","hentry","category-tema-2-hardware-php","category-tema-3-software-php"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5aqy8-3TSs","jetpack_likes_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/sindik.at\/index.php?rest_route=\/wp\/v2\/posts\/929780","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sindik.at\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sindik.at\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sindik.at\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sindik.at\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=929780"}],"version-history":[{"count":7,"href":"https:\/\/sindik.at\/index.php?rest_route=\/wp\/v2\/posts\/929780\/revisions"}],"predecessor-version":[{"id":929790,"href":"https:\/\/sindik.at\/index.php?rest_route=\/wp\/v2\/posts\/929780\/revisions\/929790"}],"wp:attachment":[{"href":"https:\/\/sindik.at\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=929780"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sindik.at\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=929780"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sindik.at\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=929780"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}