Jump to content
IGNORED

idea of starting an Jag Coding online live workshop series


Otto1980

Recommended Posts

Hi everyone,

 

what do you think about starting a little online workshop on Jag Coding?

would be epic to do a little series !

 

for example

Lessons:

- The startup / VideoSetup

- managing the objectlists .. branching... refreshing and fixing

- mapping tasks on the Processors and managing Bus etc

- Coding itselfe 68k

- Coding GPU

- Blitter

... and and

 

all live streamed and moderated by some experienced Coders (rebootguys? typo? etc?)

possibility to ask questions during the lessons by the members

 

finally recorded and uploaded (youtube e.g.) for all who missed it or want to review

 

an action like this would me personally help starting the jag coding career rapidly :-D and im sure also some others too

 

who would be interested?

any ideas for meetingsoftware and ways to find siutable appontmens for this lessons??

 

give your feedback

 

 

greetings !!!!

Link to comment
Share on other sites

naja.. out ther for sure

but why everyone must read and try it, thats what is reinvent the wheel.

 

dont forget:

the lowlevelcoding skills of todays coders getting less year by year

the devenvironment is still not the best.. (skunk is a big progress but its still taking hours and hours just to test and learn things, because debugging is not really confortable imho)

a topic for each question in this forum, hm that would be much much text i think

 

some of the coders here have experience with performance, the bugs.. etc etc

showing in some lessons would be much more efficient.

 

There is not only one "multimedia" lesson in the www and we have 2013 !?!

 

be the columbus of the jaguar and show new lands :-o :D :-o

 

really noone interested??

Link to comment
Share on other sites

Sure you would, its not that hard :)

 

;; Convert a bitmap to Jag Format:

 

lea bmp_shipmask,a0
lea _trashram,a1
bsr RAPTOR_GFXConvert

 

;; Joypad stuffs

 

tst.w dpad_b ; was B pressed?
bne b_was_pressed ; brach if it was

 

;; Print some text

 

lea some_text,a0 ; where the text is
move.l #260,d0 ; x-position
move.l #28,d1 ; y-position
bsr RAPTOR_print8x8

 

;; Set up an object (in this case, a backdrop)

 

; backdrop
dc.l 1 ; (REPEAT COUNTER) ; Create this many objects of this type (or 1 for a single object)
dc.l is_active ; sprite_active ; sprite active flag
dc.w 48,0 ; sprite_x ; 16.16 x value to position at
dc.w 20,0 ; sprite_y ; 16.16 y value to position at
dc.w 0,0 ; sprite_xadd ; 16.16 x addition for sprite movement
dc.w 0,0 ; sprite_yadd ; 16.16 y addition for sprite movement
dc.l 256 ; sprite_width ; width of sprite (in pixels)
dc.l 240 ; sprite_height ; height of sprite (in pixels)
dc.l is_normal ; sprite_flip ; flag for mirroring data left<>right
dc.l 0 ; sprite_coffx ; x offset from center for collision box center
dc.l 0 ; sprite_coffy ; y offset from center for collision box center
dc.l 0 ; sprite_hbox ; width of collision box
dc.l 0 ; sprite_vbox ; height of collision box
dc.l bmp_back ; sprite_gfxbase ; start of bitmap data
dc.l 4 ; (BIT DEPTH) ; bitmap depth (1/2/4/8/16/24)
dc.l is_RGB ; (CRY/RGB) ; bitmap GFX type
dc.l is_opaque ; (TRANSPARENCY) ; bitmap TRANS flag
dc.l 256*240/2 ; sprite_framesz ; size per frame in bytes of sprite data
dc.l 256/2 ; sprite_bytewid ; width in bytes of one line of sprite data
dc.l 0 ; sprite_animspd ; frame delay between animation changes
dc.l 0 ; sprite_maxframe ; number of frames in animation chain
dc.l ani_rept ; sprite_animloop ; repeat or play once
dc.l edge_wrap ; sprite_wrap ; wrap on screen exit, or remove
dc.l spr_inf ; sprite_timer ; frames sprite is active for (or spr_inf)
dc.l spr_linear ; sprite_track ; use 16.16 xadd/yadd or point to 16.16 x/y table
dc.l 0 ; sprite_tracktop ; pointer to loop point in track table (if used)
dc.l spr_unscale ; sprite_scaled ; flag for scaleable object
dc.l %00100000 ; sprite_scale_x ; x scale factor (if scaled)
dc.l %00100000 ; sprite_scale_y ; y scale factor (if scaled)
dc.l -1 ; sprite_was_hit ; initially flagged as not hit
dc.l CLUT_BACK ; sprite_CLUT ; no_CLUT (8/16/24 bit) or CLUT (1/2/4 bit)
dc.l cant_hit ; sprite_colchk ; if sprite can collide with another
dc.l cd_remove ; sprite_remhit ; flag to remove (or keep) on collision
dc.l single ; sprite_bboxlink ; single for normal bounding box, else pointer to table
dc.l 1 ; sprite_hitpoint ; Hitpoints before death
dc.l 2 ; sprite_damage ; Hitpoints deducted from target
dc.l 256/2 ; sprite_gwidth ; GFX width (of data)

 

