ASM (Development MSX Fora)MSX Resource Center            
            
English Nederlands Espa�ol Portugu�s Russian         
 Nieuws
   Voorpagina
  Nieuws archief
  Nieuws onderwerpen

 Informatie
   MSX Fora
  Artikelen
  Recensies
  Beursverslagen
  Fotoreportages
  Beurzen en meetings
  Enquêtes
  Links
  Zoek

 Software
   Downloads
  Webshop

 MRC
   Wie we zijn
  Kom bij ons team
  Doneren
  Policies
  Contact met het MRC
  Link naar Ons
  Statistieken

 Zoek
 
  

  

 Login
 

Gebruikersnaam

Wachtwoord




Ben je nog niet lid? Klik hier en word MSX vriend!


 Statistieken
 

Er zijn 64 gasten en 2 MSX vrienden online

Je bent een anonieme bezoeker.
 

MSX Fora


MSX Fora

Development - ASM

Schrijver

ASM

tz
msx friend
Berichten: 4
Geplaatst: 25 April 2004, 06:47   
This may or may not be a difficult question to answer (no idea), but... here goes:

I have ABSOLUTELY -NO- experience with ASM, at -all-... but I have written with BASIC, C/C++, Python, and Perl on many occasions. I am definitely not a stranger to higher level programming.

Anyway, I would really love to learn ASM... and I have heard that the MSX/Z80 might be a great jumping off point. Could anybody recommend a good place to start? (preferably in English!)
Latok
msx master
Berichten: 1732
Geplaatst: 25 April 2004, 10:38   
For specific MSX programming, you should check out the MAP - Assembly Pages and the The Ultimate MSX FAQ. For more general Z80 courses, you should easily find some useful sites with Google, I guess. O yeah, check milc as well. Unfortunately, mainly in Dutch, though.
Sonic_aka_T

msx guru
Berichten: 2269
Geplaatst: 25 April 2004, 14:52   
I guess the MSX platform must be one of the best, if not the best, platforms around to learn low-level programming. It is a very clear and simple computer system which really invites you to program it. One of the books I learned most from was "Programming the Z80" by Rodnay Zaks. If you can get your hands on a copy, that'd be great.

For standard info on the Z80 just do a search in Yahoo or whatever. By just typing Z80 ASM you should be able to find a lot of sites like http://cobb.host.sk/z80guide/ which should get you started. For MSX specific info try http://www.funet.fi/pub/msx/. The 'docs' section has a lot of nice info and programming manuals and in the other sections you should be able to find some tools and sources as well. My alltime favorite assembler is WBASS2, which has recently been declared freeware by the author. It's an excellent assmbler/editor/monitor/environment. You can find it on the MAP, see link above, along with some very interesting articles.

Anyways, I think you've pretty much made the best choice for your platform on which to learn ASM. You'll see it won't even take weeks before you've got the basics down and will be doing very nice things on your computer (emulator). Oh, if you're emulating I suggest NLMSX to start on. It wouldn't hurt to get a real MSX tho, you'll really get a kick out of seeing your creations working on the real thing. But anyways,

        LD HL,PRTTXT
PRNTLP: LD A,(HL)
        INC HL
        OR A 
        RET Z
        CALL $00A2
        JR PRNTLP

PRTTXT: DB "Good luck!",$00

GuyveR800
msx guru
Berichten: 3048
Geplaatst: 25 April 2004, 15:16   
or

LD DE,Text
LD C,9
JP 5

Text: DB "Good luck!$"



You might want to visit IRC channel #msxdev @ Rizon for questions about programming.
msd
msx professional
Berichten: 615
Geplaatst: 25 April 2004, 16:42   
This is also a very usefull site. The z80 official support page: www.z80.info
mindshelter
msx friend
Berichten: 1
Geplaatst: 08 Mei 2004, 22:16   
HI ALL !!

i AM STRUGLING AND STRUGLING AND STRUGLING TO LEARN ASEMBLY LANGUAGE
AND IT's not working for me.

I've studied all the info looked in all the web pages, tried with WBASS2 and
I just can't get further than putting some text on the screen.

Can someone PLEASE PLEASE help me out.

I'd like to have some sample (example) files of (maybe WBASS ASM files)
of:
sprite's moving when you touch the cursos
Line's or blocks filling the screen
a little prpgram with text (questions which can be answered by the user)

I think that I can learn best from examples.
Maybe someone is willing to give me his/her email adres so I can keep asking whatever
questions.

I just love to learn, but it's so difficult.
Can someone help me ou?

send me a mail or reply this post

Bart
qz3@811m.com
[D-Tail]

msx guru
Berichten: 3019
Geplaatst: 08 Mei 2004, 22:25   
Well... Actually it's not as though it's difficult. It's just a HUGE pile of work Since ASM is low-level, you'd have to literally say everything to the microprocessor. On the other hand, moving sprites by cursor is not an ASM related issue. You could also do that in BASIC, since it's more VDP (Video Display Processor)-related. It deals with sprite tables, which are the sp-generator table, the sp-attribute table and the sp-color table.
Once you know how to do the trick in BASIC, you could try porting it to ASM. I really do recommend to try this in BASIC first, before jumping off a high cliff in ASM.
flyguille
msx master
Berichten: 1223
Geplaatst: 08 Mei 2004, 22:47   
Maybe you can programming on assembler but just in the new wave. Right now some programming lessons are on the MNBIOS email list, the programming on MNBIOS is pure assembler. Also the manual got assembler examples on the function as the basic programming language got his examples.

