--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+...@googlegroups.com.
To post to this group, send email to rc201...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/CAK%2B%3DWr9V7U3inZuVga%3DJZWSK%3D%3DgUQSSxpfFK4VyyCtx3E6mObw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
My solution was to encode the data to be loaded in DATA statements. BASIC is much faster at reading the keyboard itself than running a BASIC program to read the keyboard, so dropped input is less of an issue.
This should allow you to get a small machine code loader in place as a "stage 2" loader.
My full solution was a python script on the host PC whose output is sent to the serial port. It takes a binary file and an address, sends a loader program with the binary encoded in DATA statements and runs it. It puts a .01 second delay between characters and a 0.1 second delay between lines (processing a line of input takes BASIC a while.
This script actually takes a list of commands - load file at address or execute code at address. This lets me drive it from a Makefile for a fairly hassle free RC2014 dev environment.
I'll try and post source code later.
I've not encountered the corrupt characters issue yet. :(
--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+...@googlegroups.com.
To post to this group, send an email to rc201...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/7d777ad7-a672-42e3-ba8a-3d173ff3f49d%40googlegroups.com.
I have changed the basic program so that saves the cut and paste issues. May be of some use to some people.
newclear10 let mb=-204820 for l=1 to 6925 read a,b,c,d26 rem print l*10 + 9000,a,b,c,d31 poke mb, a32 poke mb+1, b33 poke mb+2, c34 poke mb+3, d35 let mb=mb+440 next l50 poke -32696,19560 poke -32695,070 poke -32694,248100 print usr(0)
9010 data 243,33,255,2559020 data 249,62,150,2119030 data 128,243,33,2149040 data 248,205,154,2489050 data 205,137,248,1259060 data 254,58,194,169070 data 248,221,33,09080 data 0,205,164,2489090 data 68,77,205,1649100 data 248,85,205,1649110 data 248,93,205,1649120 data 248,125,254,19130 data 40,41,254,09140 data 32,50,205,1649150 data 248,125,18,199160 data 11,62,0,1769170 data 177,254,0,329180 data 241,62,124,2059190 data 126,248,205,1649200 data 248,221,125,2549210 data 0,32,30,629220 data 42,205,126,2489230 data 195,16,248,2059240 data 164,248,33,139250 data 249,205,154,2489260 data 33,0,128,2339270 data 33,249,248,2059280 data 154,248,195,1229290 data 248,33,3,2499300 data 205,154,248,1959310 data 122,248,0,1959320 data 122,248,245,2199330 data 128,203,79,409340 data 250,241,211,1299350 data 201,245,219,1289360 data 203,71,40,2509370 data 219,129,38,09380 data 111,205,126,2489390 data 241,201,126,1839400 data 200,205,126,2489410 data 35,195,154,2489420 data 245,213,205,1379430 data 248,125,214,489440 data 254,10,56,29450 data 214,7,87,2059460 data 137,248,125,2149470 data 48,254,10,569480 data 2,214,7,959490 data 203,34,203,349500 data 203,34,203,349510 data 178,209,38,09520 data 111,241,197,69530 data 0,77,221,99540 data 193,201,72,699550 data 88,32,76,799560 data 65,68,69,829570 data 32,98,121,329580 data 70,105,108,1059590 data 112,112,111,329600 data 66,101,114,1039610 data 97,109,97,1159620 data 99,111,10,139630 data 0,10,13,739640 data 78,86,32,849650 data 89,80,0,109660 data 13,66,65,689670 data 32,67,72,759680 data 0,10,13,799690 data 75,0,0,0
run
To post to this group, send email to rc201...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/CAK%2B%3DWr-SzuY90sG-PPRF173U2qy%3DRA2ZY4WNFmUM-bbvK9qS-g%40mail.gmail.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/CAO93PtefV-K55fVJGqBgwLneHPr-CH2qkdt0oFK6EYnkWBp%2BdA%40mail.gmail.com.
5 REM Start address 63488 in hex F800
10 let mb=&HF800
100 poke mb,&H3e
110 poke mb+1,&H48
120 poke mb+2,&Hcf
130 poke mb+3,&Hc9
8049 rem 8049 REM JP start address (c3 00 f8) jp f800
8050 poke -32696,&HC3
8060 poke -32695,&H00
8070 poke -32694,&Hf8
9100 print usr(0)
run
--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+...@googlegroups.com.
To post to this group, send email to rc201...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/d48c795d-88a8-46ab-9a81-c9766ccbebd4%40googlegroups.com.
Sorry that is not what I ment.
Sorry that is not what I ment.I was suggesting that maybe we could utilise this somehow. I think you are right a two stage process.
--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+...@googlegroups.com.
To post to this group, send email to rc201...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/a76e4ac6-3550-44a3-a362-edd5b5edad75%40googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/CAK%2B%3DWr-BaVnZ8H%2BgFafJYWxaQ2zz9bm3UOLgsPUqMcVBnZS_KQ%40mail.gmail.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/CAO93Ptfy8bvQ3dzcLAEq_QiSc5TYP26JV9EkVkYALdHJx1khvA%40mail.gmail.com.
More notes....
Please correct me if I am wrong as I am working this out on my own.
Start of Ram = 32768 8000hRAM used by BASIC and serial buffers = 336 150hFree Ram Left = 32432 7eb0h
Add some buffers and string space.
That leaves the min free memory top to be 33187 81a3h
You need a basic loader so would not not be able to use that as you will need space for that.
So if you allow a total of 2K for the Serial + Basic work space + Basic program area (1691 bytes) and make RAMTOP 34817
That leave 30k free for Machine code between address A000h to FFFFh
I need to take in to account the stack too..
Yes?
--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+...@googlegroups.com.
To post to this group, send email to rc201...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/b0efc318-2fca-47d2-a768-561ab1a14700%40googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/57825054.1020606%40gmail.com.
I haven't checked the details but I think I have a little bit more than that. Currently my asm-based hex loader weights 260bytes that can be loaded at the upper part of the memory just before the stack. even if we consider another 100 bytes of stack (more than enough) this leaves more than 32279 bytes if I load the hex file from 0x8080.Anyway... you are right that more or less you have 30k to play with... Unfortunately... it will be very slow to load 30k of data :P
On Sun, Jul 10, 2016 at 3:40 PM, Dave Pucknell <dpuc...@gmail.com> wrote:
Correction. Leaves 30K.
On 10/07/16 14:36, Dave P wrote:
More notes....
Please correct me if I am wrong as I am working this out on my own.
Start of Ram = 32768 8000hRAM used by BASIC and serial buffers = 336 150hFree Ram Left = 32432 7eb0h
Add some buffers and string space.
That leaves the min free memory top to be 33187 81a3h
You need a basic loader so would not not be able to use that as you will need space for that.
So if you allow a total of 2K for the Serial + Basic work space + Basic program area (1691 bytes) and make RAMTOP 34817
That leave 30k free for Machine code between address A000h to FFFFh
I need to take in to account the stack too..
Yes?
--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+unsubscribe@googlegroups.com.
To post to this group, send email to rc201...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/b0efc318-2fca-47d2-a768-561ab1a14700%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+unsubscribe@googlegroups.com.
To post to this group, send email to rc201...@googlegroups.com.
new
clear
10 REM Created by Filippo Bergamasco and modified by DaveP for the RC2014
20 REM Version 0.01
30 Print "Loading Data"
40 let mb=&Hf800
50 print "Start Address:",hex$(mb)
60 REM Go to READ Subroutine.
70 GOSUB 1000
80 print "End Address:",hex$(mb-1)
90 REM Change Pointer for USR
100 GOSUB 1100
110 REM RUN THE CODE!
120 print usr(0)
130 END
1000 REM Routine to load Data
1010 REM Needs var mb set to start location20 read a
1020 read a
1030 if a>255 then RETURN
1040 rem print HEX$(mb),a
1050 poke mb, a
1060 let mb=mb+1
1070 goto 1020
1100 REM Location of pointer &H8049
1110 print "Change Jump Location"
1120 let mb=&H8048
1130 REM JP start address (c3 00 f8) jp f800
1140 poke mb,&Hc3
1150 poke mb+1,&H00
1160 poke mb+2,&Hf8
1170 RETURN
9010 data 33,255,255,249,62,3,211,128,62,150,211,128
9040 data 251,33,200,248,205,140,248,205,135,248,125,254
9070 data 58,194,19,248,221,33,0,0,205,150,248,68
9100 data 77,205,150,248,85,205,150,248,93,205,150,248
9130 data 125,254,1,40,36,254,0,32,45,205,150,248
9160 data 125,18,19,11,62,0,176,177,254,0,32,241
9190 data 205,150,248,221,125,254,0,32,30,62,42,205
9220 data 124,248,195,19,248,205,150,248,33,255,248,205
9250 data 140,248,33,128,128,233,33,235,248,205,140,248
9280 data 195,120,248,33,245,248,205,140,248,195,120,248
9310 data 0,195,120,248,245,219,128,203,79,40,250,241
9340 data 211,129,201,245,215,111,241,201,126,183,200,205
9370 data 124,248,35,195,140,248,245,213,205,135,248,125
9400 data 214,48,254,10,56,2,214,7,87,205,135,248
9430 data 125,214,48,254,10,56,2,214,7,95,203,34
9460 data 203,34,203,34,203,34,178,209,38,0,111,241
9490 data 197,6,0,77,221,9,193,201,72,69,88,32
9520 data 76,79,65,68,69,82,32,98,121,32,70,105
9550 data 108,105,112,112,111,32,66,101,114,103,97,109
9580 data 97,115,99,111,10,13,0,10,13,73,78,86
9610 data 32,84,89,80,0,10,13,66,65,68,32,67
9640 data 72,75,0,10,13,79,75,0
9900 REM THIS IS THE END MARKER
9900 data 999
9999 END
run
--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+...@googlegroups.com.
To post to this group, send email to rc201...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/ebd5b844-48b9-4f5a-a1f6-66939ed57f7c%40googlegroups.com.
10 REM Created by Filippo Bergamasco and modified by DaveP for RC2014
20 REM Version 0.02
30 Print "Loading Data"
40 let mb=&Hf800
50 print "Start Address:",hex$(mb)
60 REM Go to READ Subroutine.
70 GOSUB 1000
80 print "End Address:",hex$(mb-1)
90 REM Change Pointer for USR
100 GOSUB 1100
110 REM RUN THE CODE!
120 print usr(0)
130 END
1000 REM Routine to load Data
1010 REM Needs var mb set to start location
1020 read H$
1024 GOSUB 9000
1026 rem PRINT A;
1030 if a>255 then RETURN
1040 rem print HEX$(A)
1050 poke mb, a
1060 let mb=mb+1
1070 goto 1020
1100 REM Location of pointer &H8049
1110 print "Change Jump Location"
1120 let mb=&H8048
1130 REM JP start address (c3 00 f8) jp f800
1140 poke mb,&Hc3
1150 poke mb+1,&H00
1160 poke mb+2,&Hf8
1170 RETURN
9000 REM HEX TO DECIMAL CONVERTER
9010 REM NEEDS H$ AS INPUT HEX
9020 REM OUTPUTS A AS DECIMAL
9050 A=0:D=1
9060 FOR P=LEN(H$)-1 TO 0 STEP -1
9070 C=ASC(MID$(H$,D,1))
9080 D=D+1
9090 IF(C>=48)*(C<=57) THEN C=C-48:GOTO 9130
9100 IF(C>=65)*(C<=70) THEN C=C-55:GOTO 9130
9110 PRINT "PRINT ERROR IN ";H$
9120 END
9130 A=A+C*16^P
9140 NEXT
9150 RETURN
9501 DATA "21","FF","FF","F9","3E","3","D3","80","3E","96"
9502 DATA "D3","80","FB","21","C8","F8","CD","8C","F8","CD"
9503 DATA "87","F8","7D","FE","3A","C2","13","F8","DD","21"
9504 DATA "0","0","CD","96","F8","44","4D","CD","96","F8"
9505 DATA "55","CD","96","F8","5D","CD","96","F8","7D","FE"
9506 DATA "1","28","24","FE","0","20","2D","CD","96","F8"
9507 DATA "7D","12","13","B","3E","0","B0","B1","FE","0"
9508 DATA "20","F1","CD","96","F8","DD","7D","FE","0","20"
9509 DATA "1E","3E","2A","CD","7C","F8","C3","13","F8","CD"
9510 DATA "96","F8","21","FF","F8","CD","8C","F8","21","80"
9511 DATA "80","E9","21","EB","F8","CD","8C","F8","C3","78"
9512 DATA "F8","21","F5","F8","CD","8C","F8","C3","78","F8"
9513 DATA "0","C3","78","F8","F5","DB","80","CB","4F","28"
9514 DATA "FA","F1","D3","81","C9","F5","D7","6F","F1","C9"
9515 DATA "7E","B7","C8","CD","7C","F8","23","C3","8C","F8"
9516 DATA "F5","D5","CD","87","F8","7D","D6","30","FE","A"
9517 DATA "38","2","D6","7","57","CD","87","F8","7D","D6"
9518 DATA "30","FE","A","38","2","D6","7","5F","CB","22"
9519 DATA "CB","22","CB","22","CB","22","B2","D1","26","0"
9520 DATA "6F","F1","C5","6","0","4D","DD","9","C1","C9"
9521 DATA "48","45","58","20","4C","4F","41","44","45","52"
9522 DATA "20","62","79","20","46","69","6C","69","70","70"
9523 DATA "6F","20","42","65","72","67","61","6D","61","73"
9524 DATA "63","6F","A","D","0","A","D","49","4E","56"
9525 DATA "20","54","59","50","0","A","D","42","41","44"
9526 DATA "20","43","48","4B","0","A","D","4F","4B"
9699 DATA "FFFF"--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+...@googlegroups.com.
To post to this group, send email to rc201...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/55f941e6-8679-45c6-a73d-538590592263%40googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/CAKD5zta1pB7V%3DXAM7QQYePOx5wmOhcr%2BGYzxqbQ9LHQk7AjrrA%40mail.gmail.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/D57DB5AD-0048-460E-92BF-18D5311F3FF3%40gmail.com.
9501 DATA "3E","48","CF","C9"
9699 DATA "FFFF"
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/CAKD5ztZGFLAUSMKjP2R1kucGpnMhqrKD0N173D7Xa2GSU8iugw%40mail.gmail.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/5787C663.2020004%40gmail.com.
For more options, visit https://groups.google.com/d/optout.
ORG 0E000H
START: JP STARTB ; Jump for restart jump
STARTB: DI ; No interrupts
LD IX,0 ; Flag cold start
JP CSTART ; Jump to initialise
DW DEINT ; Get integer -32768 to 32767
DW ABPASS ; Return integer in AB
| .ORG 00150H | |
| COLD: JP STARTB ; Jump for cold start | |
| WARM: JP WARMST ; Jump for warm start | |
| STARTB: | |
| LD IX,0 ; Flag cold start | |
| JP CSTART ; Jump to initialise | |
| .WORD DEINT ; Get integer -32768 to 32767 | |
| .WORD ABPASS ; Return integer in AB |
myUsr:call DEINT; do something with DE; store result in ABcall ABPASSret
--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+...@googlegroups.com.
To post to this group, send an email to rc201...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/5787E446.8030302%40gmail.com.
To post to this group, send email to rc201...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/CAKD5ztYX7h7NQmZzZqaXduBC8pS5FxXkHZH5bxSRx_V6nz_Lmw%40mail.gmail.com.
To post to this group, send email to rc201...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/CAKD5ztYX7h7NQmZzZqaXduBC8pS5FxXkHZH5bxSRx_V6nz_Lmw%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+...@googlegroups.com.
To post to this group, send email to rc201...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/14011502-c691-4f71-ad54-69fd8492a36a%40googlegroups.com.
Dear friends,I'm working to build a simple hex loader that can be used for everybody like me that cannot afford (yet) an eeprom programmer. What I do is basically the following:1) Use a simple basic program to load the the hex loader in the upper part of the ram memory. such loader is written in z80 assembly for speed/size reasons2) use usr() to jump to the hex loader3) transfer the hex file and store it at correct memory locations (checksums are also properly checked)4) the hex loader jumps at location 0x8000I you want to try it, here are the basic steps:1) Boot the RC2014 to get the basic prompt2) Paste the following listing--------------------- 8< [CUT HERE] ----------------clear10 let mb=-204820 for l=1 to 69
30 input "";a,b,c,d31 poke mb, a32 poke mb+1, b33 poke mb+2, c34 poke mb+3, d35 let mb=mb+440 next l50 poke -32696,19560 poke -32695,070 poke -32694,248run
243,33,255,255249,62,150,211128,243,33,214248,205,154,248205,137,248,125254,58,194,16248,221,33,00,205,164,24868,77,205,164248,85,205,164248,93,205,164248,125,254,140,41,254,032,50,205,164248,125,18,1911,62,0,176177,254,0,32241,62,124,205126,248,205,164248,221,125,2540,32,30,6242,205,126,248195,16,248,205164,248,33,13249,205,154,24833,0,128,23333,249,248,205154,248,195,122248,33,3,249205,154,248,195122,248,0,195122,248,245,219128,203,79,40250,241,211,129201,245,219,128203,71,40,250219,129,38,0111,205,126,248241,201,126,183200,205,126,24835,195,154,248245,213,205,137248,125,214,48254,10,56,2214,7,87,205137,248,125,21448,254,10,562,214,7,95203,34,203,34203,34,203,34178,209,38,0111,241,197,60,77,221,9193,201,72,6988,32,76,7965,68,69,8232,98,121,3270,105,108,105112,112,111,3266,101,114,10397,109,97,11599,111,10,130,10,13,7378,86,32,8489,80,0,1013,66,65,6832,67,72,750,10,13,7975,0,0,0print usr(0)--------------------- 8< [CUT HERE] ----------------3) You should see:HEX LOADER by Filippo Bergamasco4) Paste your hex file, for example:--------------------- 8< [CUT HERE] ----------------:10800000F321FFFFF9C33E80F5DB80CB4F28FAF167:10801000D381C9F5DB80CB4728FADB8126006FF1DD:10802000C97DCD0880C92E00DB80CB47C82E01C991:10803000C54DED4068C1C9C54C45ED41C1C9ED73A1:108040002182212382018C001E00CDF58021258212:10805000018000CD6380CD2581C3D480E5E1ED7B37:108060002182C95D54E5C50E01CD0681DA858021E6:10807000060019EBC109AF2B772B77EB7323722323:10808000CDCA80E1C9E1E1CD8D8023C9E12E09C3CC:108090009780E1E1E12EFF2600222382C3A280E146:1080A000E1E121FFFF37C9E1E1E1E121000037C94A:1080B000E1C97723772377237723772377237723E0:1080C00077237723772377237723772377237723E0:1080D0007723C9E911A7821AB7CA5C80E56F260029:1080E000291947562B5E2BC5E5EBCDD380E1C11096:1080F000F2E1C35C8078B17B5D54C877130B78B133:10810000C8E5EDB0E1C979E6F8201579E607281051:10811000AFCDC6802B2B2B36FE2B2B71210000C937:1081200021010037C9210A0022AD8221F881CD3515:1081300081C32B81C97EB7C8CF23C335813E00B42C:10814000B528273E000118FCCD5B81019CFFCD5B6B:10815000810EF6CD5B8148C365813C0938FCED4258:10816000B7C8C36A810938F2ED42C630CF3E00C9B4:108170007CCD7F817CCD83817DCD7F817D18041F67:108180001F1F1FF6F027C6A0CE40CFC9CDE8812122:108190000482CD3581C9CDE88121FF81CD3581C9EA:1081A000CDE881210982CD3581C9E5CDE881210C59:1081B00082CD3581E1CD3D813E6DCFC9E5CDE881F0:1081C000211282CD3581E1CD3D813E6DCFC9CDE813:1081D00081D1C1E1D5C5CD3D813E3BCFE1CD3D81D2:1081E0003E48CFE1E5E5E5C93E1BCF3E5BCFC9097F:1081F000454E4F4C434B000048454C4C4F21003FEF:1082000032356C003F32356800324A0033383B3536:108210003B0034383B353B0000258200001B8201C7:00000001FF--------------------- 8< [CUT HERE] ----------------5) Once loaded you should see a lot of "HELLO" on the screen. That is actuallythe program that you've just lodedAnd now the bad news:It's hard for me to load a relatively long hex file because sometime I miss some bytes. In general the UART communication is very unreliable. Sometimes I get wrong characters, sometimes I completely miss some of them. We already mentioned this problem in a previous discussion. If you use RC2014 with the keyboard is not a problem but when you want to transfer some data it is quite annoying.Apparently, the problem is still there even if I add a delay (even a big delay!) between the characters. Sounds like the ACIA chip is not working properly to me.... Any suggestion?Filippo
--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+unsubscribe@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/f69fc620-eb05-4d25-afee-9533896fc6ad%40googlegroups.com.