Rev 539 | Blame | Compare with Previous | Last modification | View Log | Download
# file opened: savetap_test.asm1 0000 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2 0000 ;; Test source for EMPTYTAP / SAVETAP ;;3 0000 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4 00005 0000 device zxspectrum486 00007 0000 ; BASIC block8 0000 module bas9 0000 00 0A line10: db 0, 1010 0002 18 00 dw .len11 0004 .cmds ; BORDER NOT PI:12 0004 E7 C3 A7 3A db #E7, #C3, #A7, ':'13 0008 ; PAPER NOT PI:14 0008 DA C3 A7 3A db #DA, #C3, #A7, ':'15 000C ; INK VAL "7":16 000C D9 B0 22 37 db #D9, #B0, '"7":'16 0010 22 3A17 0012 ; CLEAR VAL "32763" : REM demo-1 address18 0012 FD B0 22 33 db #FD, #B0, '"32763"', #0D18 0016 32 37 36 3318 001A 22 0D19 001C .len = $ - .cmds20 001C21 001C 00 14 line20: db 0, 2022 001E 19 00 dw .len23 0020 .cmds ; POKE VAL "23739",CODE "o":24 0020 F4 B0 22 32 db #F4, #B0, '"23739",', #AF, '"o":'24 0024 33 37 33 3924 0028 22 2C AF 2224 002C 6F 22 3A25 002F ; LOAD ""SCREEN#: LOAD ""CODE26 002F EF 22 22 AA db #EF, '""', #AA, ':', #EF, '""', #AF, #0D26 0033 3A EF 22 2226 0037 AF 0D27 0039 .len = $ - .cmds28 003929 0039 00 1E line30: db 0, 3030 003B 0B 00 dw .len31 003D .cmds ; RANDOMIZE USR VAL "32764" : REM demo address32 003D F9 C0 B0 22 db #F9, #C0, #B0, '"32764"', #0D32 0041 33 32 37 3632 0045 34 22 0D33 0048 .len = $ - .cmds34 004835 0048 total = $ - line1036 0048 endmodule37 004838 004839 0048 ; NUMS block40 0048 01 nums db 141 0049 05 00 dw .datalen42 004B 82 49 0F DA .data db #82,#49,#0F,#DA,#A2 ;; Value 3.141592742 004F A243 0050 .datalen = $ - .data44 0050 .savelen = $ - nums45 005046 0050 ; CHARS block47 0050 01 chars db 148 0051 1F 00 dw .datalen49 0053 53 41 56 45 .data db "SAVETAP testing character array"49 0057 54 41 50 2049 005B 74 65 73 7449 005F 69 6E 67 2049 0063 63 68 61 7249 0067 61 63 74 6549 006B 72 20 61 7249 006F 72 61 7950 0072 .datalen = $ - .data51 0072 .savelen = $ - chars52 007253 007254 0072 ; SCREEN$ block55 0072 org #400056 4000 screen:57 4000 dup 1258 4000 AA AA AA... > block 256,#AA59 4100 55 55 55... > block 256,#5558 4200 AA AA AA... > block 256,#AA59 4300 55 55 55... > block 256,#5558 4400 AA AA AA... > block 256,#AA59 4500 55 55 55... > block 256,#5558 4600 AA AA AA... > block 256,#AA59 4700 55 55 55... > block 256,#5558 4800 AA AA AA... > block 256,#AA59 4900 55 55 55... > block 256,#5558 4A00 AA AA AA... > block 256,#AA59 4B00 55 55 55... > block 256,#5558 4C00 AA AA AA... > block 256,#AA59 4D00 55 55 55... > block 256,#5558 4E00 AA AA AA... > block 256,#AA59 4F00 55 55 55... > block 256,#5558 5000 AA AA AA... > block 256,#AA59 5100 55 55 55... > block 256,#5558 5200 AA AA AA... > block 256,#AA59 5300 55 55 55... > block 256,#5558 5400 AA AA AA... > block 256,#AA59 5500 55 55 55... > block 256,#5558 5600 AA AA AA... > block 256,#AA59 5700 55 55 55... > block 256,#5560 5800 edup61 5800 dup 2462 5800 07 06 06 16 > db #07, #06, #06, #16, #05, #05, #0D, #04, #04, #14, #03, #03, #11, #02, #02, #2962 5804 05 05 0D 04 >62 5808 04 14 03 03 >62 580C 11 02 02 29 >63 5810 29 02 02 11 > db #29, #02, #02, #11, #03, #03, #14, #04, #04, #0D, #05, #05, #16, #06, #06, #0763 5814 03 03 14 04 >63 5818 04 0D 05 05 >63 581C 16 06 06 07 >62 5820 07 06 06 16 > db #07, #06, #06, #16, #05, #05, #0D, #04, #04, #14, #03, #03, #11, #02, #02, #2962 5824 05 05 0D 04 >62 5828 04 14 03 03 >62 582C 11 02 02 29 >63 5830 29 02 02 11 > db #29, #02, #02, #11, #03, #03, #14, #04, #04, #0D, #05, #05, #16, #06, #06, #0763 5834 03 03 14 04 >63 5838 04 0D 05 05 >63 583C 16 06 06 07 >62 5840 07 06 06 16 > db #07, #06, #06, #16, #05, #05, #0D, #04, #04, #14, #03, #03, #11, #02, #02, #2962 5844 05 05 0D 04 >62 5848 04 14 03 03 >62 584C 11 02 02 29 >63 5850 29 02 02 11 > db #29, #02, #02, #11, #03, #03, #14, #04, #04, #0D, #05, #05, #16, #06, #06, #0763 5854 03 03 14 04 >63 5858 04 0D 05 05 >63 585C 16 06 06 07 >62 5860 07 06 06 16 > db #07, #06, #06, #16, #05, #05, #0D, #04, #04, #14, #03, #03, #11, #02, #02, #2962 5864 05 05 0D 04 >62 5868 04 14 03 03 >62 586C 11 02 02 29 >63 5870 29 02 02 11 > db #29, #02, #02, #11, #03, #03, #14, #04, #04, #0D, #05, #05, #16, #06, #06, #0763 5874 03 03 14 04 >63 5878 04 0D 05 05 >63 587C 16 06 06 07 >62 5880 07 06 06 16 > db #07, #06, #06, #16, #05, #05, #0D, #04, #04, #14, #03, #03, #11, #02, #02, #2962 5884 05 05 0D 04 >62 5888 04 14 03 03 >62 588C 11 02 02 29 >63 5890 29 02 02 11 > db #29, #02, #02, #11, #03, #03, #14, #04, #04, #0D, #05, #05, #16, #06, #06, #0763 5894 03 03 14 04 >63 5898 04 0D 05 05 >63 589C 16 06 06 07 >62 58A0 07 06 06 16 > db #07, #06, #06, #16, #05, #05, #0D, #04, #04, #14, #03, #03, #11, #02, #02, #2962 58A4 05 05 0D 04 >62 58A8 04 14 03 03 >62 58AC 11 02 02 29 >63 58B0 29 02 02 11 > db #29, #02, #02, #11, #03, #03, #14, #04, #04, #0D, #05, #05, #16, #06, #06, #0763 58B4 03 03 14 04 >63 58B8 04 0D 05 05 >63 58BC 16 06 06 07 >62 58C0 07 06 06 16 > db #07, #06, #06, #16, #05, #05, #0D, #04, #04, #14, #03, #03, #11, #02, #02, #2962 58C4 05 05 0D 04 >62 58C8 04 14 03 03 >62 58CC 11 02 02 29 >63 58D0 29 02 02 11 > db #29, #02, #02, #11, #03, #03, #14, #04, #04, #0D, #05, #05, #16, #06, #06, #0763 58D4 03 03 14 04 >63 58D8 04 0D 05 05 >63 58DC 16 06 06 07 >62 58E0 07 06 06 16 > db #07, #06, #06, #16, #05, #05, #0D, #04, #04, #14, #03, #03, #11, #02, #02, #2962 58E4 05 05 0D 04 >62 58E8 04 14 03 03 >62 58EC 11 02 02 29 >63 58F0 29 02 02 11 > db #29, #02, #02, #11, #03, #03, #14, #04, #04, #0D, #05, #05, #16, #06, #06, #0763 58F4 03 03 14 04 >63 58F8 04 0D 05 05 >63 58FC 16 06 06 07 >62 5900 07 06 06 16 > db #07, #06, #06, #16, #05, #05, #0D, #04, #04, #14, #03, #03, #11, #02, #02, #2962 5904 05 05 0D 04 >62 5908 04 14 03 03 >62 590C 11 02 02 29 >63 5910 29 02 02 11 > db #29, #02, #02, #11, #03, #03, #14, #04, #04, #0D, #05, #05, #16, #06, #06, #0763 5914 03 03 14 04 >63 5918 04 0D 05 05 >63 591C 16 06 06 07 >62 5920 07 06 06 16 > db #07, #06, #06, #16, #05, #05, #0D, #04, #04, #14, #03, #03, #11, #02, #02, #2962 5924 05 05 0D 04 >62 5928 04 14 03 03 >62 592C 11 02 02 29 >63 5930 29 02 02 11 > db #29, #02, #02, #11, #03, #03, #14, #04, #04, #0D, #05, #05, #16, #06, #06, #0763 5934 03 03 14 04 >63 5938 04 0D 05 05 >63 593C 16 06 06 07 >62 5940 07 06 06 16 > db #07, #06, #06, #16, #05, #05, #0D, #04, #04, #14, #03, #03, #11, #02, #02, #2962 5944 05 05 0D 04 >62 5948 04 14 03 03 >62 594C 11 02 02 29 >63 5950 29 02 02 11 > db #29, #02, #02, #11, #03, #03, #14, #04, #04, #0D, #05, #05, #16, #06, #06, #0763 5954 03 03 14 04 >63 5958 04 0D 05 05 >63 595C 16 06 06 07 >62 5960 07 06 06 16 > db #07, #06, #06, #16, #05, #05, #0D, #04, #04, #14, #03, #03, #11, #02, #02, #2962 5964 05 05 0D 04 >62 5968 04 14 03 03 >62 596C 11 02 02 29 >63 5970 29 02 02 11 > db #29, #02, #02, #11, #03, #03, #14, #04, #04, #0D, #05, #05, #16, #06, #06, #0763 5974 03 03 14 04 >63 5978 04 0D 05 05 >63 597C 16 06 06 07 >62 5980 07 06 06 16 > db #07, #06, #06, #16, #05, #05, #0D, #04, #04, #14, #03, #03, #11, #02, #02, #2962 5984 05 05 0D 04 >62 5988 04 14 03 03 >62 598C 11 02 02 29 >63 5990 29 02 02 11 > db #29, #02, #02, #11, #03, #03, #14, #04, #04, #0D, #05, #05, #16, #06, #06, #0763 5994 03 03 14 04 >63 5998 04 0D 05 05 >63 599C 16 06 06 07 >62 59A0 07 06 06 16 > db #07, #06, #06, #16, #05, #05, #0D, #04, #04, #14, #03, #03, #11, #02, #02, #2962 59A4 05 05 0D 04 >62 59A8 04 14 03 03 >62 59AC 11 02 02 29 >63 59B0 29 02 02 11 > db #29, #02, #02, #11, #03, #03, #14, #04, #04, #0D, #05, #05, #16, #06, #06, #0763 59B4 03 03 14 04 >63 59B8 04 0D 05 05 >63 59BC 16 06 06 07 >62 59C0 07 06 06 16 > db #07, #06, #06, #16, #05, #05, #0D, #04, #04, #14, #03, #03, #11, #02, #02, #2962 59C4 05 05 0D 04 >62 59C8 04 14 03 03 >62 59CC 11 02 02 29 >63 59D0 29 02 02 11 > db #29, #02, #02, #11, #03, #03, #14, #04, #04, #0D, #05, #05, #16, #06, #06, #0763 59D4 03 03 14 04 >63 59D8 04 0D 05 05 >63 59DC 16 06 06 07 >62 59E0 07 06 06 16 > db #07, #06, #06, #16, #05, #05, #0D, #04, #04, #14, #03, #03, #11, #02, #02, #2962 59E4 05 05 0D 04 >62 59E8 04 14 03 03 >62 59EC 11 02 02 29 >63 59F0 29 02 02 11 > db #29, #02, #02, #11, #03, #03, #14, #04, #04, #0D, #05, #05, #16, #06, #06, #0763 59F4 03 03 14 04 >63 59F8 04 0D 05 05 >63 59FC 16 06 06 07 >62 5A00 07 06 06 16 > db #07, #06, #06, #16, #05, #05, #0D, #04, #04, #14, #03, #03, #11, #02, #02, #2962 5A04 05 05 0D 04 >62 5A08 04 14 03 03 >62 5A0C 11 02 02 29 >63 5A10 29 02 02 11 > db #29, #02, #02, #11, #03, #03, #14, #04, #04, #0D, #05, #05, #16, #06, #06, #0763 5A14 03 03 14 04 >63 5A18 04 0D 05 05 >63 5A1C 16 06 06 07 >62 5A20 07 06 06 16 > db #07, #06, #06, #16, #05, #05, #0D, #04, #04, #14, #03, #03, #11, #02, #02, #2962 5A24 05 05 0D 04 >62 5A28 04 14 03 03 >62 5A2C 11 02 02 29 >63 5A30 29 02 02 11 > db #29, #02, #02, #11, #03, #03, #14, #04, #04, #0D, #05, #05, #16, #06, #06, #0763 5A34 03 03 14 04 >63 5A38 04 0D 05 05 >63 5A3C 16 06 06 07 >62 5A40 07 06 06 16 > db #07, #06, #06, #16, #05, #05, #0D, #04, #04, #14, #03, #03, #11, #02, #02, #2962 5A44 05 05 0D 04 >62 5A48 04 14 03 03 >62 5A4C 11 02 02 29 >63 5A50 29 02 02 11 > db #29, #02, #02, #11, #03, #03, #14, #04, #04, #0D, #05, #05, #16, #06, #06, #0763 5A54 03 03 14 04 >63 5A58 04 0D 05 05 >63 5A5C 16 06 06 07 >62 5A60 07 06 06 16 > db #07, #06, #06, #16, #05, #05, #0D, #04, #04, #14, #03, #03, #11, #02, #02, #2962 5A64 05 05 0D 04 >62 5A68 04 14 03 03 >62 5A6C 11 02 02 29 >63 5A70 29 02 02 11 > db #29, #02, #02, #11, #03, #03, #14, #04, #04, #0D, #05, #05, #16, #06, #06, #0763 5A74 03 03 14 04 >63 5A78 04 0D 05 05 >63 5A7C 16 06 06 07 >62 5A80 07 06 06 16 > db #07, #06, #06, #16, #05, #05, #0D, #04, #04, #14, #03, #03, #11, #02, #02, #2962 5A84 05 05 0D 04 >62 5A88 04 14 03 03 >62 5A8C 11 02 02 29 >63 5A90 29 02 02 11 > db #29, #02, #02, #11, #03, #03, #14, #04, #04, #0D, #05, #05, #16, #06, #06, #0763 5A94 03 03 14 04 >63 5A98 04 0D 05 05 >63 5A9C 16 06 06 07 >62 5AA0 07 06 06 16 > db #07, #06, #06, #16, #05, #05, #0D, #04, #04, #14, #03, #03, #11, #02, #02, #2962 5AA4 05 05 0D 04 >62 5AA8 04 14 03 03 >62 5AAC 11 02 02 29 >63 5AB0 29 02 02 11 > db #29, #02, #02, #11, #03, #03, #14, #04, #04, #0D, #05, #05, #16, #06, #06, #0763 5AB4 03 03 14 04 >63 5AB8 04 0D 05 05 >63 5ABC 16 06 06 07 >62 5AC0 07 06 06 16 > db #07, #06, #06, #16, #05, #05, #0D, #04, #04, #14, #03, #03, #11, #02, #02, #2962 5AC4 05 05 0D 04 >62 5AC8 04 14 03 03 >62 5ACC 11 02 02 29 >63 5AD0 29 02 02 11 > db #29, #02, #02, #11, #03, #03, #14, #04, #04, #0D, #05, #05, #16, #06, #06, #0763 5AD4 03 03 14 04 >63 5AD8 04 0D 05 05 >63 5ADC 16 06 06 07 >62 5AE0 07 06 06 16 > db #07, #06, #06, #16, #05, #05, #0D, #04, #04, #14, #03, #03, #11, #02, #02, #2962 5AE4 05 05 0D 04 >62 5AE8 04 14 03 03 >62 5AEC 11 02 02 29 >63 5AF0 29 02 02 11 > db #29, #02, #02, #11, #03, #03, #14, #04, #04, #0D, #05, #05, #16, #06, #06, #0763 5AF4 03 03 14 04 >63 5AF8 04 0D 05 05 >63 5AFC 16 06 06 07 >64 5B00 edup65 5B00 .len = $ - screen66 5B0067 5B0068 5B00 ; CODE block69 5B00 org #7FFC ; to cross the slot-boundary70 7FFC71 7FFC FB demo: ei72 7FFD 76 halt73 7FFE 10 FC djnz demo74 8000 FB .loop ei75 8001 76 halt76 8002 21 01 58 ld hl,#580177 8005 11 00 58 ld de,#580078 8008 01 00 03 ld bc,#30079 800B 1A ld a,(de)80 800C 32 00 5B ld (#5B00),a81 800F ED B0 ldir82 8011 CD 2D 80 call .rnd83 8014 4F ld c,a84 8015 E6 0C and #0C85 8017 D6 0B sub #0B86 8019 30 02 jr nc,.not1287 801B 3E 02 ld a,288 801D 57 .not12 ld d,a89 801E CD 2D 80 call .rnd90 8021 5F ld e,a91 8022 21 00 58 ld hl,#580092 8025 19 add hl,de93 8026 79 ld a,c94 8027 E6 7F and #7F95 8029 AE xor (hl)96 802A 77 ld (hl),a97 802B 18 D3 jr .loop98 802D99 802D 3E 29 .rnd ld a,#29100 802F 47 ld b,a101 8030 0F rrca102 8031 0F rrca103 8032 0F rrca104 8033 EE 1F xor #1F105 8035 80 add a,b106 8036 DE FF sbc a,#FF107 8038 32 2E 80 ld (.rnd+1),a108 803B C9 ret109 803C .len = $ - demo110 803C 58 58 58 58 db "XXXX"111 8040112 8040 ; Clear output tap file113 8040 emptytap "savetap_test.tap"114 8040 ; Store BASIC115 8040 savetap "savetap_test.tap",BASIC,"tstSAVETAP", bas.line10, bas.total, 10116 8040 ; Store SCREEN#117 8040 savetap "savetap_test.tap",CODE,"intro", screen, screen.len118 8040 ; Store CODE119 8040 savetap "savetap_test.tap",CODE,"demo", demo, demo.len120 8040 ; Store NUMBERS121 8040 savetap "savetap_test.tap",NUMBERS,"n", nums, nums.savelen, 'n'122 8040 ; Store CHARS123 8040 savetap "savetap_test.tap",CHARS,"t$", chars, chars.savelen, 't'124 8040 ; Store HEADLESS125 8040 savetap "savetap_test.tap",HEADLESS, (screen + #1800), 32, 66 ; custom flag126 8040127 8040128 8040 ; No autostart (#8000 is used)129 8040 savetap "savetap_test.tap",BASIC,"No start", bas.line10, bas.total130 8040 ; Default letter ('A' is used)131 8040 savetap "savetap_test.tap",NUMBERS,"n", nums, nums.savelen132 8040 ; Address + length > #10000 (block to the end of memory will be saved)133 8040 savetap "savetap_test.tap",HEADLESS, #FFFF, 2134 8040135 8040 ; Extra variants of valid commands to exercise all code paths136 8040 savetap "savetap_test.tap",CODE,"_extra1", demo, 1, 0x8000, 0x1234137 8040138 8040139 8040 ;;;;;;;;;;;;;;;;;140 8040 ;; Error cases ;;141 8040 ;;;;;;;;;;;;;;;;;142 8040savetap_test.asm(143): error: [EMPTYTAP] Syntax error: emptytap ""143 8040 emptytap "" ;; Syntax errorsavetap_test.asm(144): error: [SAVETAP] Syntax error. No parameters: savetap ""144 8040 savetap "" ;; Syntax error. No parameterssavetap_test.asm(145): error: [SAVETAP] Syntax error. No parameters: savetap "error"145 8040 savetap "error" ;; Syntax error. No parameterssavetap_test.asm(146): error: [SAVETAP] Negative values are not allowed: savetap "error",-1146 8040 savetap "error",-1 ;; Negative values are not allowed147 8040savetap_test.asm(148): error: [SAVETAP] Syntax error: savetap "error",HEADLESS,148 8040 savetap "error",HEADLESS, ;; Syntax errorsavetap_test.asm(149): error: [SAVETAP] Syntax error. Missing start address: savetap "error",HEADLESS,,149 8040 savetap "error",HEADLESS,, ;; Missing start addresssavetap_test.asm(150): error: [SAVETAP] Negative values are not allowed: savetap "error",HEADLESS,-1150 8040 savetap "error",HEADLESS,-1 ;; Negative values are not allowedsavetap_test.asm(151): error: [SAVETAP] Negative values are not allowed: savetap "error",HEADLESS,0,-1151 8040 savetap "error",HEADLESS,0,-1 ;; Negative values are not allowedsavetap_test.asm(152): error: [SAVETAP] Values higher than FFFFh are not allowed: savetap "error",HEADLESS,#10000152 8040 savetap "error",HEADLESS,#10000 ;; Values higher than FFFFh are not allowedsavetap_test.asm(153): error: [SAVETAP] Values higher than FFFFh are not allowed: savetap "error",HEADLESS,0,#10000153 8040 savetap "error",HEADLESS,0,#10000 ;; Values higher than FFFFh are not allowedsavetap_test.asm(154): error: [SAVETAP] Syntax error: savetap "error",HEADLESS,0,154 8040 savetap "error",HEADLESS,0, ;; Syntax errorsavetap_test.asm(155): error: [SAVETAP] Syntax error: savetap "error",HEADLESS,0,0,155 8040 savetap "error",HEADLESS,0,0, ;; Syntax errorsavetap_test.asm(156): error: [SAVETAP] Invalid flag byte: savetap "error",HEADLESS,0,0,-1156 8040 savetap "error",HEADLESS,0,0,-1 ;; Invalid flag bytesavetap_test.asm(157): error: [SAVETAP] Invalid flag byte: savetap "error",HEADLESS,0,0,0x100157 8040 savetap "error",HEADLESS,0,0,0x100 ;; Invalid flag byte158 8040savetap_test.asm(159): error: [SAVETAP] Syntax error in tape file name: savetap "error",CODE,159 8040 savetap "error",CODE, ;; Syntax errorsavetap_test.asm(160): error: [SAVETAP] Syntax error. Missing tape block file name: savetap "error",CODE,,160 8040 savetap "error",CODE,, ;; Missing tape block file namesavetap_test.asm(161): error: [SAVETAP] Syntax error. Missing start address: savetap "error",CODE,"Err",161 8040 savetap "error",CODE,"Err", ;; Missing start addresssavetap_test.asm(162): error: [SAVETAP] Syntax error. Missing block length: savetap "error",CODE,"Err",0,162 8040 savetap "error",CODE,"Err",0, ;; Missing block lengthsavetap_test.asm(163): error: [SAVETAP] Negative values are not allowed: savetap "error",CODE,"Err",-1163 8040 savetap "error",CODE,"Err",-1 ;; Negative values are not allowedsavetap_test.asm(164): error: [SAVETAP] Negative values are not allowed: savetap "error",CODE,"Err",0,-1164 8040 savetap "error",CODE,"Err",0,-1 ;; Negative values are not allowedsavetap_test.asm(165): error: [SAVETAP] Negative values are not allowed: savetap "error",CODE,"Err",0,0,-1165 8040 savetap "error",CODE,"Err",0,0,-1 ;; Negative values are not allowedsavetap_test.asm(166): error: [SAVETAP] Negative values are not allowed: savetap "error",CODE,"Err",0,0,0,-1166 8040 savetap "error",CODE,"Err",0,0,0,-1 ;; Negative values are not allowedsavetap_test.asm(167): error: [SAVETAP] Values higher than FFFFh are not allowed: savetap "error",CODE,"Err",#10000167 8040 savetap "error",CODE,"Err",#10000 ;; Values higher than FFFFh are not allowedsavetap_test.asm(168): error: [SAVETAP] Values higher than FFFFh are not allowed: savetap "error",CODE,"Err",0,#10000168 8040 savetap "error",CODE,"Err",0,#10000 ;; Values higher than FFFFh are not allowedsavetap_test.asm(169): error: [SAVETAP] Values more than FFFFh are not allowed: savetap "error",CODE,"Err",0,0,#10000169 8040 savetap "error",CODE,"Err",0,0,#10000 ;; Values higher than FFFFh are not allowedsavetap_test.asm(170): error: [SAVETAP] Values more than FFFFh are not allowed: savetap "error",CODE,"Err",0,0,0,#10000170 8040 savetap "error",CODE,"Err",0,0,0,#10000 ;; Values higher than FFFFh are not allowedsavetap_test.asm(171): error: [SAVETAP] Syntax error: savetap "error",CODE,"Err",0,0,0,171 8040 savetap "error",CODE,"Err",0,0,0, ;; Syntax errorsavetap_test.asm(172): error: [SAVETAP] Syntax error: savetap "error",CODE,"Err",0,0,172 8040 savetap "error",CODE,"Err",0,0, ;; Syntax error173 8040savetap_test.asm(174): error: [SAVETAP] Autostart LINE out of range: 16384174 8040 savetap "error",BASIC,"Err",0,0,#4000 ;; Autostart LINE out of rangesavetap_test.asm(175): error: [SAVETAP] Variable name out of range175 8040 savetap "error",NUMBERS,"Err",0,0,'@' ;; Variable name out of rangesavetap_test.asm(176): error: [SAVETAP] Variable name out of range176 8040 savetap "error",NUMBERS,"Err",0,0,'?' ;; Variable name out of range177 8040savetap_test.asm(178): error: Label not found: HEADLESSsavetap_test.asm(178): error: [SAVETAP] Syntax error: savetap "error",HEADLESS178 8040 savetap "error",HEADLESS ;; Will try to use HEADLESS as label for start of tap-snapshotsavetap_test.asm(179): error: Label not found: HEADLESSsavetap_test.asm(179): error: [SAVETAP] Syntax error: savetap "error",HEADLESS+!179 8040 savetap "error",HEADLESS+! ;; causing to fail in other part of implementationsavetap_test.asm(180): error: [SAVETAP] Syntax error. No parameters: savetap "error",,180 8040 savetap "error",, ;; syntax error, no type parameter181 8040182 8040 device zxspectrumnextsavetap_test.asm(183): error: [SAVETAP snapshot] Device is not of ZX Spectrum type.: ZXSPECTRUMNEXT183 8040 savetap "error",0x1234 ;; SAVETAP snapshot is "ZX Spectrum devices" only184 8040# file closed: savetap_test.asmValue Label------ - -----------------------------------------------------------0x0000 bas.line100x0004 bas.line10.cmds0x0018 bas.line10.len0x001C X bas.line200x0020 bas.line20.cmds0x0019 bas.line20.len0x0039 X bas.line300x003D bas.line30.cmds0x000B bas.line30.len0x0048 X bas.total0x0050 chars0x0053 chars.data0x001F chars.datalen0x0022 X chars.savelen0x7FFC demo0x0040 X demo.len0x8000 demo.loop0x801D demo.not120x802D demo.rnd0x0048 nums0x004B nums.data0x0005 nums.datalen0x0008 X nums.savelen0x4000 screen0x1B00 X screen.len