visit www.mnbios.com.ar

Offcourse, you need to know a little about assembler instructions, but simply seeing the examples you can figure what do the assembler instruction, because all are conmented. Anyway at the same time you can download the offical z80 instruction set. from www.zilog.com


Quote:

HI ALL !!

i AM STRUGLING AND STRUGLING AND STRUGLING TO LEARN ASEMBLY LANGUAGE
AND IT's not working for me.

I've studied all the info looked in all the web pages, tried with WBASS2 and
I just can't get further than putting some text on the screen.

Can someone PLEASE PLEASE help me out.

I'd like to have some sample (example) files of (maybe WBASS ASM files)
of:
sprite's moving when you touch the cursos
Line's or blocks filling the screen
a little prpgram with text (questions which can be answered by the user)

I think that I can learn best from examples.
Maybe someone is willing to give me his/her email adres so I can keep asking whatever
questions.

I just love to learn, but it's so difficult.
Can someone help me ou?

send me a mail or reply this post

Bart
qz3@811m.com


msvtr
msx friend
Berichten: 4
Geplaatst: 08 Mei 2004, 23:06   
You can take a look on MSXLAND (google) and download some very good books (i recommend Linguagem de Maquinas, and Top Secret), besides the fact that the books are on Portoguese, the examples are very light, and you learn a lot. Try some good ASM tool, like Compass, MSXDEBUG, gen80 and you on good hands!
[D-Tail]

msx guru
Berichten: 3019
Geplaatst: 08 Mei 2004, 23:09   
Compass. Definately Compass.
Sonic_aka_T

msx guru
Berichten: 2269
Geplaatst: 09 Mei 2004, 03:21   
Quote:

I AM STRUGLING AND STRUGLING AND STRUGLING TO LEARN ASEMBLY LANGUAGE ..... Can someone PLEASE PLEASE help me out.


Hmm....

Quote:

I'd like to have some sample (example) files of (maybe WBASS ASM files)
of: .... I think that I can learn best from examples.


Actually, there's some truth in that. Eventhough you're really supposed to learn the underlying functionality first, it's usally nicer to know how to do something than it is knowing how it works...

Quote:

I just love to learn, but it's so difficult. Can someone help me out?


Well, if you're really interested, reply to this post and maybe I can give you a helping hand. Apart from coding you'll also want to learn some other things though... Mainly graphics if you want to do anything nice at all... Text screens are kind of dull to work with, so it would help if you find yourself a drawing program so you can make animations and whatnot...

Furthermore you'll have to do some basic reading to get a basic understanding of how the MSX sysmem is set up. I'm not talking specifics, but it is required to understand how memory works, how much there is, what addresses are, all that crap... As for input/output etc... Starting with the BIOS routines is usally a good idea. Sites like MiLC and MAP (search in yahoo or whatnot, be sure to add MSX in front of it) have some info on those. Just to get you started:

CALL $009F (CHGET) reads one character from the keyboard into register A.
CALL $00A2 (CHPUT) prints the character in register A to the screen.
CALL $00C0 (BEEP) makes a little noise.
CALL $00C3 (CLS) clears the screen.
CALL $00C6 (POSIT) puts the cursor at column H, row L. (eg LD HL,$0808 CALL $00C6)

Try playing with those BIOS calls a little. You can already make some kind of programs with that. Try a little question/answer game or something. I suggest you make a small quiz or something with 10 questions, print wrong or right to the screen after each answer or something. If you really want to make it difficult on yourself, try printing the amount of correct answers to the screen at the end. It sounds simple, but for most starting assembly programmers it's a lot more difficult than it sounds...

Once you've got the hang of that we'll get you started with VDP commands... They're really simple, but great phun... Anyways...

Good luck...
BiFi
msx guru
Berichten: 3142
Geplaatst: 09 Mei 2004, 08:58   
CALL $00C3 does require the Zero-flag te be set in order to actually do the clear screen.

Apart from the URL's Latok already posted and the IRC channel GuyveR800 mentioned (some are quite complicated though) sources of popular MSX applications are downloadable from the MSX section of www.hansotten.com. Some of those archives have useful routines as seperate sources which may be helpful in one way or another. Also a bunch of my sources are there in an archive and it's still not all of them. I still need to sort out and convert WB-ASS2 sources to ASCII format to put online. Apparently I think I need to speed up that process reading this.
[D-Tail]

msx guru
Berichten: 3019
Geplaatst: 09 Mei 2004, 09:38   
Quote:

CALL $00C3 does require the Zero-flag te be set in order to actually do the clear screen.


So, do this:

XOR A
CALL $00C3
snout

msx legend
Berichten: 4991
Geplaatst: 10 Mei 2004, 02:02   
Learning ASM is easy and hard at the same time. At first, it looks easy. Then, you get to a point where you're thinking "I've learned everything that's in the books, and still can only print a few lines of text". Then, you start focusing on the VDP. (If you can read Dutch; get the Sunrise diskmagazines and read all the VDP courses!). Then, slowly, you find out things aren't that hard at all. Before you know it, you created your very first scroller. ;P
BiFi
msx guru
Berichten: 3142
Geplaatst: 10 Mei 2004, 12:20   
... and after adding a logo, the whole thing can be added to the logo&scroller challenge MRC did somewhere last year.
 
 







(c) 1994 - 2008 Stichting MSX Resource Center. MSX is een trademark van MSX Licensing Corporation.