1. В какой ячейке хранятся данные джойстика?
2. как адресуется видеопамять?
1. В какой ячейке хранятся данные джойстика?
2. как адресуется видеопамять?
Физически данные джойстика закодированы как биты и не могут быть определены без вычислений.
Слава богу, Атарьцы запрограммировали это так, что вычисления минимальны.
Никакой надежды вычислить это как диагональное движение.
Только покоординатное!
Поймите, я говорю о том, как было спроектировано!!!
"Всё было украдено до нас!"
Я, пока от Вас не получу того, что Вы хотите от джойстика, не знаю КАК делать его программу.
Можно было бы сделать джойстик реальным устройством, но ответьте:
1. что такое открыть канал джойстика? (Смысл инициализации)
2. что такое считать байт с джойстика (Сам знаю.)
3. что такое считать состояние джойстика (Вероятно состояние кнопки)
В общем, я не понимаю, каким должен быть ДРАЙВЕР.
А хендлер ЕСТЬ!
- - - Добавлено - - -
Данные джойстика берутся из ячейки STICK1=$279
Данные кнопки берутся из ячейки STRIG1=$285
Само по себе это МАЛО!
MAC и PC - это всего лишь периферия для Атари...
130XE|XC12|CA2001|XF551|IDEPlus2.0|SIO2SD|SIO2IDE| RAM576XE+Covoх|SIO2PC|MAXFLASH8|MAXFLASH1|The Ultimate Cartridge|
ezswift, Вы слишком усложняете.
Достаточно подняться до уровня "с 6502 на Ты", прежде чем копаться в устройствах.
Ещё одно видео готово
https://youtu.be/9anFBhHWfdI
MAC и PC - это всего лишь периферия для Атари...
130XE|XC12|CA2001|XF551|IDEPlus2.0|SIO2SD|SIO2IDE| RAM576XE+Covoх|SIO2PC|MAXFLASH8|MAXFLASH1|The Ultimate Cartridge|
Довёл программу для шрифтов в Бейсике до конца. Работает
https://youtu.be/2zEoFjGurU0
MAC и PC - это всего лишь периферия для Атари...
130XE|XC12|CA2001|XF551|IDEPlus2.0|SIO2SD|SIO2IDE| RAM576XE+Covoх|SIO2PC|MAXFLASH8|MAXFLASH1|The Ultimate Cartridge|
Нашел ячейку, показывающую, что Бейсик подключен.
Надо бы сделать так, чтобы индикация была,
типа ... Отец, БЕЙСИК-то подключи!!!
Мне эта прога уже, изрядно надоела... но, может ещё одно видео по ней запостю...
MAC и PC - это всего лишь периферия для Атари...
130XE|XC12|CA2001|XF551|IDEPlus2.0|SIO2SD|SIO2IDE| RAM576XE+Covoх|SIO2PC|MAXFLASH8|MAXFLASH1|The Ultimate Cartridge|
Ну, что же, подправил программку.
Вот окончательный текст:
Код:; Russify the BASIC ;> I need Fully Qualified File Name ;> like D:FONTNAME.FNT ;> writen in UPPERCASE register ;> as a responce to prompt! ; Evgeni Zolotarev, 2017 ; rubas.com .ou rubas.com ; Included LIBS .in syseq.mae .in macro.mae ; Atari Equates DOSINI = $0c WARMST = $08 CARTA = $A000 CHBAS = $02f4 BASICF = $03f8 ; Constants red = $22 blu = $82 none = $07 select = $05 cslen = $400 ; ==================== ; Main PROG .or $1900 jmp start ; -------------------- ; Runtime DATA csadr .ds 2 protadr .ds 2 oldcon .ds 1 rupage .ds 1 enpage .ds 1 ; -------------------- ; Runtime SUBS ; -------------------- ; Set VBI as Immediate setvbi lda #$06 ldx #>vbi ldy #<vbi jsr SETVBV rts ; -------------------- ; No RESET Subr dummy tsr jsr dummy maw protadr MEMLO jsr setvbi jsr setenv rts ; -------------------- ; Set Environment setenv lda COLOR4 cmp #red bne setred setblu mib blu COLOR4 mab enpage CHBAS jmp skip setred mib red COLOR4 mab rupage CHBAS skip rts ; ------------------- ; Read CONSOL in VBI vbi lda CONSOL tax ; X=CONSOL ldy oldcon ; Y=oldcon ; tya ; A=oldcon cmp #none bne exit chkcon txa cmp #none beq exit txa cmp #select bne exit jsr setenv exit stx oldcon jmp SYSVBV ; ==================== ; Init CODE .or $2000 start ; Check if BASIC ON lda BASICF beq conti jmp failed ; conti mib none oldcon jsr setvbi ; ; PRINT prompt to screen ofs 0 bfa prompt bfl buflen jsr print ; ; Filename INPUT to buffer ofs 0 bfa fname bfl buflen jsr input ; ; Calculating DATA miw $3ff op2 maw MEMLO op1 anw op1 op2 ; op1=MEMLO AND $3ff maw op1 op2 miw $400 op1 sbw op1 op2 ; op1=spacer maw MEMLO op2 adw op1 op2 ; op1=csadr maw op1 csadr miw $400 op2 adw op1 op2 ; op1=protadr maw op1 protadr ; ; CLOSE 1 ofs 1 jsr close ; ; OPEN 1 OREAD 0 fname ofs 1 bfa fname lda #OREAD ldy #$00 jsr open chk iferr ; ; BGET 1 <adr> <len> ofs 1 maw csadr BFADR,x bfl cslen jsr getby chk iferr ; ; CLOSE 1 iferr ofs 1 jsr close ; mib $e0 enpage lda 1+csadr sta rupage mib blu COLOR4 ; ; Set TSR data ; Save DOSINI into tsr jumpadr field maw DOSINI 1+tsr ; Set DOSINI as tsr addr miw tsr DOSINI ; Fill MEMLO as protadr maw protadr MEMLO ; Reinit BASIC lda #$00 sta WARMST jmp CARTA ; rts ; Return to BASIC failed ; PRINT msg to screen ofs 0 bfa msg bfl buflen jsr print rts ; -------------------- ; Included SUBS .in iolib.mae ; -------------------- ; Init DATA buflen = 40 fname .ds buflen prompt .by CLR,"ENTER D:FONTNAME.FNT TO LOAD...",EOL cr .by EOL op1 .ds 2 op2 .ds 2 msg .by CLR,"ENABLE BASIC, PLEASE.",EOL ; ==================== ; Setup Run Address .or RUNAD .wo start ; .en ; >>> End Of File <<< ;
MAC и PC - это всего лишь периферия для Атари...
130XE|XC12|CA2001|XF551|IDEPlus2.0|SIO2SD|SIO2IDE| RAM576XE+Covoх|SIO2PC|MAXFLASH8|MAXFLASH1|The Ultimate Cartridge|
А можно например сделать так, чтобы READY было когда английский, а на его же месте стало ГОТОВ когда включен русский, без изменения цветов рамки.
Последний раз редактировалось atariki; 08.04.2017 в 20:00.
ATARI 65XE|130XE|XEGS|4-XC12|(2-TURBO2000)|SIO2SD
BASIC OS похачить?(:
Приблизительно такие вещи делаются в WEDGE.
Это - программка, добавляющая команды к Бейсику.
Подменяются вектора своими и после мелкого украшательства возвращается управление Бейсику.
Разумеется, Атари, как гениальная машина, такое позволяет.
Но, лучше, написать с нуля свой интерпретатор Бейсика или "чего-надо" со встроенным русским языком.
Я - совсем не программист. Писать языки не буду.
Моя главная идея, написать управляемую стрелками, искейпом и ритён псевдографическую программку для управления любым ДОСом.
А коли на Русском, так ваще шоколад.
(СТРОЧНЫЕ буковки на Русском занимают область псевдографики. Увы! Невозможно и Русским баловаться и псевдографикой пользоваться!)
Мне нравится система бредкрамб и реально она реализована в IBM AIX в виде SMIT (Java). (НЕ smitty (Sic!)).
Там много клёвых моментов...
Если выучил сокращения, переходишь прямо к нужному пункту меню.
Если не выучил, ползаешь по меню.
Все пункты меню прописаны в текстовом файле и т.д.
(Редактируешь и добавляешь...)
Я работал с AIX и никогда не жалел.
Так сволота, уволившая меня с работы лишила меня и моего сервера!
СУДЬБА! С кем поведёшся от того и огребёшся.
Последний раз редактировалось ezswift; 07.04.2017 в 15:06.
MAC и PC - это всего лишь периферия для Атари...
130XE|XC12|CA2001|XF551|IDEPlus2.0|SIO2SD|SIO2IDE| RAM576XE+Covoх|SIO2PC|MAXFLASH8|MAXFLASH1|The Ultimate Cartridge|
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)