flat assembler
Message board for the users of flat assembler.

Index > DOS > FASMD - early preview

Goto page Previous  1, 2
Author
Thread Post new topic Reply to topic
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web
Dex4u 09 Dec 2006, 18:45
I code my editor for 80x50, but because of thouse awful fonts, i am converting it back to 80x25, but because i hardcode it in the the editor, I have to change manythings Crying or Very sad .
Post 09 Dec 2006, 18:45
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8367
Location: Kraków, Poland
Tomasz Grysztar 09 Dec 2006, 19:19
You may try to build an editor for any other OS using the AsmEdit's core. As Tommy mentioned he's interested in doing this for Linux, I'm working on the documentation of core. I'm attaching the current state of those docs, they're not finished yet, however.


Description: AsmEdit core documentation (updated: Dec 17 2006)
Download
Filename: asmedit_core.txt
Filesize: 17.91 KB
Downloaded: 1842 Time(s)



Last edited by Tomasz Grysztar on 17 Dec 2006, 18:56; edited 1 time in total
Post 09 Dec 2006, 19:19
View user's profile Send private message Visit poster's website Reply with quote
Tommy



Joined: 17 Jun 2003
Posts: 489
Location: Norway
Tommy 09 Dec 2006, 19:32
Thanks! I'll have a look at them Smile
Post 09 Dec 2006, 19:32
View user's profile Send private message Visit poster's website Reply with quote
Goplat



Joined: 15 Sep 2006
Posts: 181
Goplat 09 Dec 2006, 21:34
Quote:
Code:
    macro outb v1,v2
    {
       mov   al,v1
       out   dx,al
       mov   al,v2
       inc   dx
       out   dx,al
       dec   dx
    }    


If you don't need to preserve AH, this can be done more easily as
Code:
    macro outb v1,v2
    {
       mov   ax,v2 shl 8 + v1
       out   dx,ax
    }    
Post 09 Dec 2006, 21:34
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8367
Location: Kraków, Poland
Tomasz Grysztar 10 Dec 2006, 00:32
Does that guarantee the required synchronization (the value targeted to higher port needs to be sent after the value to lower port is received)?
Post 10 Dec 2006, 00:32
View user's profile Send private message Visit poster's website Reply with quote
LocoDelAssembly
Your code has a bug


Joined: 06 May 2005
Posts: 4624
Location: Argentina
LocoDelAssembly 10 Dec 2006, 01:54
I saw long time ago the source code of Wolfenstain 3D and there was a comment telling that the OUT should to be done byte per byte because the author had realized that outputing a word directly didn't work on his video card.
Post 10 Dec 2006, 01:54
View user's profile Send private message Reply with quote
LocoDelAssembly
Your code has a bug


Joined: 06 May 2005
Posts: 4624
Location: Argentina
LocoDelAssembly 10 Dec 2006, 02:01
I found it
Code:
@@setcrtc:


;
; set CRTC start
;
; for some reason, my XT's EGA card doesn't like word outs to the CRTC
; index...
;
        mov     cx,[crtc]
        mov     dx,CRTC_INDEX
        mov     al,0ch          ;start address high register
        out     dx,al
        inc     dx
        mov     al,ch
        out     dx,al
        dec     dx
        mov     al,0dh          ;start address low register
        out     dx,al
        mov     al,cl
        inc     dx
        out     dx,al
     


PS: Downloaded here http://www.btinternet.com/~belowe/wolfsrc.zip . The file is (after installing) ID_VL_A.ASM
Post 10 Dec 2006, 02:01
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8367
Location: Kraków, Poland
Tomasz Grysztar 14 Dec 2006, 17:46
I decided to make FASMD use whatever text mode is set at the moment. This way you can even change resolution "on fly" by writing a small program that switches into desired mode and assembling it and running directly from FASMD.

I have also updated the core documentation (a few posts above), now it's more or less complete, I may just add also description of some standard scenarios of usage.
Post 14 Dec 2006, 17:46
View user's profile Send private message Visit poster's website Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8367
Location: Kraków, Poland
Tomasz Grysztar 17 Dec 2006, 18:58
The basic feature set is almost finished. The most important thing left to do is perhaps the .INI file. Also some directory browser in file open/save dialogs would be nice, but it's not of much priority.

