ATM-Turbo 2/2+/3

Alone_Coder
Mensajes: 30
Registrado: 26 Sep 2020, 09:49

ATM-Turbo 2/2+/3

Mensaje por Alone_Coder » 26 Sep 2020, 10:46

Are there plans to include ATM-Turbo support? There are around 100 demos and around 50 games for it:
Bomb Tetris, Miner, Reversy, Король под горой, Magi Squares, Color Fight, Color Logic, Color Lines, Green Peace, The Hunter, Mine, Gobliiins (100% clone of PC game), Prince of Persia (100% clone of PC game), Страна Мифов (also works on Pentagon 512, Scorpion 256 and Profi), Pang 16C, Time Gal (CD game), Ball Quest, Season of the Sakura, Книга мёртвых: Потерянные души, Three Sisters' Story, XNX, Innsmouth, Project R.O.B.O., Hexagonal Filler, Rubik's Cube simulator, Big L demo, Uwol: Quest for Money, Retro Kombat demo (ATM3), AMC1 colorized, 2048 (Your Game 5), ASCII Invaders (ATM3), Edge Grinder, Zooming Secretary, Space Mercenary demo, Ninjajar! (colorized), Many of Us demo, Space Mercenary: prologue, Rusted Souls demo, Billiard, SpaceMerc: Liberation, SpaceMerc: Overseers (dev. build), Nomad, DinoRun (Chrome Easter Egg),
Battle Toads demo, Конёк-Горбунок, Tetris (NedoOS), Tank (NedoOS), Untangle (NedoOS), Snake (NedoOS), Net Snake (NedoOS), Супер Марио (NedoOS, NES game emulator), Бесконечное лето demo + cardgame (NedoOS), Eric and the Floaters (colorized) (NedoOS), Black Raven (colorized) (NedoOS), Loyd (NedoOS), Wolf 3D demo (NedoOS)

There are two big operating systems still being updated: TASiS and NedoOS (the latter has native Pascal and C compilers, network utilities including a web browser, jpg/gif/png/bmp/zip/tar/gz support etc).

