[{"data":1,"prerenderedAt":456},["ShallowReactive",2],{"blog:2020:pokes-for-spectrum":3,"blogMore-Technology":404,"comments-pokes-for-spectrum":417},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"date":10,"image":11,"category":14,"tags":15,"excerpt":18,"body":37,"_type":396,"_id":397,"_source":398,"_file":399,"_stem":400,"_extension":401,"url":402,"wordCount":403,"minutes":391,"commentCount":391},"/blog/2020/pokes-for-spectrum","2020",false,"en","Notes from my Spectrum +3 manual","I've recently been working on a full HTML5 conversion of the Sinclair Spectrum +3 manual with full canvas-drawn screenshots and diagrams for smooth scaling/high res displays as well as some close font matching and layout as well as cross-reference links all over the place.","2020-05-05T10:15:00-05:00",{"src":12,"alt":13},"https://img.damieng.com/blog/Plus3Manual.jpg","The cover of my ZX Spectrum +3 manual","Technology",[16,17],"ZX Spectrum","vintage computing",{"type":19,"children":20},"root",[21,28],{"type":22,"tag":23,"props":24,"children":25},"element","p",{},[26],{"type":27,"value":9},"text",{"type":22,"tag":23,"props":29,"children":30},{},[31,33,35],{"type":27,"value":32},"My ",{"type":27,"value":34},"ZX Spectrum +3 Manual",{"type":27,"value":36}," conversion is now available!",{"type":19,"children":38,"toc":390},[39,43,58,63,70,118,124,166,171,196,202,285,290,361,366,376,381],{"type":22,"tag":23,"props":40,"children":41},{},[42],{"type":27,"value":9},{"type":22,"tag":44,"props":45,"children":46},"blockquote",{},[47],{"type":22,"tag":23,"props":48,"children":49},{},[50,51,57],{"type":27,"value":32},{"type":22,"tag":52,"props":53,"children":55},"a",{"href":54},"https://zxspectrumvault.github.io/Manuals/Hardware/SpectrumPlus3Manual.html#introduction",[56],{"type":27,"value":34},{"type":27,"value":36},{"type":22,"tag":23,"props":59,"children":60},{},[61],{"type":27,"value":62},"What I wanted to show today was the odd commands, pokes and outs that were hastily scribbled down in the back of my manual over the years.",{"type":22,"tag":64,"props":65,"children":67},"h2",{"id":66},"spectrum-32a-specific",[68],{"type":27,"value":69},"Spectrum +3/+2A specific",{"type":22,"tag":71,"props":72,"children":73},"ul",{},[74,97],{"type":22,"tag":75,"props":76,"children":77},"li",{},[78,80,87,89,95],{"type":27,"value":79},"You know you can type ",{"type":22,"tag":81,"props":82,"children":84},"code",{"className":83},[],[85],{"type":27,"value":86},"SPECTRUM",{"type":27,"value":88}," to go from +3 BASIC to 48K BASIC but, did you know you can get back? ",{"type":22,"tag":81,"props":90,"children":92},{"className":91},[],[93],{"type":27,"value":94},"RANDOMIZE USR 23354",{"type":27,"value":96},". It leaves CHR$ 163/164 as UDGs.",{"type":22,"tag":75,"props":98,"children":99},{},[100,102,108,110,116],{"type":27,"value":101},"Switch off the +3 drive with ",{"type":22,"tag":81,"props":103,"children":105},{"className":104},[],[106],{"type":27,"value":107},"POKE 23399,4",{"type":27,"value":109},". In 48K mode, you can use ",{"type":22,"tag":81,"props":111,"children":113},{"className":112},[],[114],{"type":27,"value":115},"POKE 23611,221",{"type":27,"value":117}," if it somehow stayed on.",{"type":22,"tag":64,"props":119,"children":121},{"id":120},"_128k-specific",[122],{"type":27,"value":123},"128K specific",{"type":22,"tag":71,"props":125,"children":126},{},[127,155],{"type":22,"tag":75,"props":128,"children":129},{},[130,132,137,139,145,147,153],{"type":27,"value":131},"128K machines are very compatible but the last two user-defined graphics (UDGs) T and U have become the ",{"type":22,"tag":81,"props":133,"children":135},{"className":134},[],[136],{"type":27,"value":86},{"type":27,"value":138}," and ",{"type":22,"tag":81,"props":140,"children":142},{"className":141},[],[143],{"type":27,"value":144},"PLAY",{"type":27,"value":146}," command (for switching to 48K mode and using the AY-3-8912 sound chip). You can, however, switch them back to UDGs using ",{"type":22,"tag":81,"props":148,"children":150},{"className":149},[],[151],{"type":27,"value":152},"POKE 23611,205",{"type":27,"value":154},".",{"type":22,"tag":75,"props":156,"children":157},{},[158,164],{"type":22,"tag":81,"props":159,"children":161},{"className":160},[],[162],{"type":27,"value":163},"POKE 23611,205; RANDOMIZE USR 4867;",{"type":27,"value":165}," alternative way to switch from 128K to 48K.",{"type":22,"tag":23,"props":167,"children":168},{},[169],{"type":27,"value":170},"A couple of VTX-5000 modem specific hacks:",{"type":22,"tag":71,"props":172,"children":173},{},[174,185],{"type":22,"tag":75,"props":175,"children":176},{},[177,183],{"type":22,"tag":81,"props":178,"children":180},{"className":179},[],[181],{"type":27,"value":182},"OUT 8189,0",{"type":27,"value":184}," to switch the 128K ROM back in.",{"type":22,"tag":75,"props":186,"children":187},{},[188,194],{"type":22,"tag":81,"props":189,"children":191},{"className":190},[],[192],{"type":27,"value":193},"POKE 23611,29",{"type":27,"value":195}," also to switch from 48K to 128K mode.",{"type":22,"tag":64,"props":197,"children":199},{"id":198},"all-machines",[200],{"type":27,"value":201},"All machines",{"type":22,"tag":71,"props":203,"children":204},{},[205,216,235,254,265,276],{"type":22,"tag":75,"props":206,"children":207},{},[208,214],{"type":22,"tag":81,"props":209,"children":211},{"className":210},[],[212],{"type":27,"value":213},"POKE 23617,n",{"type":27,"value":215}," changes the input mode for INPUT prompts. 0=Alpha (C/L), 1=Extended (E), 2=Graphics (G), 4=Keyword (K).",{"type":22,"tag":75,"props":217,"children":218},{},[219,225,227,233],{"type":22,"tag":81,"props":220,"children":222},{"className":221},[],[223],{"type":27,"value":224},"POKE 23658,0",{"type":27,"value":226}," turns off CAPS LOCK while ",{"type":22,"tag":81,"props":228,"children":230},{"className":229},[],[231],{"type":27,"value":232},"POKE 23658,1",{"type":27,"value":234}," turns it on.",{"type":22,"tag":75,"props":236,"children":237},{},[238,244,246,252],{"type":22,"tag":81,"props":239,"children":241},{"className":240},[],[242],{"type":27,"value":243},"POKE 23692,255",{"type":27,"value":245}," will suppress the ",{"type":22,"tag":81,"props":247,"children":249},{"className":248},[],[250],{"type":27,"value":251},"Scroll?",{"type":27,"value":253}," prompt 255 times so you can auto-scroll.",{"type":22,"tag":75,"props":255,"children":256},{},[257,263],{"type":22,"tag":81,"props":258,"children":260},{"className":259},[],[261],{"type":27,"value":262},"RANDOMIZE USR 3582",{"type":27,"value":264}," to scroll the screen one line.",{"type":22,"tag":75,"props":266,"children":267},{},[268,274],{"type":22,"tag":81,"props":269,"children":271},{"className":270},[],[272],{"type":27,"value":273},"RANDOMIZE USR 3330",{"type":27,"value":275}," to scroll the entire screen.",{"type":22,"tag":75,"props":277,"children":278},{},[279],{"type":22,"tag":81,"props":280,"children":282},{"className":281},[],[283],{"type":27,"value":284},"LET A=32768: POKE 23607,A/256: POKE 23606,A-(PEEK 23607 * 256)",{"type":22,"tag":23,"props":286,"children":287},{},[288],{"type":27,"value":289},"A few pokes to stop people messing with your BASIC programs!",{"type":22,"tag":71,"props":291,"children":292},{},[293,320,331,342],{"type":22,"tag":75,"props":294,"children":295},{},[296,302,304,310,312,318],{"type":22,"tag":81,"props":297,"children":299},{"className":298},[],[300],{"type":27,"value":301},"POKE 23756,n",{"type":27,"value":303}," to change the first line number to ",{"type":22,"tag":81,"props":305,"children":307},{"className":306},[],[308],{"type":27,"value":309},"n",{"type":27,"value":311},". If you set this to ",{"type":22,"tag":81,"props":313,"children":315},{"className":314},[],[316],{"type":27,"value":317},"0",{"type":27,"value":319}," then, it is not editable without reversing the poke! In 128K mode it lists line 0 over and over and can cause the editor to crash while adding new lines!",{"type":22,"tag":75,"props":321,"children":322},{},[323,329],{"type":22,"tag":81,"props":324,"children":326},{"className":325},[],[327],{"type":27,"value":328},"POKE 23613,82",{"type":27,"value":330}," will disable the BREAK key in your BASIC program",{"type":22,"tag":75,"props":332,"children":333},{},[334,340],{"type":22,"tag":81,"props":335,"children":337},{"className":336},[],[338],{"type":27,"value":339},"POKE 23613,0",{"type":27,"value":341}," causes BREAK to crash.",{"type":22,"tag":75,"props":343,"children":344},{},[345,351,353,359],{"type":22,"tag":81,"props":346,"children":348},{"className":347},[],[349],{"type":27,"value":350},"POKE 23755,100",{"type":27,"value":352}," causes the program listing to be invisible on BREAK while running (use POKE ",{"type":22,"tag":81,"props":354,"children":356},{"className":355},[],[357],{"type":27,"value":358},"23755,0",{"type":27,"value":360}," to get it back)",{"type":22,"tag":23,"props":362,"children":363},{},[364],{"type":27,"value":365},"Header-less tape loading and saving...",{"type":22,"tag":367,"props":368,"children":370},"pre",{"code":369},"LD A,255\nLD IX,@START\nLD DE,@LENGTH\nSCF\nJP 1218 ; Save or\nJP 1366 ; Load\n",[371],{"type":22,"tag":81,"props":372,"children":374},{"__ignoreMap":373},"",[375],{"type":27,"value":369},{"type":22,"tag":23,"props":377,"children":378},{},[379],{"type":27,"value":380},"Enjoy,",{"type":22,"tag":23,"props":382,"children":383},{},[384],{"type":22,"tag":385,"props":386,"children":387},"em",{},[388],{"type":27,"value":389},"[)amien",{"title":373,"searchDepth":391,"depth":391,"links":392},2,[393,394,395],{"id":66,"depth":391,"text":69},{"id":120,"depth":391,"text":123},{"id":198,"depth":391,"text":201},"markdown","content:blog:2020:pokes-for-spectrum.md","content","blog/2020/pokes-for-spectrum.md","blog/2020/pokes-for-spectrum","md","/blog/2020/pokes-for-spectrum/",411,[405,409,413],{"title":406,"date":407,"url":408},"VTX5000: Part 4 - Communications ","2026-05-06T10:19:24.727Z","/blog/2026/vtx5000-part-4-comms-routines/",{"title":410,"date":411,"url":412},"VTX5000: Part 3 - Software ROM","2026-04-15T23:00:00.000Z","/blog/2026/vtx5000-part-3-software-rom/",{"title":414,"date":415,"url":416},"VTX5000: Part 2 - Hardware","2026-03-30T23:00:00.000Z","/blog/2026/prism-vtx5000-part-2/",[418,438],{"_path":419,"_dir":420,"_draft":6,"_partial":6,"_locale":7,"title":421,"description":422,"id":423,"date":424,"name":425,"avatar":426,"url":373,"body":427,"_type":396,"_id":435,"_source":398,"_file":436,"_stem":437,"_extension":401},"/comments/pokes-for-spectrum/92464377-262d-416f-8958-c2f5c61eff53","pokes-for-spectrum","92464377 262d 416f 8958 C2f5c61eff53","I think caps on should be 23658,255. Certainly this seems to work and ,1 doesn't","92464377-262d-416f-8958-c2f5c61eff53","2023-11-14T00:15:07.226Z","fuzzweed","https://www.gravatar.com/avatar/00000000000000000000000000000000?d=mp&f=y",{"type":19,"children":428,"toc":433},[429],{"type":22,"tag":23,"props":430,"children":431},{},[432],{"type":27,"value":422},{"title":373,"searchDepth":391,"depth":391,"links":434},[],"content:comments:pokes-for-spectrum:92464377-262d-416f-8958-c2f5c61eff53.md","comments/pokes-for-spectrum/92464377-262d-416f-8958-c2f5c61eff53.md","comments/pokes-for-spectrum/92464377-262d-416f-8958-c2f5c61eff53",{"_path":439,"_dir":420,"_draft":6,"_partial":6,"_locale":7,"title":440,"description":441,"id":440,"date":442,"name":443,"avatar":444,"body":445,"_type":396,"_id":453,"_source":398,"_file":454,"_stem":455,"_extension":401},"/comments/pokes-for-spectrum/1093525c","1093525c","Hey man!  Thank you very much!  I have been looking for the BREAK command for years!","2021-03-19T21:10:48.1084723Z","jezza","https://unavatar.io/twitter/j@.com",{"type":19,"children":446,"toc":451},[447],{"type":22,"tag":23,"props":448,"children":449},{},[450],{"type":27,"value":441},{"title":373,"searchDepth":391,"depth":391,"links":452},[],"content:comments:pokes-for-spectrum:1093525c.md","comments/pokes-for-spectrum/1093525c.md","comments/pokes-for-spectrum/1093525c",1779224642042]