Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Keoni29

Pages: 1 2 [3] 4 5 ... 9
31
Other / End of Nintendo WFC. Private servers take over!
« on: May 15, 2014, 06:12:28 pm »
Some really cool guys managed to set up servers for nintendo wfc games, so we can still play our online games even after nintendo shuts down the servers!
You need to register before it's too late! (You got until monday I think)
http://wiimmfi.profeibe.at/

32
Other / 185TB magnetic tape
« on: May 05, 2014, 10:43:49 am »
Amazing new magnetic tapes from sony.
Quote
Tokyo, Japan, April 30, 2014 - Sony Corporation ("Sony") today announced that by independently developing a soft magnetic underlayer with a smooth interface using sputter deposition, it has succeeded in creating a nano-grained magnetic layer with fine magnetic particles and uniform crystalline orientation (...) makes it possible to record more than 185 TB (terabytes) of data per data cartridge.

Source: http://www.sony.net/SonyInfo/News/Press/201404/14-044E/index.html

33
Web Programming and Design / MC server : Cookiecraft
« on: April 26, 2014, 06:13:02 pm »

I have my own server now, so I decided to put minecraft on it.
Specs:
Laptop
Dual core cpu @2,2GHz
4GB ram
320GB harddisk internal

Server info page: http://cookiecraft.eeems.me
Minecraft server ip: cookiecraft.eeems.me

The website is also hosted on my server.

34
Other / Synology mediaserver won't boot
« on: April 21, 2014, 06:51:46 pm »
We have a synology media server at home. I wanted to change the root's default shell to bash. I modified the /etc/passwd file and changed the shell from ash to bash. After that I could not log in as root anymore, so I decided to fix it by taking out the harddisk and hooking it up to my laptop. I changed the shell back to ash and removed the drive, but forgot to unmount. I put back the drive in the mediaserver and it won't boot anymore.


I took the drive back out, hooked it back up to my laptop and this time I properly unmounted it. Then I put it back in the media server and it still would not boot.

I suspect there is some kind of weird proprietary raid setup dealio going on here. fsck could not fix the problem. It just gave me the error that it could not run fsck.linux_raid_member

Please help me. This is my dad's machine, not mine, and if I screw this up he will never let me use his server again.

35
Art / NES graphics without restrictions
« on: April 18, 2014, 08:40:45 am »
I read this article today about nes graphics without palette restrictions. I thought it was cool, so I made a mockup of what metroid could have looked like without 3+1 color palette restrictions. It still uses the nes colors though.



36
Axe / Running axe software on CSE (no gfx)
« on: April 16, 2014, 08:44:44 am »
Is it possible to run software created with axe on the cse by just changing some stuff in the header of a program?

As a test I created the same program on my CSE and my regular 84+ using asmComp. Then I compared them using a hex editor.
0000 0000: 2A 2A 54 49 38 33 46 2A  1A 0A 00 50 72 6F 74 50  **TI83F* ...ProtP
0000 0010: 72 6F 67 72 61 6D 20 66  69 6C 65 20 30 34 2F 31  rogram f ile 04/1
0000 0020: 36 2F 31 34 2C 20 31 34  3A 33 31 00 00 00 00 00  6/14, 14 :31.....
0000 0030: 00 00 00 00 00 1A 00 0D  00 09 00 06 41 53 4D 54  ........ ....ASMT
0000 0040: 00 00 00 00 0A 00 09 00  07 00 EF 69 3E 03 D3 00  ........ ..´i>.Ë.
0000 0050: C9 A0 04                                          ╔á.
0000 0060:
0000 0070:
0000 0080:


Regular 84+
0000 0000: 2A 2A 54 49 38 33 46 2A  1A 0A 00 50 72 6F 74 50  **TI83F* ...ProtP
0000 0010: 72 6F 67 72 61 6D 20 66  69 6C 65 20 30 34 2F 31  rogram f ile 04/1
0000 0020: 36 2F 31 34 2C 20 31 34  3A 33 33 00 00 00 00 00  6/14, 14 :33.....
0000 0030: 00 00 00 00 00 1A 00 0D  00 09 00 06 41 53 4D 54  ........ ....ASMT
0000 0040: 00 00 00 00 01 00 09 00  07 00 BB 6D 3E 03 D3 00  ........ ..╗m>.Ë.
0000 0050: C9 67 04                                          ╔g.
0000 0060:
0000 0070:
0000 0080:


