Она позади тебя - страница 6
Я правильно подобрал сетку, работая с теми пикселями, которые нужно было устанавливать, чтобы сделать это похожим на мяч и вызывал подпрограмму PLOT из ПЗУ 64 раза через несколько простых циклов в машинном коде. Тогда это был лимит моих знаний. Вся тяжелая работа была выполнена без Ассемблера, благодаря числам, сохраненным в память командой POKE и разбирательством, как все это в целом работает. После нескольких неудач я все-таки получил свой мячик 8*8, появляющийся в любом нужном мне месте экрана. Вызывая 64 раза процедуру из ПЗУ даже из цикла в машинных кодах приводило к относительно медленной работе, поэтому я приобрел копию книги "The Complete Spectrum ROM Disassembly", чтобы посмотреть, что именно я вызывал и простой Ассемблер, работающий с кассетой, чтобы облегчить себе жизнь при кодировании, и бит за битом изучил оптимизацию кода, написанного мной. Как только я понял, я смог заменить восемь обращений к подпрограмме в ПЗУ простой командой LD (HL), n, я знал, что нахожусь на правильном пути!
Пока все это происходило, я купил копию Gilsoft's Quill Adventure System с помыслами написать адвентюрную игру, которую я бы смог продать, вероятно, как и у всех остальных, купивших такую же копию. У меня было несколько идей для игр, но решив испытать и изучить эту систему целиком, я взялся за версию старой классической Colossal Adventure от Crowther and Woods. У меня был листинг Colossal Adventure на Basic'е, который был напечатан в американском компьютерном журнале, так что описание комнат, объектов, сообщений, логика и команды были у меня перед носом и все, что мне нужно было сделать, это перенести все на Quill, что уже было намного проще.
Quill был отличной программой, но чем больше я его использовал, тем больше осознавал его ограничения, особенно в отношении Colossal Adventure с ее длинными описаниями локаций и вещей, постоянной нуждой вывода текста снова и снова, тогда как он уходил за экран. Ели бы The Quill имел бы такую возможность, как сжатие текста, раздельный скроллинг на экране и большую экранную область, вместить Colossal Adventure до заполнения лимита ОЗУ не было бы проблемой. Но он таких возможностей не имел, так что тут была только одна альтернатива — сделать все это самому.
Именно здесь я реально изучил программирование на Z80, посвящая этому недели и внимательно проходя через The Quill с помощью Romantic Robot Multiface 1 и дизассеблер, делая заметки, где я обдумывал обращение к различным подпрограммам и пытался перенаправить в мои блоки кода. Изнутри The Quill был очень аккуратным куском кода, что делало отслеживание подпрограммы очень легким и также это был очень безопасный кусок кода, обращение к подпрограммам обрабатывалось чисто, почти без затирания значений регистров, что позволило вклинить мои собственные подпрограммы довольно просто. Что действительно удивило меня, это как быстро я нашел способ делать такие вещи как: систему компрессии и декомпрессии текста, подпрограмму вывода строки в 42 символа (6 точек на пиксель), и благодаря этому я однажды осознал, что я наконец хочу сделать и как это сделать, используя код ассемблера Z80, и подставив его, что казалось самым простым способом.
В итоге я получил единый блок кода, в который я добавил около сорока команд для The Quill: внедрил сжатие текста и печать на экране в 42 символа, авто форматирование текста, сохранение и загрузку ОЗУ, звуковые подпрограммы, а базу для системы игровой графики я надеялся добавить позже. Еще я дал имя программе: The Enhancer.
The Enhancer был первой мною написанной вещью, на которой я думал есть шанс сделать деньги и кто больше понимал на рынке программ, так это Gilsoft, так я и решил нанести им визит, остановившись на варианте поговорить на старом PCW Computer Shows, думая, что как только они увидят мою игру, они сразу решат, что́ с ней можно сделать, и, возможно, ухватятся за меня! Я наконец поговорил с одним из них, но компания не проявила к этому особого энтузиазма, возможно потому, что они уже выпустили свое дополнение, называющееся The Patch, которое дал The Quill раздельный скроллинг, сохранение памяти, звуковые подпрограммы и некоторые манипуляции с флагами, и также потому, что они запускали еще одно дополнение The Press, которое позволяло сжимать ваше текстовое приключение вдобавок к дополнительным функциям из The Patch.