[QUOTE = Олег Николаевич Шер ; 711942 ]
Но моя предпочтение кодирования в Oberon , и не только для Spectrum. И я не вижу никаких проблем для подключения z88dk чтобы ZXDev как генератор фоновых кода. И использовать все эти прекрасные библиотеки с ZXDev сейчас . [/ QUOTE]

Я также не заинтересованы в только Spectrum То, что мы делаем, не слишком отличается , кроме вы смотрите на более широком кросс-платформенной совместимости в то время как мы смотрим на z80 кросс-платформенной совместимости . Весь код z88dk , или столько, сколько мы можем, носит общий характер и библиотеки , которые должны быть специализированные написаны на работу , как на многих платформах , как это возможно , используя тот же интерфейс . Так, например ,1-битовый библиотека звук проигрывает музыкальные и звуковые эффекты на 20 + различных Z80 машин . Графическая библиотека также рисует графику на 20 + различных Z80 машин . Спрайт двигателя меньше повезло , только работая на трех разных машинах. Поиск хорошего API, которые могут применяться на разных платформах не легко, и есть много мелких деталей , чтобы волноваться о . Например, 1 -битная звуковая поколения зависит от скорости процессора - так как вы генерировать те же ноты из того же кода ? Точно так же существуют различия в пиксельных и цветового разрешения с платформы на платформу так , пишущие хороший кросс-платформенный графическую библиотеку не так просто.

Нам повезло в том, что все z80 машины примерно одинаковы с точки зрения вычислительной мощности и разрешение. Ваша задача сложнее, как диапазон, в способности крайности. Вы столкнулись с либо при создании тусклым наименьший общий знаменатель API или принятие на гораздо более трудную задачу проектирования API , который унижает разумно менее способных целей.

Я читал некоторые из ваших сообщений на вашем форуме и главное, что я хотел обратить ваше внимание на том, что мы написали часть кода z80 , которого вы ищете , и мы на самом деле движется в том же направлении в течение нескольких вещей . Например, у меня есть идея для реализации z80 сборщик мусора , что я буду преследовать после следующего релиза z88dk и у меня есть идеи о том, как написать лучшую графическую библиотеку, которая включает в себя графический конвейер для масштабирования ( разные разрешения ) и вырезку , в то же время что позволяет для различных цветовых решений задач . Я заинтересован в коде обмена , API и подходов к Z80 целей так вот почему я отправляю , чтобы убедиться, что все знают друг о друге

Что касается SDCC , мы проводим тестирование компиляцию с SDCC сейчас . Я могу генерировать SDCC программы, используя z88dk библиотеки , но есть еще проблемы, которые работают вне. SDCC может утверждать основной C LIB в z88dk , но бывает ли , что не гарантируется. SDCC должен беспокоиться о более чем цель z80 и включения переменного Lib , что значительно больше, и отличается от любого другого процессора может быть не то, что они хотят сделать . В любом случае , наверняка, нестандартные вещи, как графика, звук , спрайты не представляет интереса для SDCC . z88dk всегда будет домом для этого, и целью является , чтобы позволить аналоговый или цифровой компиляции с использованием двух различных компиляторов - SDCC и sccz80 .

======


Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
But my preference is coding in Oberon, and not only for Spectrum. And I do not see any problems to connect z88dk to ZXDev as a back-end code generator. And use all this perfect libraries with ZXDev now.
I am also not interested in only the Spectrum What we're doing is not too dissimilar other than you are looking at a broader cross-platform compatibility whereas we are looking at z80 cross-platform compatibility. All the z88dk code, or as much as we can, is generic and the libraries that must be specialized are written to work on as many platforms as possible using the same interface. So, for example, the 1-bit sound library plays music and sound effects on 20+ different z80 machines. The graphics library also draws graphics on 20+ different z80 machines. The sprite engine is less fortunate, only working on three different machines. Finding good APIs that can apply across platforms is not easy and there are many small details to worry about. For example, the 1-bit sound generation is affected by cpu speed -- so how do you generate the same notes from the same code? Likewise there are differences in pixel and colour resolution from platform to platform so writing a good cross platform graphics library is not easy.

We're fortunate in that all the z80 machines are approximately the same in terms of computing power and resolution. Your task is harder as the range in capability is extreme. You're faced with either creating a lacklustre least common denominator API or taking on a much more difficult task of designing an API that degrades sensibly for less capable targets.

I've read some of your posts on your forum and the main thing I wanted to bring to your attention is we've written some of the z80 code you are looking for and we are in fact heading in the same direction for several things. For example, I have an idea for implementing a z80 garbage collector that I will pursue after the next z88dk release and I have ideas on how to write a better graphics library that includes a graphics pipeline for scaling (different resolutions) and clipping, while still allowing for different colour resolutions of targets. I'm interested in sharing code, apis and approaches for z80 targets so that's why I post, to make sure everyone is aware of each other

With regard to sdcc, we are testing compilation with sdcc now. I can generate sdcc programs using z88dk libraries but there are still problems to work out. sdcc may adopt the core c lib from z88dk, but whether that happens is not guaranteed. sdcc has to worry about more than the z80 target and incorporating a c lib that is much larger and dissimilar from every other processor might not be what they want to do. In any case, for sure, the non-standard things like graphics, sound, sprites are of no interest to sdcc. z88dk will always be the home for that and the intent is to allow seemless compilation using two different compilers -- sdcc and sccz80.