From 443b74c15de8cea63ca89aa89bbb6d60407dc5d0 Mon Sep 17 00:00:00 2001 From: Anatoliy Belyanskiy Date: Wed, 21 Jun 2023 21:50:33 +1000 Subject: [PATCH] refactoring --- constants/SP2000.inc | 2 +- constants/zx_char_codes.inc | 203 ++++++++++++++++++++++++++++++++++++ 2 files changed, 204 insertions(+), 1 deletion(-) create mode 100644 constants/zx_char_codes.inc diff --git a/constants/SP2000.inc b/constants/SP2000.inc index 95a5501..92d9445 100644 --- a/constants/SP2000.inc +++ b/constants/SP2000.inc @@ -958,7 +958,7 @@ FL_N_7 EQU #5CE4 FL_TYPE EQU #5CE5 FL_START EQU #5CE6 FL_LEN EQU #5CE8 -START_CLASTER EQU .FL_LEN +START_CLASTER EQU ZX_VARS.FL_LEN FL_SIZE EQU #5CEA FL_PLACE EQU #5CEB VAR_2 EQU #5CED diff --git a/constants/zx_char_codes.inc b/constants/zx_char_codes.inc new file mode 100644 index 0000000..4d8c5c7 --- /dev/null +++ b/constants/zx_char_codes.inc @@ -0,0 +1,203 @@ +; ZX Spectrum char codes +; By Marcos Cruz (programandala.net) + +; --------------------------------------------------------------------- +; Characters (new format) +ZX_Char: +; Not used equ 0x00 +; Not used equ 0x01 +; Not used equ 0x02 +; Not used equ 0x03 +; Not used equ 0x04 +; Not used equ 0x05 +.caps equ 0x06 ; toggle caps lock +.print_comma equ 0x06 ; (when printed) +.edit equ 0x07 ; edit +.esc equ 0x07 ; escape +.cursor_left equ 0x08 +.backspace equ 0x08 +.right equ 0x09 ; cursor right +.cursor_down equ 0x0A +.cursor_up equ 0x0B +.delete_left equ 0x0C ; delete (backspace) +.form_feed equ 0x0C ; used for printing +.carriage_return equ 0x0D ; enter key +.extended_mode equ 0x0E ; +.number equ 0x0E ; +.graphics equ 0x0F ; toggle graphics mode +.ink equ 0x10 +.paper equ 0x11 +.flash equ 0x12 +.bright equ 0x13 +.inverse equ 0x14 +.over equ 0x15 +.at equ 0x16 +.tab equ 0x17 ; tab (screen only) +; Not used equ 0x18 +; Not used equ 0x19 +; Not used equ 0x1A +; Not used equ 0x1B +; Not used equ 0x1C +; Not used equ 0x1D +; Not used equ 0x1E +; Not used equ 0x1F +.space equ 0x20 + +; Standart symbols +; #21 ! #22 " #23 # #24 $ #25 % #26 & #27 , #28 ( +; #29 ) #2A * #2B + #2C , #2D - #2F . #2F / #30 0 +; #31 1 #32 2 #33 3 #34 4 #35 5 #36 6 #37 7 #38 8 +; #39 9 #3A : #3B ; #3C < #3D = #3E > #3F ? #40 @ +; #41 A #42 B #43 C #44 D #45 E #46 F #47 G #48 H +; #49 I #4A J #4B K #4C L #4D M #4E N #4F O #50 P +; #51 Q #52 R #53 S #54 T #55 U #56 V #57 W #58 X +; #59 Y #5A Z #5B [ #5C / #5D ] #5E ^ #5F _ #60 ? +; #61 a #62 b #63 c #64 d #65 e #66 f #67 g #68 h +; #69 i #6A j #6B k #6C l #6D m #6E n #6F o #70 p +; #71 q #72 r #73 s #74 t #75 u #76 v #77 w #78 x +; #79 y #7A z #7B { #7C | #7D } #7E ~ +.copyright equ 0x7F ; copyright sign + +; --------------------------------------------------------------------- +; User Defined Graphics +; 0 1 2 3 4 5 6 7 +;| | | #| |# | |# #| | | | #| |# | |# #| +;| | | | | | | | | #| | #| | #| | #| +; 8 9 A B C D E F +;| | | #| |# | |# #| | | | #| |# | |# #| +;|# | |# | |# | |# | |# #| |# #| |# #| |# #| +ZX_UDG: +.block_0 equ 0x80 +.block_1 equ 0x81 +.block_2 equ 0x82 +.block_3 equ 0x83 +.block_4 equ 0x84 +.block_5 equ 0x85 +.block_6 equ 0x86 +.block_7 equ 0x87 +.block_8 equ 0x88 +.block_9 equ 0x89 +.block_A equ 0x8A +.block_B equ 0x8B +.block_C equ 0x8C +.block_D equ 0x8D +.block_E equ 0x8E +.block_F equ 0x8F +.a equ 0x90 +.b equ 0x91 +.c equ 0x92 +.d equ 0x93 +.e equ 0x94 +.f equ 0x95 +.g equ 0x96 +.h equ 0x97 +.i equ 0x98 +.j equ 0x99 +.k equ 0x9A +.l equ 0x9B +.m equ 0x9C +.n equ 0x9D +.o equ 0x9E +.p equ 0x9F +.q equ 0xA0 +.r equ 0xA1 +.s equ 0xA2 +.t equ 0xA3 ; token SPECTRUM in 128 basic +.u equ 0xA4 ; token PLAY in 128 basic +; --------------------------------------------------------------------- +; Tokens +ZX_Token +.spectrum equ 0xA3 ; UDG T in 48 basic +.play equ 0xA4 ; UDG U in 48 basic +.rnd equ 0xA5 +.inkey_dollar equ 0xA6 +.pi equ 0xA7 +.fn equ 0xA8 +.point equ 0xA9 +.screen_dollar equ 0xAA +.attr equ 0xAB +.at equ 0xAC +.tab equ 0xAD +.val_dollar equ 0xAE +.code equ 0xAF +.val equ 0xB0 +.len equ 0xB1 +.sin equ 0xB2 +.cos equ 0xB3 +.tan equ 0xB4 +.asn equ 0xB5 +.acs equ 0xB6 +.atn equ 0xB7 +.ln equ 0xB8 +.exp equ 0xB9 +.int equ 0xBA +.sqr equ 0xBB +.sgn equ 0xBC +.abs equ 0xBD +.peek equ 0xBE +.in equ 0xBF +.usr equ 0xC0 +.str_dollar equ 0xC1 +.chr_dollar equ 0xC2 +.not equ 0xC3 +.bin equ 0xC4 +.or equ 0xC5 +.and equ 0xC6 +.less_or_equal equ 0xC7 +.greater_or_equal equ 0xC8 +.not_equal equ 0xC9 +.line equ 0xCA +.then equ 0xCB +.to equ 0xCC +.step equ 0xCD +.def_fn equ 0xCE +.cat equ 0xCF +.format equ 0xD0 +.move equ 0xD1 +.erase equ 0xD2 +.open_channel equ 0xD3 +.close_channel equ 0xD4 +.merge equ 0xD5 +.verify equ 0xD6 +.beep equ 0xD7 +.circle equ 0xD8 +.ink equ 0xD9 +.paper equ 0xDA +.flash equ 0xDB +.bright equ 0xDC +.inverse equ 0xDD +.over equ 0xDE +.out equ 0xDF +.lprint equ 0xE0 +.llist equ 0xE1 +.stop equ 0xE2 +.read equ 0xE3 +.data equ 0xE4 +.restore equ 0xE5 +.new equ 0xE6 +.border equ 0xE7 +.continue equ 0xE8 +.dim equ 0xE9 +.rem equ 0xEA +.for equ 0xEB +.go_to equ 0xEC +.go_sub equ 0xED +.input equ 0xEE +.load equ 0xEF +.list equ 0xF0 +.let equ 0xF1 +.pause equ 0xF2 +.next equ 0xF3 +.poke equ 0xF4 +.print equ 0xF5 +.plot equ 0xF6 +.run equ 0xF7 +.save equ 0xF8 +.randomize equ 0xF9 +.if equ 0xFA +.cls equ 0xFB +.draw equ 0xFC +.clear equ 0xFD +.return equ 0xFE +.copy equ 0xFF +; --------------------------------------------------------------------- \ No newline at end of file