Mismatches are marked red. The machine code is marked green.


The first mismatch is because of the difference in time ofc. The second, third and fourth ones are more interesting. Those might be a version number/device identifier. The last mismatch is ofc the checksum of the file.

Let me hear what your thoughts are on this.

37
Art / Iron beads pixelart : my new hobby
« on: April 15, 2014, 06:08:35 pm »
Need I say more?

38
Humour and Jokes / :w00t: :w00t: :w00t: :w00t: :w00t: :w00t:
« on: April 10, 2014, 03:50:49 am »
Please get rid of smiley's in the post notification bot or at least add the option to disable them.

40
Music Showcase / MIDI songs
« on: March 09, 2014, 09:26:06 am »
Everything MIDI. Only post original work. Please only attach .mid files and not .mp3.

41
Other / Custom filesystem for embedded systems
« on: March 08, 2014, 06:04:21 am »
I wanted to design my own filesystem for the eZ8 computer. I wanted to make it very simple to implement. It has these features:
-Block size:512 bytes (4 bytes per block reserved for filesystem)
-16 character filenames
-Wear leveling
-File fragmenting
-Variable-size file headers

-Scratching files by writing just two bytes
-No need for file indexing
-No need to alter the file header when appending new data to a file
-Flags for things like: executable, system/user-file
-Extended addressing for accessing external media like flash roms

-No directories yet, but can be implemented later on.

File structure:
Code: [Select]
File header:
offset | size | function
 +0       2      file identifier (0x0002 for start of file)
 +2       2      size of header (not including first 4 bytes)
 +4       16     filename
 +20      2      flags: executable,system/user-file
 +22      2      address of next block
 +24      2      size of block
(+26      2      extended address)
 -- Stream of Data --


Block header:
offset | size | function
 +0       2      address to next block
 +2       2      size of block (not including first 4 bytes)
-- Stream of Data --
File identifiers:
Code: [Select]


0x0000   Scratched file (file can be erased if no free blocks are available)
0x0002   Start of file
0xFFFE   Invalid. Used to identify the last block in a file.
0xFFFF   Free block


What do you think about this filesystem? Any suggestions/foreseen problems?

42
Other / C64 Programming Adventures
« on: February 06, 2014, 06:23:27 pm »
I decided to dig up the old commodore64 and started programming it.
Projects so far:

Name: HEXEDIT
Lang: CBM BASIC
Description: Debug tool
Features:
-Edit bytes
-Memory monitor
-Save/load part of memory to/from file (60% done)
-Execute from memory address + dump cpu registers after execution
Download: (no link yet)


Name: NESC
Lang: 6502 Assembler  (+BASIC for doing something with the input)
Description: Reads buttonpresses from an NES controller hooked up to the user I/O port.
Features:
-Stores the incoming byte in $0002
-Byte can be read by a basic program like this:
Code: [Select]
10 SYS(32768)
20 PRINT PEEK(2)
30 GOTO 10
-A passive pin adapter is required in order to hook up an nes controller to the userport.
(Can be made using:userport connector,nes controller connector and a bunch of wire)
Picture of the c64's user I/O port:


Download: (no link yet)

44
Computer Programming / [PC]Writing to USB serial port
« on: January 22, 2014, 01:46:56 pm »
The software that goes with my atari2600 cartreader only works with real com ports, but I want it to be able to work with usb to ttl converters too. Other software can use this usb to ttl converter with no problem. How do I send data to a virtual com port?

This is my source code:
Code: [Select]
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <tchar.h>
#include <string.h>
#include <conio.h>

//Define all parameters
#define PORT_ argv[1]
#define MODE_ argv[2]
#define FILE_ argv[3]
#define AUTORUN_ argv[4]

