Jump to content

HOLY CRAP! i'm in over my head!!


buhler
 Share

Recommended Posts

OK, i just edited the setup_6581.asm file as well as the cs_menu_buttons.inc so that i could have buttons for switching between L/R sids.  i downloaded and followed the instructions here:  http://www.midibox.org/dokuwiki/windows_toolchain_quickstart  and got to the end where you type in the command in DOS and i got "'C:\MSYS\1.0\bin' is not recognized as an internal or external command, operable program or batch file."  now what?  i have no idea what i am doing.  when this command works, does it set a path so that you can convert .asm files into .hex files?  also, you do you combine .asm files and .inc files and recompile them?  i've searched the wiki and the forum but i guess i don't know the correct terminology to search for.  thanks!

Link to comment
Share on other sites

OK, i just edited the setup_6581.asm file as well as the cs_menu_buttons.inc so that i could have buttons for switching between L/R sids.  i downloaded and followed the instructions here:  http://www.midibox.org/dokuwiki/windows_toolchain_quickstart  and got to the end where you type in the command in DOS and i got "'C:\MSYS\1.0\bin' is not recognized as an internal or external command, operable program or batch file."  now what?  i have no idea what i am doing.  when this command works, does it set a path so that you can convert .asm files into .hex files?  also, you do you combine .asm files and .inc files and recompile them?  i've searched the wiki and the forum but i guess i don't know the correct terminology to search for.  thanks!

Did you type

SET PATH=C:\MSYS\1.0\bin;C:\MinGW\bin;%programfiles%\gputils\bin;%programfiles%\SDCC\bin;%PATH%

Sounds like you forget the "SET PATH="

Course, if you followed Golden Rule #5 and pasted the logs in here, I'd know for sure ;)

Link to comment
Share on other sites

hehehe... funny story.  i was typing my frantic comment on my MAC while doing the DOS stuff with my PC.  i did type  "SET PATH" etc... but it didn't do anything.  is that normal?  do i leave the "make" out of the end of the string?  is there a tutorial somewhere that i can read to figure out what to do with my modified .asm and .inc files?  i can't find anything about how to recompile etc.. 

Link to comment
Share on other sites

Just follow those instructions EXACTLY and you'll be right :) Best thing you can do is to PASTE the commands into that window.

I'm repeating what the wiki page says, but:

I notice you still haven't pasted logs. Maybe I wast too subtle before. Paste your **** logs! ;D It did stuff, but it doesn't show you what it did. If you got that error you mentioned before, then you didn't type the SET PATH bit. Now you say it doesn't do anything...Make up your mind already!

Make is not part of the string, it's a separate command (see how it's on a new line?). You need to type "make" AFTER you do the "set path......" command - like the page says.

To rebuild/recompile, just type "make" (no quotes) while in the directory with your setup*.asm file - like the page says. You *can* find that information, you just ignored it :P

Rule #1 - Patience. Slow down. Read. Take your time. (Hey, there's Rule #3)

Link to comment
Share on other sites

sorry man.  that last post was more from memory than actual fact.  i can't paste the logs yet.  i'm away for the weekend.  i'll post them sunday if i can't figure it out!  thanks again stryd.

just as a side note.  the thing that is most unclear to me is how i get a .hex file out of a .asm file and a .inc file...  do i insert where those files, .asm and .inc, are  located in my computer in this spot:  cd c:\<your application directory>  and then type the actual file names in between the %'s?  like here:   

                                                  ---------------------^

SET PATH=C:\MSYS\1.0\bin;C:\MinGW\bin;%programfiles%\gputils\bin;%programfiles%\SDCC\bin;’%PATH%’

---------------------------------------------------------^    and ----------------------^   

again, i know nothing about code and programming so this may be blatantly obvious but i just don't know enough to understand.

Link to comment
Share on other sites

No sweat mate. I will be documenting this in the near future so I'm sorry you've beaten me to the punch...Don't worry that it's not going smoothly, it just shows me where my documentation could be more clear :)

