From 59f802bc9f7b916b1c5e526af528fea402ad59df Mon Sep 17 00:00:00 2001 From: Dreaded_X Date: Thu, 1 Oct 2020 21:35:36 +0200 Subject: [PATCH] Updated for extra ram and external keyboard support --- bin/s.com | Bin 0 -> 34688 bytes src/MONITOR.z80 | 36 ++++++++++++++++++------------------ src/bios.z80 | 16 ++++++++-------- src/cpm22.z80 | 2 +- src/loader.z80 | 4 ++-- src/putsys.z80 | 2 +- src/ram_monitor.z80 | 18 +++++++++--------- src/rom_monitor.z80 | 18 +++++++++--------- 8 files changed, 48 insertions(+), 48 deletions(-) create mode 100644 bin/s.com diff --git a/bin/s.com b/bin/s.com new file mode 100644 index 0000000000000000000000000000000000000000..c1c8170809604c4507130e854bb8cbfa54bcb12a GIT binary patch literal 34688 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

FW=EWs1ygwT`HA-f>h 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

oaMT2@`@F@ud;da@{PWYzR3-h0Je_i zPhO$d)#9gb$&Ga@R@bf$ueeM1`DTQC7wXGbEsLxSW2XAl;Q4r|-ne-~Sf3i2syEi@ z%j+VIt0PU}8NN!-;=IZVotDAW27PsdzD$pVn`J))jJx#u@Uj)YYnDYKb&dQPsLk-z zs~Oa|Om7TtYLsaLC%k?`<7VGYO^t;7`tbU?`ptS>gyGR%>U}re6RvNrU)>l65pJX3 z`i5oojjNZf(`%Y)Ys2-7byIzPI3jQ{tl7bV=P?qK8;XDiXeFplZt(dUd?jBQ^);Vw zVN=7ZFep>Ee*Llt2*0d8448HLy1K~984jfS@CqW18bV#PGRR60LEidh%NxV>*saeu zocQXJWZ8-pVV5SGmqpeJsV>zUR@F7F1Ispq>z6gI#+GZsw7`aS;l?mAT#+#|Wkv=l zH3F);$ciw}$}|YWSNMDjun*#zz8VWKy@2BUGl<)n+G#^IOJxyrTBW{RI4ljigGJVm z)$2FZ)7FHMk*4)E_zZs5EL|CHY#<+9-g_@ek9|8qY~Tml8T!NulYV8M~rG@ z(h)acxf;WyKpU1dG%7ra9xnHxaW?eX&qL;$<)z*g_R>45PQWA(6gZ4zm2o_1KlB4X9AQ%*| zZ;(*T@R^aOb?c`2R_^xUzd~V{&z~b7{JE;(Z~waHrUjLY<}RvSc