typedef unsigned char BYTE;

//GLOBAL VARS:
  FILE *fp;

//Delay function
void delay(unsigned int time)
{
  long d;
  while(time--)
    for ( d = 0 ; d <= 400000 ; d++ )
      {}
}

int sw(int addr,HANDLE comHandle){
  BYTE config[] = {0,0,addr/256,addr%256};
  DWORD btsIO;
  static short buff[1] = {0};
  
  WriteFile(comHandle,config,4,&btsIO,NULL);
  ReadFile(comHandle,buff,2,&btsIO,NULL); //Wait for ACK
  return 0;
}

int tranceive(int mode, int start, int end,HANDLE comHandle){
  BYTE config[4];
  DWORD btsIO;
  static short buff[65535] = {0};
  int address = start;
  int size = end - start + 1;
  int bytesLeft = size;
  if (bytesLeft < 0) {return 1;}
  
  printf("\n");
  do{
    config[0] = mode;
    config[2] = address/256;
    config[3] = address%256;
    if(bytesLeft - 256 >= 0){
      config[1] = 255;
      bytesLeft -= 256;
    }else{
      config[1] = bytesLeft - 1;
      bytesLeft = 0;
      //printf("Oops there is an error!");
    }
    printf("%d bytes ready...\r",size - bytesLeft);
  
    WriteFile(comHandle,config,4,&btsIO,NULL);
    //while(btsIO!=1)
      ReadFile(comHandle/*hDevice*/,buff,1,&btsIO,NULL); //Wait for ACK
    switch(mode)
    {
      case 0:{
        ReadFile(comHandle,buff,config[1]+1,&btsIO,NULL);
        if(btsIO!=config[1]+1){
            printf("Error:Read %d bytes over serial instead of %d.\n", btsIO,config[1]+1);
        }
        
        fwrite(buff,1,config[1]+1,fp);
        break;
      }
      case 1:{
          //getch();
          fread(buff,1,config[1]+1,fp);
          WriteFile(comHandle,buff,config[1]+1,&btsIO,NULL);
          //while(btsIO!=1)
            ReadFile(comHandle,buff,1,&btsIO,NULL); //Wait for ACK
        break;
      }
    }
    address += 256;
  }  while(bytesLeft);
  printf("\n");
  return 0;
}

//On error:Print usage of program.
void usage(char* name)
{
  printf("Usage: romclient2 filename port r/w startaddr size\n");
}

