Помогите новичку
-
Типа html application или прочие из Список языков описания пользовательских интерфейсов... Настройка компиляторов C++ описана в статье http://kolibri-n.org/inf/hll/hll.php . Косилка написана на C++ http://websvn.kolibrios.org/listing.php ... e6b85b8744
Что то вроде htmlayout?mixator wrote:писать собираюсь на плюсах. Хочу сделать маленькое подтверждение или опровержение своей идеи. Идея состоит в концептуальной возможности использования интерпретатора html-подобного языка для построения интерфейсовWildwest wrote:Во-первых, посмотрите исходники уже готовых программ http://websvn.kolibrios.org/listing.php ... Kolibri+OS
Во-вторых, на каком языке собираетесь писать?
ПС. О qt слышал, это немного не то.
Надо бы тему что-то вроде "Сниппеты". Раз такой нет, напишу сюда, чтоб не потерялось.
Установить прозрачный (невидимый) курсор. Автор Марио
Установить прозрачный (невидимый) курсор. Автор Марио
Code: Select all
set_new_cursor_skin:
mcall 68,12,32*32*4
mov ecx,eax
mcall 37,4,,2
mov ecx,eax
mcall 37,5
ret
Из хаоса в космос
В r4572 должно полностью закрашиваться. Там код ядра по0CodErr wrote:Хочу нарисовать окно 200x25 пикселей с зелёной рамкой, а внутри полностью красное.Но нижняя область не закрашивается.Code: Select all
xor eax, eax mov ebx, 200 mov ecx, 25 mov edx, 00FF0000h mov edi, 0000FF00h mov esi, 01FF0000h int 64
Как сделать, чтобы окно полностью закрашивалось?
Сделаем мир лучше!
Функция 18.10 сворачивает активное окно. Я поправила документацию.0CodErr wrote:Хотелось уточнить, что всё-таки делает функция 18.10?
То, что написано в Wiki:или же то, что сказал art_zh:Сворачивает собственное окно.При нажатии на кнопку минимизации вызывается она же?18.10 предполагает, что у активного приложения и окно - активное.
Его и сворачивают.
Запускаем приложение, использующее OpenDialog(TinyPad, HeEd, ...).
Запускаем из этого приложения OpenDialog.
Пытаемся свернуть окно самой программы нажатием на кнопку минимизации, но после нажатия отпускаем кнопку мыши не сразу, а немного ждём.
В этот момент может свернуться окно OpenDialog, а не окно самой программы.
И с кнопкой закрытия такая же ситуация.
Сделаем мир лучше!
Подскажите в чем проблема. В общем не собирается ругаясь на запрещенную инструкцию, хотя взял от из архива с Job, который вполне успешно с ним собирается.
- Attachments
-
-
TASK.7z (7.35 KiB)Downloaded 222 times
-
to infinity and beyond
include 'proc32.inc'
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
Вот такой код:Я запустил несколько копий полученной программы:Но ведь у меня нет столько памяти, почему так?
Code: Select all
ORG 0
BITS 32
; -------------------------- ;
STACK_SIZE equ 256
; -------------------------- ;
PAGE_SIZE equ 4096
MEMORY_ALLOC_SIZE equ PAGE_SIZE * 32
; -------------------------- ;
db 'MENUET01'
dd 1
dd START
dd END
dd END + STACK_SIZE
dd END + STACK_SIZE
dd 0
dd 0
; -------------------------- ;
START:
; heap.initialize:
mov eax, 68
mov ebx, 11
int 64
mov ecx, MEMORY_ALLOC_SIZE
xor edx, edx
div ecx
mov edx, eax ; save (HeapSize / MEMORY_ALLOC_SIZE) to edx
; memory.allocate
inc ebx
.next:
mov eax, 68
int 64
dec edx
jnz .next
or eax, -1
int 64
END:
Spoiler:
Code: Select all
0x759A1000 +
0x7ADA1000 +
0x7A821000 +
0x7C1E1000 +
0x7A661000 +
0x7A101000 +
0x792C1000 +
0x791E1000 = 0x3CDD48000
Потому что в Колибри очень хитрый менеджер памяти. Запрос ф.68 лишь "протокол о намерениях", а при первом физическом обращении происходит выделение запрашиваемой страницы. Это такой хитрый финт позволяющий экономить память. Более подробно узнавать у Serge.
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
Всем привет!
Познакомился с этой операционной системой, почитал мануалы, решил написать под нее что-нибудь. Суть моего обращения в том, что процесс разработки для меня очень неудобен.
Я делаю так: пишу в fasmw на Windows, копирую на флэшку, в qemu крутится Kolibri, кидаю файлы программы туда, компилирую, пакую, запускаю. При каких-либо ошибках ищу их в винде, потом снова копирую, перекидываю, компилирую, и так далее.
Если пишу код в Kolibri, то непременно забываю копировать его на флэшку после отладки, и при выключении системы все, естественным образом, стирается. Это, разумеется, мои проблемы с памятью, но, даже при условии ее нормального функционирования, это было бы не очень удобно.
Научите меня, пожалуйста, как правильно делать? Или есть только такие варианты?
Познакомился с этой операционной системой, почитал мануалы, решил написать под нее что-нибудь. Суть моего обращения в том, что процесс разработки для меня очень неудобен.
Я делаю так: пишу в fasmw на Windows, копирую на флэшку, в qemu крутится Kolibri, кидаю файлы программы туда, компилирую, пакую, запускаю. При каких-либо ошибках ищу их в винде, потом снова копирую, перекидываю, компилирую, и так далее.
Если пишу код в Kolibri, то непременно забываю копировать его на флэшку после отладки, и при выключении системы все, естественным образом, стирается. Это, разумеется, мои проблемы с памятью, но, даже при условии ее нормального функционирования, это было бы не очень удобно.
Научите меня, пожалуйста, как правильно делать? Или есть только такие варианты?
Хм... а если в qemu создать жёсткий диск и на нём хранить свои труды? Потом только на флешку скинуть, если в Винде исходники вдруг понадобятся. Я в VurtualBox'е так и делаю - грузиться виртуалка с дискеты, а на жёстком диске (ну эмулируемом, разумеется) хранятся исходники.
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
Спасибо. Как-то мне вопрос сразу глупым казаться стал, вроде не первый день с виртуальными машинами работаю, а про жесткий диск не подумал. Ну, бывает...
Сейчас копаюсь в файловой системе, для программы нужно получить список файлов и папок в данной директории (что-то вроде ls).
Я так понял, что мне нужна функция 70.1, появилось несколько вопросов по ходу:
// Ссылка на Wiki по функции: http://bit.ly/1nwcFmb
// Ссылка на Wiki по функции: http://bit.ly/1nwcFmb
Пытался сам разобраться, посмотрел исходники OpenDialog (кажется самый простой файловый менеджер в системе), но и с ним не разобрался.
Подскажите, правильно ли я понял wiki. Было бы идеально ткнуть меня носом в то место, где все попроще описано (проще чем в OpenDialog), может пример по этой конкретной функции у кого-нибудь есть?
Спасибо.
Я так понял, что мне нужна функция 70.1, появилось несколько вопросов по ходу:
// Ссылка на Wiki по функции: http://bit.ly/1nwcFmb
Это обязательно struc, или можно просто метку поставить и все объявить?Формат информационной структуры:
Я правильно понял, что здесь мы указываем, с какого байта нужно начать запись ответа в буфер?+4: dword: индекс начального блока (считая с 0)
То есть в простейшем случае можно просто dd 0 поставить?+8: dword: поле флагов:
Понимаю что это совсем просто, но до меня не доходит. Так сойдет?:+16 = +0x10: dword: указатель на буфер, куда будут записаны данные, размер буфера должен быть не меньше 32 + [+12]*560 байт
Code: Select all
; structure definition start
...
dd 50 ; blocks number
dd output_buffer ; result buffer
...
; structure definition end
output_buffer rb 32 + 50 * 560
Пытался сам разобраться, посмотрел исходники OpenDialog (кажется самый простой файловый менеджер в системе), но и с ним не разобрался.
Подскажите, правильно ли я понял wiki. Было бы идеально ткнуть меня носом в то место, где все попроще описано (проще чем в OpenDialog), может пример по этой конкретной функции у кого-нибудь есть?
Спасибо.
Пример попроще - CP
Спасибо, буду разбираться
Who is online
Users browsing this forum: No registered users and 19 guests