OK let's say you are using the SID app. You download the .zip file from the ucapps.de download page. Let's assume you put the .zip file in c:\MIOS. Then, you unzip it to C:\MIOS\midibox_sid_v2_0_rc18. This is <your application directory>  So, you will have a file named C:\MIOS\midibox_sid_v2_0_rc18\makefile.

You go 'Start... Run...' and type CMD, to get a DOS prompt. (you got that part right so far) then like this:

cd C:\MIOS\midibox_sid_v2_0_rc18

SET PATH=C:\MSYS\1.0\bin;C:\MinGW\bin;%programfiles%\gputils\bin;%programfiles%\SDCC\bin;%PATH%

make

Here is what a pasted log looks like:  ;)

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\stryd_one>cd C:\MIOS\midibox_sid_v2_0_rc18

C:\MIOS\midibox_sid_v2_0_rc18>SET PATH=C:\MSYS\1.0\bin;C:\MinGW\bin;%programfiles%\gputils\bin;%programfiles%\SDCC\bin;%PATH%

C:\MIOS\midibox_sid_v2_0_rc18>make
rm -rf *.cod *.lst *.err
rm -rf *.hex
gpasm  -p p18f4685  -I./src -I ./include/asm -I ./modules/j5_io  -I ./modules/aout   setup_6581.asm
gpasm  -p p18f4685  -I./src -I ./include/asm -I ./modules/j5_io  -I ./modules/aout   setup_8580.asm
gpasm  -p p18f4685  -I./src -I ./include/asm -I ./modules/j5_io  -I ./modules/aout   setup_tk.asm
gpasm  -p p18f4685  -I./src -I ./include/asm -I ./modules/j5_io  -I ./modules/aout   setup_mb6582.asm

C:\MIOS\midibox_sid_v2_0_rc18>
It should look just like that :) YOU DON'T HAVE TO DO THIS BIT: This is just to give you extra information and answer your question. If you don't understand this, just do the above, and you'll see it for yourself.

C:\MIOS\midibox_sid_v2_0_rc18>dir make*
 Volume in drive C is Local Disk
 Volume Serial Number is 58FD-7A52

 Directory of C:\MIOS\midibox_sid_v2_0_rc18

04/04/2008  12:16 AM                58 Makefile
04/04/2008  12:16 AM               757 Makefile.orig
               2 File(s)            815 bytes
               0 Dir(s)   4,966,313,984 bytes free

C:\MIOS\midibox_sid_v2_0_rc18>

C:\MIOS\midibox_sid_v2_0_rc18>dir *.hex
 Volume in drive C is Local Disk
 Volume Serial Number is 58FD-7A52

 Directory of C:\MIOS\midibox_sid_v2_0_rc18

11/04/2008  04:50 PM           196,021 setup_6581.hex
11/04/2008  04:50 PM           196,000 setup_8580.hex
11/04/2008  04:50 PM           197,080 setup_mb6582.hex
11/04/2008  04:50 PM           198,356 setup_tk.hex
               4 File(s)        787,457 bytes
               0 Dir(s)   4,966,322,176 bytes free

C:\MIOS\midibox_sid_v2_0_rc18>

As you can see, the "make" command is the one that creates the hex files. "makefile" tells it how to do this, so that you don't have to worry about it - all you have to do, is run "make" in the same directory as the "makefile", just like I did above.

HTH!

Link to comment
Share on other sites

stryd.  you are AWESOME!!  i wish i was home to try this out!  sorry for being such a newb but if this is for the good of the community then i don't feel so bad! ;D

unfortunately, i still have 2 small questions.  i want to be sure.  1.  after you run 'make,' will the .hex file be sent to the same folder as the .asm file or do i need to type 'save' or something to keep the .hex file that was just created?  2.  in creating a SIDL and SIDR button, i have to modify the setup_*.asm file as well as the CS_MENU_BUTTONS.inc, as you already know.  so, once they've been modified, which i already did, do i load them separately with the C: command and create .hex files out of both of them and then upload them separately onto the core of my MbSID?  thanks again stryd!!!  ;D