;; Make the backdrop scroll automagically

 

lea backdrop_data,a0
move.l #$00010000,sprite_xadd(a0)

 

See, it's all easy - you should give it a go and overcome your fears!

Edited by CyranoJ
  • Like 6
Link to comment
Share on other sites

I think I could dig that if the mnemonics were more descriptive/longer. Seriously, why say NOP when you mean No Operation? I think the combination of macros to fake higher level constructs and more descriptive commands would make people switch. it's too bad NESHLA was abandoned.

 

THANK YOU for showing that bit o code to me :)

Link to comment
Share on other sites

Seriously, why say NOP when you mean No Operation?

 

On early systems you assembled on the target machine itself, directly to ram - which was at a premium. Fitting the assembler, the source and the target binary all into memory at once.

 

NOP is 3 bytes

No Operation is 12 bytes

 

THANK YOU for showing that bit o code to me :)

 

You are welcome.

 

 

Also, you can set aliases for the commands and call them what you want. You can even set aliases for the registers ;)

Edited by CyranoJ
  • Like 2
Link to comment
Share on other sites

sorry CyranoJ, you make it a little very easy for you

you absolutly underestimate the weaknes of nowadays coders... usually noone has asm or lowlevel skills

(not everyone got Atari ST/Falcon coding skills)

and with examples like this you dont help them getting into it... maybe you make them quitting it :( :woozy:

 

you showed some code here...

but this are only call some subroutines, move some numbers/adresses to some registers, declaration of some words lwords etc (you might need it for your prog)

 

without your library and routines, without a good startup, without a fast solide objectlist this does exactly nothing except endless errors

also it is 100% 68k asm

 

please go back to our topic... the idea of a coding workshop specialised to the Jaguar ;-)

 

any experienced coders around that would take a seat for such lessons?

Edited by Otto1980
Link to comment
Share on other sites

sorry CyranoJ, you make it a little very easy for you

you absolutly underestimate the weaknes of nowadays coders... usually noone has asm or lowlevel skills

(not everyone got Atari ST/Falcon coding skills)

and with examples like this you dont help them getting into it... maybe you make them quitting it :( :woozy:

 

I'm sure the internet would be a much richer place with no examples at all. Usually the people who quit at such an early stage are the ones without the conviction to complete a project anyway.

 

you showed some code here...

but this are only call some subroutines, move some numbers/adresses to some registers, declaration of some words lwords etc (you might need it for your prog)

 

without your library and routines, without a good startup, without a fast solide objectlist this does exactly nothing except endless errors

also it is 100% 68k asm

 

It was intended to show how simple some things are, not write an entire program for you to type in. RAPTOR will be available in time. As for 'good startup' and 'objectlist' I've released many examples (The full sourcecode to Beebris and Downfall to name just two) - as have many other people. It's not like anyone needs to write this stuff from scratch, or even understand how it works.

 

It's 100% asm because THATS WHAT THE MACHINE IS DESIGNED TO BE CODED IN, and, as I said above, if you look into it it isn't as hard and scary as people think.

 

please go back to our topic... the idea of a coding workshop specialised to the Jaguar ;-)

 