////////////////////////////////////////////////////////////////////////////////
/////MAIN PROGRAM      /////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
int main(int argc, char *argv[])
{
  if (argc < 4)
  {
    usage(argv[0]);
    return 0;
  }
  
  int address = 0;
  int dataDirection = atoi(MODE_);
  int switchMethod = 0;
  int autorun = 0;
  int fileSize;
  
  
  HANDLE hDevice =
  CreateFile(PORT_,
             GENERIC_READ | GENERIC_WRITE,
             FILE_SHARE_READ | FILE_SHARE_WRITE,
             NULL,
             OPEN_EXISTING,
             0,
             0);
  DCB lpTest;
  
  // Setup Serial COM port
  GetCommState(hDevice,&lpTest);
  lpTest.BaudRate = CBR_115200;
  lpTest.ByteSize = 8;
  lpTest.Parity = NOPARITY;
  lpTest.StopBits = ONESTOPBIT;
  lpTest.fDtrControl = DTR_CONTROL_ENABLE;

  // instance an object of COMMTIMEOUTS.
  COMMTIMEOUTS comTimeOut;                  
  // Specify time-out between charactor for receiving.
  comTimeOut.ReadIntervalTimeout = 80;
  // Specify value that is multiplied
  // by the requested number of bytes to be read.
  comTimeOut.ReadTotalTimeoutMultiplier = 30;
  // Specify value is added to the product of the
  // ReadTotalTimeoutMultiplier member
  comTimeOut.ReadTotalTimeoutConstant = 20;
  // Specify value that is multiplied
  // by the requested number of bytes to be sent.
  comTimeOut.WriteTotalTimeoutMultiplier = 3;
  // Specify value is added to the product of the
  // WriteTotalTimeoutMultiplier member
  comTimeOut.WriteTotalTimeoutConstant = 2;
  // set the time-out parameter into device control.
  SetCommTimeouts(hDevice,&comTimeOut);
  SetCommState(hDevice,&lpTest);
  
  lpTest.fDtrControl = DTR_CONTROL_DISABLE;
  Sleep(100);
  SetCommState(hDevice,&lpTest);
  Sleep(100);
  
  if (argc >=5)
   autorun = atoi(AUTORUN_);
  
  system("cls");
  printf(
          "~~~~~~RomClient V2~~~~~~~~\n"
          "    by Koen van Vliet     \n"
  
  );
  
  switch(MODE_[0]){
    case '1':
    case 'w':
    case 'W':{
        printf("MODE 1: WRITE to cartridge\n");
        dataDirection = 1;
        break;
    }
    default:
    case '0':
    case 'r':
    case 'R':{
        printf("MODE 0: READ from cartridge\n");
        dataDirection = 0;
        break;  
    }
  }
  
  //Get source/destination file handle + size
  fp =  fopen(FILE_,"r");
  if (fclose(fp) != -1 && dataDirection == 0){
    printf("Target file exists. Overwrite? Y/n\n");  
    switch (getch())
    {
      case 'y':
      case 'Y':{
        printf("Overwriting target file!\n");
        break;
      }
      case 'n':
      case 'N':{
        printf("Quitting Program\n");
        return 0;
        break;
      }
      default: {
        printf("That is not a valid option.\n Quitting Program\n");
        return 0;
        break;
      }
    }
  };
  
  if (hDevice == INVALID_HANDLE_VALUE)
  {
    printf("--Error: Could not open port %s.--\n", PORT_);
    switch (GetLastError())
    {
      case ERROR_ACCESS_DENIED: {
        printf("Port %s is used by another application.\n", PORT_);
        break;
      }
      case ERROR_FILE_NOT_FOUND:{
        printf("Port %s does not exist\n", PORT_);
        break;
        }
    }
    printf("----------------------------------\n");
    return 0;
  }
  else
  printf("Created handle %d for port %s.\n", hDevice, PORT_);  
  printf("Port %s opened.\n", PORT_);
  
  if (dataDirection == 0){
    remove(FILE_);
  }
    
  if (dataDirection == 0){
    fp = fopen(FILE_, "ab");
  }
  else
  {
    fp = fopen(FILE_, "rb");
  }
  
  fseek(fp, 0, SEEK_END);
  fileSize = ftell(fp);
  printf("File Size = %d\n",fileSize);
  fseek(fp, 0, SEEK_SET);
  
  printf("*Bankswitching Method:");
  
  switchMethod = 8;
  
  switch(switchMethod){
    case 8:{
      printf("F8");
      sw(0xFF8,hDevice);
      tranceive(dataDirection,0x000,0xFF9,hDevice);
      sw(0xFF8,hDevice);
      tranceive(dataDirection,0xFFA,0xFFF,hDevice);
      sw(0xFF9,hDevice);
      if (fileSize == 4096){
        fseek(fp,0,SEEK_SET);  //Jump back the the beginning of the file.
      }
      tranceive(dataDirection,0x000,0xFFF,hDevice);
      break;
    }
    default:{
      printf("-");
      tranceive(dataDirection,0x0000,0x0FFF,hDevice);
    }
  }

  if (fclose(fp))
  {
    printf("Error:Closed file with errors.\n");
  }
  
  CloseHandle(hDevice);
  
  return 0;
}


45
Other / SID synthesizer with MIDI
« on: January 11, 2014, 08:20:17 am »
I am building a SID synthesizer with a MOS 6581 and an ATmega328 (microcontroller subject to change)



Test setup with MIDI! I want to add some knobs that allow me to change patches and stuff.
The test setup consists of a SID chip, a microcontroller and a 1MHz oscillator circuit.

Pages: 1 2 [3] 4 5 ... 9