{"id":39531,"date":"2026-04-03T20:00:00","date_gmt":"2026-04-03T18:00:00","guid":{"rendered":"https:\/\/www.jungsi.de\/?p=39531"},"modified":"2026-08-28T11:23:41","modified_gmt":"2026-08-28T09:23:41","slug":"q-save-sinclair-zx81","status":"publish","type":"post","link":"https:\/\/www.jungsi.de\/en\/q-save-sinclair-zx81\/","title":{"rendered":"Q Save [Sinclair ZX81]"},"content":{"rendered":"<p class=\"wp-block-paragraph\"><strong>QSAVE \u2013 Turbo Tape for the Sinclair ZX81 (PSS)<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With the Sinclair ZX81, the cassette is simply part of the package. In practice, however, this also meant a lot of patience, a bit of luck with the signal level, and often several attempts before a program loaded properly. Especially with the 16K expansion, a save operation could feel like it went on forever. It was precisely during this period that QSAVE from PSS (Personal Software Services) appeared: a combination of software and additional hardware designed to significantly speed up saving and loading whilst making the process more reliable. I found a small advert for it in Happy Computer 11\/1983, and at the time it cost 79 DM.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>My copy in the collection<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">My collection includes a QSAVE in its original packaging, complete with instructions and the actual hardware \u2013 the \u2018Q SAVE Amplifier\/Filter Unit\u2019. Unfortunately, the software and cables are missing from my unit. This is not unusual for accessories from that era, as the small extras (cassettes, cables, adapters) tend to get separated over the years or eventually disappear \u2018into the cable box\u2019.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The dating is intriguing: the packaging bears the \u00a9 1982 mark, whilst the instructions I have are dated \u00a9 1983. This fits well with a product that was launched in 1982 and later resold with revised printed materials.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p class=\"wp-block-paragraph\"><strong>What QSAVE actually does<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">QSAVE is essentially a high-speed solution for the ZX81 cassette interface. Instead of using the relatively slow standard transfer rate, QSAVE employs a significantly higher data rate. This drastically reduces loading and saving times. At the same time, the aim is to reduce the susceptibility to errors \u2013 because whilst faster transmission makes the signal more sensitive, with the right processing it can ultimately run more stably than the \u2018original fiddling\u2019 with volume and the read head.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It is important to note a typical side effect of such turbo systems: files saved in QSAVE format can generally only be reliably reloaded later if QSAVE (or a compatible tool) is available again.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" src=\"https:\/\/www.jungsi.de\/blog\/wp-content\/uploads\/Q-Save-768x1024.jpg\" alt=\"Q Save\" class=\"wp-image-30858\" srcset=\"https:\/\/www.jungsi.de\/blog\/wp-content\/uploads\/Q-Save-768x1024.jpg 768w, https:\/\/www.jungsi.de\/blog\/wp-content\/uploads\/Q-Save-225x300.jpg 225w, https:\/\/www.jungsi.de\/blog\/wp-content\/uploads\/Q-Save.jpg 1050w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><figcaption class=\"wp-element-caption\">Q Save<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><strong>Wie langsam war \u201elangsam&#8221; eigentlich?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To understand why QSAVE had a market at all, it\u2019s worth taking a quick look at the bare figures. The ZX81 transfers data via cassette at a speed of 300 bits per second \u2013 that may sound abstract, but it soon becomes very concrete:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Programme size<\/th><th>Standard (300 bps)<\/th><th>QSAVE (3.000 Bit\/s)<\/th><\/tr><\/thead><tbody><tr><td>1 KB<\/td><td>~27 seconds<\/td><td>~3 Seconds<\/td><\/tr><tr><td>16 KB<\/td><td>~7 Minutes 17 Seconds<\/td><td>~44 Seconds<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<style>\n  #qsave-chart * { box-sizing: border-box; margin: 0; padding: 0; }\n\n  #qsave-chart {\n    font-family: 'Courier New', Courier, monospace;\n    background: #1a1a1a;\n    color: #e0e0e0;\n    padding: 24px;\n    max-width: 640px;\n    border-radius: 4px;\n    margin: 24px 0;\n  }\n\n  #qsave-chart h2 {\n    font-size: 0.85rem;\n    text-transform: uppercase;\n    letter-spacing: 0.1em;\n    color: #aaa;\n    margin-bottom: 6px;\n  }\n\n  #qsave-chart h3 {\n    font-size: 1.2rem;\n    color: #fff;\n    margin-bottom: 24px;\n    border-bottom: 1px solid #333;\n    padding-bottom: 12px;\n  }\n\n  #qsave-chart .chart-group {\n    margin-bottom: 32px;\n  }\n\n  #qsave-chart .chart-label {\n    font-size: 0.85rem;\n    color: #888;\n    text-transform: uppercase;\n    letter-spacing: 0.08em;\n    margin-bottom: 12px;\n  }\n\n  #qsave-chart .bar-row {\n    display: flex;\n    align-items: center;\n    margin-bottom: 10px;\n    gap: 12px;\n  }\n\n  #qsave-chart .bar-name {\n    width: 80px;\n    font-size: 0.8rem;\n    color: #aaa;\n    flex-shrink: 0;\n    text-align: right;\n  }\n\n  #qsave-chart .bar-track {\n    flex: 1;\n    background: #2a2a2a;\n    border-radius: 2px;\n    height: 28px;\n    position: relative;\n    overflow: hidden;\n  }\n\n  #qsave-chart .bar-fill {\n    height: 100%;\n    border-radius: 2px;\n    display: flex;\n    align-items: center;\n    padding-left: 10px;\n    font-size: 0.8rem;\n    font-weight: bold;\n    white-space: nowrap;\n  }\n\n  #qsave-chart .bar-fill.standard {\n    background: #c0392b;\n    color: #fff;\n  }\n\n  #qsave-chart .bar-fill.qsave {\n    background: #27ae60;\n    color: #fff;\n  }\n\n  #qsave-chart .bar-value {\n    margin-left: auto;\n    padding-right: 10px;\n  }\n\n  #qsave-chart .legend {\n    display: flex;\n    gap: 20px;\n    margin-bottom: 28px;\n    font-size: 0.8rem;\n  }\n\n  #qsave-chart .legend-item {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n  }\n\n  #qsave-chart .legend-dot {\n    width: 14px;\n    height: 14px;\n    border-radius: 2px;\n    flex-shrink: 0;\n  }\n\n  #qsave-chart .dot-standard { background: #c0392b; }\n  #qsave-chart .dot-qsave { background: #27ae60; }\n\n  #qsave-chart .factor {\n    margin-top: 6px;\n    font-size: 0.75rem;\n    color: #555;\n    padding-left: 92px;\n  }\n\n  #qsave-chart .footer {\n    margin-top: 28px;\n    font-size: 0.7rem;\n    color: #444;\n    border-top: 1px solid #2a2a2a;\n    padding-top: 12px;\n  }\n<\/style>\n\n<div id=\"qsave-chart\">\n\n  <h2>Sinclair ZX81 \u00b7 QSAVE (PSS)<\/h2>\n  <h3>A comparison of loading times<\/h3>\n\n  <div class=\"legend\">\n    <div class=\"legend-item\">\n      <div class=\"legend-dot dot-standard\"><\/div>\n      <span>Standard (300 bps)<\/span>\n    <\/div>\n    <div class=\"legend-item\">\n      <div class=\"legend-dot dot-qsave\"><\/div>\n      <span>QSAVE (3.000 Bit\/s)<\/span>\n    <\/div>\n  <\/div>\n\n  <div class=\"chart-group\">\n    <div class=\"chart-label\">A programme of 1 KB<\/div>\n    <div class=\"bar-row\">\n      <div class=\"bar-name\">Standard<\/div>\n      <div class=\"bar-track\">\n        <div class=\"bar-fill standard\" style=\"width:100%;\">\n          <span class=\"bar-value\">~27 seconds<\/span>\n        <\/div>\n      <\/div>\n    <\/div>\n    <div class=\"bar-row\">\n      <div class=\"bar-name\">QSAVE<\/div>\n      <div class=\"bar-track\">\n        <div class=\"bar-fill qsave\" style=\"width:10%;\">\n        <\/div>\n      <\/div>\n    <\/div>\n    <div class=\"factor\">QSAVE: ~3 seconds \u00b7 10 times faster<\/div>\n  <\/div>\n\n  <div class=\"chart-group\">\n    <div class=\"chart-label\">Programme with 16 KB<\/div>\n    <div class=\"bar-row\">\n      <div class=\"bar-name\">Standard<\/div>\n      <div class=\"bar-track\">\n        <div class=\"bar-fill standard\" style=\"width:100%;\">\n          <span class=\"bar-value\">~7 Min. 17 Sek.<\/span>\n        <\/div>\n      <\/div>\n    <\/div>\n    <div class=\"bar-row\">\n      <div class=\"bar-name\">QSAVE<\/div>\n      <div class=\"bar-track\">\n        <div class=\"bar-fill qsave\" style=\"width:10%;\">\n        <\/div>\n      <\/div>\n    <\/div>\n    <div class=\"factor\">QSAVE: ~44 seconds \u00b7 10 times faster<\/div>\n  <\/div>\n\n  <div class=\"footer\">\n    Theoretische \u00dcbertragungszeiten ohne Protokoll-Overhead \u00b7 jungsi.de\n  <\/div>\n\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Wer also ein vollst\u00e4ndiges 16K-Programm laden wollte, wartete im besten Fall gut sieben Minuten \u2013 vorausgesetzt, Pegel, Tonkopf und Gl\u00fcck stimmten \u00fcberein. War das nicht der Fall, begann die Prozedur von vorne. QSAVE verspricht mit bis zu 3.000 Bit pro Sekunde eine zehnfach h\u00f6here \u00dcbertragungsrate, was die Ladezeit eines 16K-Programms auf unter eine Minute dr\u00fcckt. Das war f\u00fcr den Alltag am ZX81 ein erheblicher Unterschied.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>The Amplifier\/Filter Unit \u2013 hardware for stabilising the signal<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">At the heart of it all is the small box labelled \u2018Q SAVE AMPLIFIER\/FILTER UNIT\u2019. The front panel alone gives a good idea of the concept behind it:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A SAVE\/LOAD switch: the signal is processed differently depending on the direction.<\/li>\n\n\n\n<li>Connections for CASS. (cassette recorder) and COMP (computer): QSAVE is positioned between them and affects the entire signal path.<\/li>\n\n\n\n<li>EAR labels and a status LED (\u2018O\/L\u2019): This looks very much like level\/signal monitoring, i.e. \u2018tools to help avoid the lottery of cassette playback\u2019.<\/li>\n\n\n\n<li>POWER IN \/ POWER OUT: QSAVE is connected to or looped through the power supply to power the unit.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">It is precisely this combination of software and \u2018signal electronics\u2019 that is typical of early 1980s accessory solutions: the aim was not only to work faster, but above all to ensure reproducibility.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Back in service today (without a \u201cproper\u201d functional test)<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Even though the software and cables are missing from my set, QSAVE can generally be made to work again. For a future test, you\u2019ll mainly need: a software dump and a few standard cables.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" src=\"https:\/\/www.jungsi.de\/blog\/wp-content\/uploads\/Q-Save-User-Manual-768x1024.jpg\" alt=\"Q Save - User Manual\" class=\"wp-image-39633\" srcset=\"https:\/\/www.jungsi.de\/blog\/wp-content\/uploads\/Q-Save-User-Manual-768x1024.jpg 768w, https:\/\/www.jungsi.de\/blog\/wp-content\/uploads\/Q-Save-User-Manual-225x300.jpg 225w, https:\/\/www.jungsi.de\/blog\/wp-content\/uploads\/Q-Save-User-Manual.jpg 1050w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><figcaption class=\"wp-element-caption\">Q Save &#8211; User Manual<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><strong>Use software from the dump<\/strong><br>QSAVE is archived as a tape dump. The dump is typically in TZX format and can either be used in the emulator or converted to an audio format (WAV) so that it can be played back like a cassette.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>A PC or smartphone as a \u2018cassette recorder\u2019<\/strong><br>One practical method is to play the WAV file on a PC or smartphone and use it to \u2018feed\u2019 the ZX81 \u2013 just like we used to do with a cassette tape. The most important thing to remember here is:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Disable all sound enhancers, equalisers, \u2018audio enhancers\u2019, etc.<\/li>\n\n\n\n<li>Start at a medium volume and adjust it slightly if necessary.<\/li>\n\n\n\n<li>Use a clean, stable audio signal without interference wherever possible.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Retrofit cables<\/strong><br>Standard jack cables are usually all that\u2019s needed for the signal path:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cassette recorder (EAR\/Phones) \u2192 QSAVE (CASS.)<\/li>\n\n\n\n<li>QSAVE (COMP) \u2192 ZX81 (EAR or equivalent input)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Depending on the recorder, adapters may be required (e.g. a different jack size or special connectors). Short, neat cables are far better here than flimsy \u201coff-the-shelf adapters\u201d \u2013 high-speed formats are particularly sensitive to poor connections.<\/p>\n\n\n\n<figure class=\"wp-block-gallery aligncenter has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" data-id=\"39631\" src=\"https:\/\/www.jungsi.de\/blog\/wp-content\/uploads\/Q-Save-Vorderseite-768x1024.jpg\" alt=\"Q Save - Vorderseite\" class=\"wp-image-39631\" srcset=\"https:\/\/www.jungsi.de\/blog\/wp-content\/uploads\/Q-Save-Vorderseite-768x1024.jpg 768w, https:\/\/www.jungsi.de\/blog\/wp-content\/uploads\/Q-Save-Vorderseite-225x300.jpg 225w, https:\/\/www.jungsi.de\/blog\/wp-content\/uploads\/Q-Save-Vorderseite.jpg 1050w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><figcaption class=\"wp-element-caption\">Q Save &#8211; Vorderseite<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" data-id=\"39632\" src=\"https:\/\/www.jungsi.de\/blog\/wp-content\/uploads\/Q-Save-Rueckseite-768x1024.jpg\" alt=\"Q Save - R\u00fcckseite\" class=\"wp-image-39632\" srcset=\"https:\/\/www.jungsi.de\/blog\/wp-content\/uploads\/Q-Save-Rueckseite-768x1024.jpg 768w, https:\/\/www.jungsi.de\/blog\/wp-content\/uploads\/Q-Save-Rueckseite-225x300.jpg 225w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><figcaption class=\"wp-element-caption\">Q Save &#8211; R\u00fcckseite<\/figcaption><\/figure>\n<\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Power supply (POWER IN \/ POWER OUT)<\/strong><br>As the QSAVE has POWER IN and POWER OUT ports, the unit will most likely be connected into the power supply circuit (power supply \u2192 QSAVE \u2192 ZX81). If you are retrofitting this, the most important point is:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The plug size and polarity must match.<br>With old power adapters and plugs, it\u2019s worth taking a closer look before plugging anything in.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Why this is still interesting today<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For me, QSAVE is a fine example of just how vibrant the world of ZX81 accessories was in the early 80s. Rather than simply having to \u2018put up with\u2019 the fact that cassette storage was slow and temperamental, people tried to make the ZX81 more suitable for everyday use through software tricks and additional electronics. And even though my copy isn\u2019t complete, the packaging, instructions and the amplifier\/filter box clearly demonstrate how people approached the issue of \u2018saving and loading\u2019 back then.<\/p>","protected":false},"excerpt":{"rendered":"<p>QSAVE \u2013 Turbo Tape f\u00fcr den Sinclair ZX81 (PSS) Beim Sinclair ZX81 geh\u00f6rt die Kassette einfach dazu. In der Praxis bedeutete das aber auch: viel \u2026<\/p>","protected":false},"author":2,"featured_media":40584,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"no","_lmt_disable":"","ngg_post_thumbnail":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":true,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false,"_links_to":"","_links_to_target":""},"categories":[43],"tags":[4843,4737,666],"class_list":["post-39531","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-zx81","tag-englisch-verfuegbar","tag-hardware","tag-sinclair"],"modified_by":"Jungsi","wp-worthy-pixel":{"ignored":false,"public":"04d5b58287ff4bd99376225249b6bd93","server":"","url":"https:\/\/vg05.met.vgwort.de\/na\/04d5b58287ff4bd99376225249b6bd93"},"wp-worthy-type":"normal","jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/www.jungsi.de\/blog\/wp-content\/uploads\/Q-Save.webp","_links":{"self":[{"href":"https:\/\/www.jungsi.de\/en\/wp-json\/wp\/v2\/posts\/39531","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jungsi.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jungsi.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jungsi.de\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jungsi.de\/en\/wp-json\/wp\/v2\/comments?post=39531"}],"version-history":[{"count":1,"href":"https:\/\/www.jungsi.de\/en\/wp-json\/wp\/v2\/posts\/39531\/revisions"}],"predecessor-version":[{"id":42424,"href":"https:\/\/www.jungsi.de\/en\/wp-json\/wp\/v2\/posts\/39531\/revisions\/42424"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.jungsi.de\/en\/wp-json\/wp\/v2\/media\/40584"}],"wp:attachment":[{"href":"https:\/\/www.jungsi.de\/en\/wp-json\/wp\/v2\/media?parent=39531"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jungsi.de\/en\/wp-json\/wp\/v2\/categories?post=39531"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jungsi.de\/en\/wp-json\/wp\/v2\/tags?post=39531"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}