I thought discussing code snippets and posting some examples was exactly what the topic was. My mistake, sorry. I guess I'll help people who ask me, but I absolutely refuse to help people who won't help themselves.

 

any experienced coders around that would take a seat for such lessons?

 

Well, you have one less in this thread now.

  • Like 1
Link to comment
Share on other sites

The removers already provided since 4 years a complete easy to use C library for making games on jaguar, here you go: http://removers.free...oad.php?lang=en

Now, if you don't have the basic curiosity skills and motivation to dig into this to make it work, that's another problem.

nothing is achieved just by speaking of it, you have to take hours of work to achieve it.

Edited by Orion_
  • Like 4
Link to comment
Share on other sites

Making Jaguar games is something people do a few hours here and there in a week, maybe not even totalling a whole day in a month. Look at Linko, he gets maybe 1 or 2 hours a month to work on his own stuff. You are not going to get these people to give up that time to become online help and assistance.

 

Do what everyone else who currently make Jaguar games does - read, learn, try your best and when you get stuck, ask specific questions in public forums or the irc channels where these crazy kids hang out... that kind of effort people can respect... that kind of help request can be handled "in work hours" :-)

 

Sitting back and demanding TEACH ME ALL INFOZ NAO isn't going to warm anyone to a cause.

  • Like 5
Link to comment
Share on other sites

okay okay..

looks like you all dont want to.. i tried to start something

 

its not sitting back and ask for teaching.. its a idea to bring all the docs from "stonetablets" to multimedia .. this is where you can see pictures in motion and have sound :-o

 

sorry for asking...

take my libs and read pdfs... thats how jagcoders have to start...

i feel like some of you dont want other coders ?????

 

greetings.. have fun coding on

Link to comment
Share on other sites

People wouldn't release their code, wouldn't create libraries and put them out if they didn't want others to join in. Jagware is all about making that happen. But you can't expect people to give up their time to do the things you suggest, it's just not reasonable.

Link to comment
Share on other sites

jajaja.. okay okay...

i want nobodys time.. or command something

just tought "maybe" it would be interesting and helpfull if expirienced coders giving some comments statements help moderation etc on something like this

and by the way ... what is 1 hour participating a conference (at an prev agreed point of time) for the hobby/Jaguar

 

but hard to understand why to doom the idea and avoiding it :_(

100% sure it would be a benefit on the Jags homebrew

Link to comment
Share on other sites

sorry CyranoJ, you make it a little very easy for you

you absolutly underestimate the weaknes of nowadays coders... usually noone has asm or lowlevel skills

(not everyone got Atari ST/Falcon coding skills)

 

 

Pretty much every coder coming out of University courses these days has done assembler work, usually for the ARM instruction set. You can find books on 68k assembler on Amazon for as little as 1 penny if you want a more comprehensive overview of that chip. The Jaguar reference PDF is also freely available.

Edited by averybluemonkey
Link to comment
Share on other sites

take my libs and read pdfs... thats how jagcoders have to start...

This IS the job of every coder in the world, this is actually what a coder school teach you, they will teach you to learn by yourself.

A real coder will always figure something out on his own, by reading docs, and coding and trying, not by someone taking his hand ..

  • Like 2
Link to comment
Share on other sites

I hope I didn't come off as being too negative or unwilling to learn. I'd definitely check out any new tutorials or YouTube videos. It's just going to be a challenge unless it's framed in higher level constructs. When I grew up BASIC was king. My expectations were computer languages would get more flexible and relaxed. Computers would get faster and thus negate the speed argument for assembly and C use. All that came to fruition.

 

CyranoJs code was designed such to make it clear assembly can be functional and understandable. A beginner needs to be rewarded by results.

 

This IS the job of every coder in the world, this is actually what a coder school teach you, they will teach you to learn by yourself.

A real coder will always figure something out on his own, by reading docs, and coding and trying, not by someone taking his hand ..

 

I'd have to disagree with some points. A real coder finishes projects. If the community is good he gets support through the initial steps of understanding the language. This does involve oversimplifying and designing tutorials to reward with results. AFTER that he experiments endlessly by himself to create his art.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...