The hardware as compared to a Pentagon 128K needed to run these:
- 4 banking windows (ports #3ff7,#7ff7,#bff7,#fff7 in DOS, bit7=1 means #7ffd control, bit6=0 means ROM, bit5..0=inevrted page number) with separate memory maps for #7ffd bit 4=0 and =1. In ATM3 there are also ports #37f7,#77f7,#b7f7,#f7f7 for 4MB RAM.
- videomode and turbo mode control (port #xx77 in DOS, D2..D0 videomode, D3 turbo, A14=0 enable palette write, A9=0 keep DOS mode, A8=0 all memory=start ROM page)
- videomodes in pages 1,5 or 3,7 (depending on #7ffd bit 3): 320x200 (mode 0), 640x200 (mode2), textmode (mode 6) (A5..A0 of video address are incremented at the same rate as in 6912 mode (mode 3), so for ex. 320x200 consists of 4 layers: 0011223300112233..., layer 0 in page 1(3) +#0000, layer 1 in page 4(7) +#0000, layer 0 in page 1(3) +#2000, layer 1 in page 4(7) +#2000, pixel %RLrrrlll)
- palette 16 out of 64(R2G2B2), palette register controlled by border value (colors 8..15 via port #f6), palette value written via port #xxff in DOS (%grbG11RB, inverted). Or 4096(R4G4B4 DDp's scheme), lower bits of RGB written as A15..A8 of port #xxff (also %grbG11RB, inverted).
- IDE controller (ATM2 IDE ports in DOS: #feef cmd/stat, #fecf head, #feaf cylhi, #fe8f cyllo, #fe6f sec, #fe4f count, #fe2e err, #febe/#feba control, #ff0f/fe0f data) to use TASiS (NedoOS also supports NemoIDE in ATM3 mode)
- Z-Controller (ZX Evo version) SD-card (ports #xx57 (xx<#80) data, #8057 select) to use NedoOS
- 8-bit DAC at port #fb for ~20 more games and a number of demos and utilities

There are separate tests for all the features for ease of hardware realization.

(for more compatibility you can consult Turbo 2+ Hardware Programming Manual, ZX Evo programming manual, ATM3 description in Info Guide #12, or dmitry dot alonecoder at gmail)

Avatar de Usuario
aowen
Mensajes: 178
Registrado: 07 Oct 2015, 13:32

Re: ATM-Turbo 2/2+/3

Mensaje por aowen » 28 Sep 2020, 15:07

I think it could be done. Is there source available for the native Pascal and C compilers you mentioned?

azesmbog
Mensajes: 319
Registrado: 17 Feb 2016, 23:07

Re: ATM-Turbo 2/2+/3

Mensaje por azesmbog » 28 Sep 2020, 15:52

Думаю это невозможно сделать :)
Дмитрий, знаешь пословиЦЦу - хочешь сделать хорошо - сделай сам!
Давно бы приобрел какую-нибудь девборду на ФПГА и сваял бы что-нибудь, это не менее увлекательно ,чем Си и асм :)
Теперь почему это невозможно именно на Уно.
Стандартно памяти ровно 512к, маловато.
ВГ93 тут не реализован от слова совсем. (Замечу, что в МиСТер-е - реализован)
Ну и работа с внешним накопителем - только SD-карта. Как вариант - реализовать Z-контроллер, если этого хватит.
Порты и видеорежимы - думаю наименьшая проблема.
И еще - бОльшинство софта, что ты написал выше - вроде превосходно работает в ts-conf-е, уж ее то на МисТере хорошо сделали.
А так да, стандартные машины 48\128\Пент в Уно реализованы отлично, ну можно в станДартную конфу добавить каких-то портов, но это не решит всех проблем. Я пессимист?

Alone_Coder
Mensajes: 30
Registrado: 26 Sep 2020, 09:49

Re: ATM-Turbo 2/2+/3

Mensaje por Alone_Coder » 29 Sep 2020, 07:02

aowen escribió:
28 Sep 2020, 15:07
I think it could be done. Is there source available for the native Pascal and C compilers you mentioned?
Yes, you can download the sources http://nedoos.ru/svn/

Alone_Coder
Mensajes: 30
Registrado: 26 Sep 2020, 09:49

Re: ATM-Turbo 2/2+/3

Mensaje por Alone_Coder » 29 Sep 2020, 17:20

azesmbog escribió:
28 Sep 2020, 15:52
Теперь почему это невозможно именно на Уно.
Стандартно памяти ровно 512к, маловато.
И еще - бОльшинство софта, что ты написал выше - вроде превосходно работает в ts-conf-е, уж ее то на МисТере хорошо сделали.
А так да, стандартные машины 48\128\Пент в Уно реализованы отлично, ну можно в станДартную конфу добавить каких-то портов, но это не решит всех проблем. Я пессимист?
На ts-conf портировано только несколько программ из перечисленных - и то, благодаря наличию исходников (в паре случаев против воли автора). Вообще не вижу смысла поддерживать проекты V6Z80P, ts-conf, ZX-Poly и т.п. при наличии активно развивающегося ZX Next. Впрочем, я поддерживаю только Спектрум, на другие платформы, в том числе псевдоретро, у меня просто нет времени. На программирование FPGA тоже :(
ATM2 имеет высокую совместимость (все дополнительные порты скрыты), так что его можно добавить и в стандартную конфу. 512К хватит почти для всех программ.

Avatar de Usuario
desUBIKado
Mensajes: 1002
Registrado: 05 Ago 2016, 22:33

Re: ATM-Turbo 2/2+/3

Mensaje por desUBIKado » 29 Sep 2020, 19:55

Mis dos ZX-Uno tienen 2MB de memoria SRAM, uno de forma externa y otro interna. Soy un gran defensor de los ZX-Uno con 2MB de memoria, y no me cansaré de repetir que merece la pena el sobrecoste de los 2MB sobre los 512K.

Avatar de Usuario
aowen
Mensajes: 178
Registrado: 07 Oct 2015, 13:32

Re: ATM-Turbo 2/2+/3

Mensaje por aowen » 04 Oct 2020, 12:13

Alone_Coder escribió:
29 Sep 2020, 07:02
aowen escribió:
28 Sep 2020, 15:07
I think it could be done. Is there source available for the native Pascal and C compilers you mentioned?
Yes, you can download the sources http://nedoos.ru/svn/
I had a look in the source tree but I couldn't locate the C compiler.

Alone_Coder
Mensajes: 30
Registrado: 26 Sep 2020, 09:49

Re: ATM-Turbo 2/2+/3

Mensaje por Alone_Coder » 05 Oct 2020, 23:49

aowen escribió:
04 Oct 2020, 12:13
I had a look in the source tree but I couldn't locate the C compiler.
This is BDS C: src/bdsc/
The examples provided:
ex.c - gfx lib test (just draw a couple of pixels)
concat.c to concat files
cut.c to cut files (I wrote it tonight in my stream https://www.youtube.com/watch?v=Kw8_Jn-jiSs )
L2.c - alternative linker (I have not tried it yet)
The original linker (clink) is very limited (only 64 functions per object file) and seems buggy.

Avatar de Usuario
aowen
Mensajes: 178
Registrado: 07 Oct 2015, 13:32

Re: ATM-Turbo 2/2+/3

Mensaje por aowen » 06 Oct 2020, 15:12

Alone_Coder escribió:
05 Oct 2020, 23:49
This is BDS C: src/bdsc/
The examples provided:
ex.c - gfx lib test (just draw a couple of pixels)
concat.c to concat files
cut.c to cut files (I wrote it tonight in my stream https://www.youtube.com/watch?v=Kw8_Jn-jiSs )
L2.c - alternative linker (I have not tried it yet)
The original linker (clink) is very limited (only 64 functions per object file) and seems buggy.
Ah, Brain Damage Software. Had forgotten all about it. I couldn't find the Pascal compiler either, but I'm less concerned about that. I bought the Small-C Handbook with the intention of getting a native C compiler running on the Chloe. Since BDS-C is public domain, looks like a lot of the work has been done for me. Having a native assembler that can actually build the firmware would also be cool. Speaking of which, have you ported the current version of SE Basic IV to NedoOS yet!? ;)

Alone_Coder
Mensajes: 30
Registrado: 26 Sep 2020, 09:49

Re: ATM-Turbo 2/2+/3

Mensaje por Alone_Coder » 06 Oct 2020, 21:01

Turbo Pascal is in src/tp/, NedoLang and NedoAsm in src/nedolang/, NedoBasic in src/basic/ (it's very simple).
I should learn more about SE Basic IV :) Are there tests for it? And a compiler for its dialect? NedoBasic has no compiler and no practical use so far.

Responder