Link to comment
Share on other sites

Yep, you are my first draft of my next wiki document ;) Just be aware that you might not always get this much attention hehehe ... but you'll learn a lot from the first time you do all this, and next time you'll breeze through it.

1) After you run 'make', the .hex file(s) it creates will be in the same folder that you are working in, with the makefile, and the setup*.asm files. In the example above, you can see four .asm files are built in the first block of screen logs, and in the second block, you can see the resulting four hex files - the names are the same, setup*.asm and setup*.hex. Those files are saved there. If you run 'make' again, it will overwrite them with new hex files, otherwise they just stay there.

(unneeded trivia: If you run "make cleanall" it tidies up all the files. ahhh, minty fresh.)

2) just run 'make', and one of those four hex files it creates will be the one built from your modified setup*.asm file. (as above, it will be the one with the corresponding name, and the *.hex extension). That's the one that you will upload to your Core module.

You'll be glad to know that the procedure for uploading is all clicky buttons and windows and not so much command line adventure :) But we'll cover that later.

(unneeded trivia: You *can* make a copy of the setup*.asm file, and give it a different name, and edit that one... That also requires editing the makefiles, and is not too hard, but I'll keep it to the basics for now and you can try that again later if you want)

The *.inc files do not need to be built to hex files separately. The setup*.asm file includes all of the other files in the project, like CS_MENU_BUTTONS.inc. They all get tied together into one big lump of code when they get built, but you only have to specify that one file that includes the others, in this case setup*.asm.

Link to comment
Share on other sites

alright stryd!! i did it! ;D  it worked perfectly!!  i had a little trouble with figuring out which pins on shift register #1 i was using on the DOUT module but i got it!!  everything works now!! woo hoo!!  i'm thinking of adding bankstick switching buttons but i need to get my front panel before i know if i have enough room.  thanks SOOO much stryd!!  YOU ARE AWESOME!!  once i get my enclosure i will post pics so you (and everyone else) can see it.  thanks again!!

EDIT:  after playing around with my MbSID, i noticed that even though the buttons/LED's/LCD screen show that both the right and left SID's are either on or off, i get no change from the actual SID chips.  is this due to the fact that i'm only using preset patches at the moment?  or am i forgetting something in the code?  when i turn one SID off, it still plays.  something isn't totally right unless this is a normal occurrence when using presets...  ???

Link to comment
Share on other sites

Congrats, buhler!

I think we should start an "adopt a newbie"-Program - I wanna be adopted by s1 ;D

i'm more of a newbie than you nILS so you can adopt me!! ;D

i still want to know if my SIDL/SIDR issue has a cure...  thanks!!

Link to comment
Share on other sites

EDIT:  after playing around with my MbSID, i noticed that even though the buttons/LED's/LCD screen show that both the right and left SID's are either on or off, i get no change from the actual SID chips.  is this due to the fact that i'm only using preset patches at the moment?  or am i forgetting something in the code?  when i turn one SID off, it still plays.  something isn't totally right unless this is a normal occurrence when using presets...  ???

That sounds like you are expecting these buttons to actually switch on/off the output of the respective SID. That is not the case. The meaning of this selection is that while programming/altering a patch, you can determine if changes should affect only one or both SIDs. That way you can program patches where the two SIDs do different things, i.e. are really stereo. To stop one SID from playing you'd need to first select e.g. SIDL, go to the OSC menu and disable all three oscillators. You'll see that only the left SID is affected by this change :)

S

Link to comment
Share on other sites

Awww... thanks for the explanation!!  i see.  i just had these two extra buttons and only one core and i figured that this would be a good way to utilize them.. :)  anyhow, that makes a lot more sense! ;D  thanks seppoman!!  now my MbSID is pretty much done!!  woo hoo!!!

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.

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...
 Share

×
×
  • Create New...