When the basic version is more or less finished, I plan to put it in standard DOS package, just as FASMW is included in the Win32 one. What's your opinion?
Post 17 Dec 2006, 18:58
View user's profile Send private message Visit poster's website Reply with quote
Tommy



Joined: 17 Jun 2003
Posts: 489
Location: Norway
Tommy 17 Dec 2006, 22:16
IMO FASMD should be part of the DOS package Smile
Post 17 Dec 2006, 22:16
View user's profile Send private message Visit poster's website Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web
Dex4u 18 Dec 2006, 02:05
I also think that fasmd, should be part of the standard Dos package.
Thanks for the work you put into Fasm and the editors.
Post 18 Dec 2006, 02:05
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8367
Location: Kraków, Poland
Tomasz Grysztar 19 Dec 2006, 21:36
Well, it may be still a bit early, but I included FASMD in a standard DOS distribution, with a small dedicated documentation as well.
Post 19 Dec 2006, 21:36
View user's profile Send private message Visit poster's website Reply with quote
DOS386



Joined: 08 Dec 2006
Posts: 1905
DOS386 19 Dec 2006, 21:46
Quote:

I plan to put it in standard DOS package, just as FASMW is included in the Win32 one. What's your opinion?


YES. Smile

Some suggestions:

- Mention the memory management of FASM in DOS in the manual
(runs on DPMI if available, in unreal mode otherwise,
will NOT run on EMM386 if no DPMI)
- About the IDE:
-- Directory browse would be nice (not trivial to write I know Wink )
-- Compiling: Add a menu "Compile only" & "Compile and run" (immediate
execution is risky)

_________________
Bug Nr.: 12345

Title: Hello World program compiles to 100 KB !!!

Status: Closed: NOT a Bug
Post 19 Dec 2006, 21:46
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8367
Location: Kraków, Poland
Tomasz Grysztar 19 Dec 2006, 22:15
DOS386 wrote:
- Mention the memory management of FASM in DOS in the manual
(runs on DPMI if available, in unreal mode otherwise,
will NOT run on EMM386 if no DPMI)

It is mentioned in FASM.TXT, section 1.1.1.

DOS386 wrote:
-- Directory browse would be nice (not trivial to write I know Wink )

Well, in fact it's quite trivial, I just need to dedicate some time to it. Wink
(hmm, I have somewhere a simple NC clone with LFNs I once wrote...)

DOS386 wrote:
-- Compiling: Add a menu "Compile only" & "Compile and run" (immediate
execution is risky)

It's Ctrl+F9 and F9, just as in FASMW. Also Shift+F9 just has been added.

And at the same time I also back-ported some features into FASMW, like Alt+[1-9] shortcuts.
Post 19 Dec 2006, 22:15
View user's profile Send private message Visit poster's website Reply with quote
DOS386



Joined: 08 Dec 2006
Posts: 1905
DOS386 19 Dec 2006, 22:21
Quote:

It is mentioned in FASM.TXT, section 1.1.1.


Not really: Confused

Code:
All versions require the x86 architecture
32-bit processor (at least 80386),
although they can produce programs for
the x86 architecture 16-bit processors,
too. DOS version requires an OS compatible 
with MS DOS 2.0 and either true
real mode environment or DPMI. 
Windows version requires a Win32 console
compatible with 3.1 version.
    

_________________
Bug Nr.: 12345

Title: Hello World program compiles to 100 KB !!!

Status: Closed: NOT a Bug
Post 19 Dec 2006, 22:21
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8367
Location: Kraków, Poland
Tomasz Grysztar 19 Dec 2006, 22:29
It says you either need true real mode environment or DPMI. The conclusion that it won't run when you've got VCPI without DPMI (like EMM386) is straightforward.
Post 19 Dec 2006, 22:29
View user's profile Send private message Visit poster's website Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page Previous  1, 2

< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.